- Details
- Written by Super User
- Category: Собственные
- Hits: 760
Заметка на память.
Просмотреть текущую очередь:
host03 mail # mailq; postqueue -p
-Queue ID- --Size-- ----Arrival Time---- -Sender/Recipient-------
8BD0613F6A* 2926 Wed Sep 28 11:11:18 This email address is being protected from spambots. You need JavaScript enabled to view it.
This email address is being protected from spambots. You need JavaScript enabled to view it.
-- 2 Kbytes in 1 Request.
-Queue ID- --Size-- ----Arrival Time---- -Sender/Recipient-------
8BD0613F6A* 2926 Wed Sep 28 11:11:18 This email address is being protected from spambots. You need JavaScript enabled to view it.
This email address is being protected from spambots. You need JavaScript enabled to view it.
-- 2 Kbytes in 1 Request.
Для того что бы форсировать отправку сообщений, висящих в очереди можно выполнить:# postfix flush
или
# postqueue -f
Приведенная команда отправляет сообщения из очереди на доставку, но кроме этого можно инициировать постановку сообщений в очередь доставки заново:# postsuper -r ALL
Если нужно очистить очередь сообщений достаточно выполнить:# postsuper -d ALL
Кроме того, можно удалить все сообщения из определенной очереди, например:# postsuper -d [hold|incoming|active|deferred]
А так же удалить определенное сообщение из очереди:# postuser -d 8BD0613F6A
Отсюда вытекает возможность удалить из очереди сообщения от определенного отправителя:# mailq | awk ' /^[0-9A-F][0-9A-F]*.*This email address is being protected from spambots. You need JavaScript enabled to view it.$/ {print $1}'|tr -d '*'| xargs -rn1 postsuper -d
По аналогии по получателю тоже можно очистить:# mailq | grep -B 2 " *This email address is being protected from spambots. You need JavaScript enabled to view it.$" | awk ' /^[0-9A-F][0-9A-F].*$/ {print $1}' | tr -d '*'| xargs -rn1 postsuper -d
- Details
- Written by Super User
- Category: Собственные
- Hits: 4562
C:\OpenSSL\bin>openssl.exe s_client -tlsextdebug -connect mail.akonchenkov.com:443
CONNECTED(000001AC)
TLS server extension "server name" (id=0), len=0
TLS server extension "renegotiation info" (id=65281), len=1
0000 - 00 .
TLS server extension "EC point formats" (id=11), len=4
0000 - 03 00 01 02 ....
TLS server extension "session ticket" (id=35), len=0
depth=2 C = US, O = Internet Security Research Group, CN = ISRG Root X1
verify error:num=20:unable to get local issuer certificate
verify return:1
depth=1 C = US, O = Let's Encrypt, CN = R3
verify return:1
depth=0 CN = *.akonchenkov.com
verify return:1
---
Certificate chain
0 s:CN = *.akonchenkov.com
i:C = US, O = Let's Encrypt, CN = R3
a:PKEY: rsaEncryption, 2048 (bit); sigalg: RSA-SHA256
v:NotBefore: Aug 28 03:51:02 2022 GMT; NotAfter: Nov 26 03:51:01 2022 GMT
1 s:C = US, O = Let's Encrypt, CN = R3
i:C = US, O = Internet Security Research Group, CN = ISRG Root X1
a:PKEY: rsaEncryption, 2048 (bit); sigalg: RSA-SHA256
v:NotBefore: Sep 4 00:00:00 2020 GMT; NotAfter: Sep 15 16:00:00 2025 GMT
2 s:C = US, O = Internet Security Research Group, CN = ISRG Root X1
i:O = Digital Signature Trust Co., CN = DST Root CA X3
a:PKEY: rsaEncryption, 4096 (bit); sigalg: RSA-SHA256
v:NotBefore: Jan 20 19:14:03 2021 GMT; NotAfter: Sep 30 18:14:03 2024 GMT
---
Server certificate
-----BEGIN CERTIFICATE-----
MIIFOTCCBCGgAwIBAgISA5qIXsRyBzTSA2Oqh4lMolsYMA0GCSqGSIb3DQEBCwUA
MDIxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MQswCQYDVQQD
EwJSMzAeFw0yMjA4MjgwMzUxMDJaFw0yMjExMjYwMzUxMDFaMBwxGjAYBgNVBAMM
ESouYWtvbmNoZW5rb3YuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEA03FmMYSGUhiNXvc7ZNlvxXgclk3VnGzNUtSnAp3r27I5CiWCFcHzpQ19fsNT
SYEBhQ1dsojWpQqua3MqR4eLVVG9Ctp1dgXXukpW0XP4ctCA5gjYgHKYpdmZuTG8
z7ZAjk/vDrCIuABCxTZ0aDH7c/W1HTq7/YQPMgaLJ2BMp3GSO+lMj516aWswhcqu
pvjdPSy+kN1Gl/0Tf7DRTEhV7iWx42SxkAuSzWUs6AcgdLkFctfBENb37jb1JsxA
3GEir/JeWPdjjbpdCJUuvDy1/VyXk3hObrxwP0e/q/l4Hb6jRYdvXqGykpiEU9jH
MTLSsVplcgqZeiXtqQGyKqTOXwIDAQABo4ICXTCCAlkwDgYDVR0PAQH/BAQDAgWg
MB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAMBgNVHRMBAf8EAjAAMB0G
A1UdDgQWBBQ1ZMa+2KjgK6slEwCZCbXcB65hRTAfBgNVHSMEGDAWgBQULrMXt1hW
y65QCUDmH6+dixTCxjBVBggrBgEFBQcBAQRJMEcwIQYIKwYBBQUHMAGGFWh0dHA6
Ly9yMy5vLmxlbmNyLm9yZzAiBggrBgEFBQcwAoYWaHR0cDovL3IzLmkubGVuY3Iu
b3JnLzAtBgNVHREEJjAkghEqLmFrb25jaGVua292LmNvbYIPYWtvbmNoZW5rb3Yu
Y29tMEwGA1UdIARFMEMwCAYGZ4EMAQIBMDcGCysGAQQBgt8TAQEBMCgwJgYIKwYB
BQUHAgEWGmh0dHA6Ly9jcHMubGV0c2VuY3J5cHQub3JnMIIBBAYKKwYBBAHWeQIE
AgSB9QSB8gDwAHYA36Veq2iCTx9sre64X04+WurNohKkal6OOxLAIERcKnMAAAGC
4sn2wgAABAMARzBFAiEA8nXxjSKpLFuBWad+wul+whIkk0Wi5x/RG71mVM6DHU4C
IGZyOdW0h54lx7n8iJLEfNcryTJFQdjGS6MyVmz+p2NdAHYARqVV63X6kSAwtaKJ
afTzfREsQXS+/Um4havy/HD+bUcAAAGC4sn26gAABAMARzBFAiEA4iqK1GawxQIl
C0+7r4aU+zYjD3UnZTg/Faqdsz0MAm8CIFZHz8jUUpFEPoS27e8EiZoRgINdjQCA
FWoa56NCwkveMA0GCSqGSIb3DQEBCwUAA4IBAQAbQGqYPWTsdm6DSx5LDx/NQ6Jh
CTOCsLA/rZmq9YDGsO1LcZPI3/ZYagVxyAdZiVthsDIC4dOxmJS+lXNzChdxnFFO
22+1q9DZKk2tS2evAZFWTZ7LGrbuLXHU9IBuPZVcZFFjDkAOvMCMJd5wpEvwLZz7
rQDw4es4t4XgsOaSZfjaIrrSFQtZf2Kz60vblav7okGWJgyb/Od9E5kMLNx8Eg2O
A9irDVhnQnbzxh7jKxMv0waWuuOEpMgtvoTkGnTxZ/lbz3AubmEncmxV7NG7OZLu
qeFiuBUxlLdykKFpaJWsrDbHE9XSMKnN5xoxcbYn0501T7WFSLv5baTngPva
-----END CERTIFICATE-----
subject=CN = *.akonchenkov.com
issuer=C = US, O = Let's Encrypt, CN = R3
---
No client certificate CA names sent
Peer signing digest: SHA512
Peer signature type: RSA
Server Temp Key: ECDH, prime256v1, 256 bits
---
SSL handshake has read 4739 bytes and written 452 bytes
Verification error: unable to get local issuer certificate
---
New, TLSv1.2, Cipher is ECDHE-RSA-AES256-GCM-SHA384
Server public key is 2048 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:
Protocol : TLSv1.2
Cipher : ECDHE-RSA-AES256-GCM-SHA384
Session-ID: A3E4732B063DEC4DC166B3A7FDD562BA88564BFD23351B4BBD6523D8FBD4D049
Session-ID-ctx:
Master-Key: 3B7CDD6D81D8AFC603105C71F7D91C9DFAB94FEA969FE7419494A3178214F44E895038B8922B89C8418A0A864B392DEF
PSK identity: None
PSK identity hint: None
SRP username: None
TLS session ticket lifetime hint: 7200 (seconds)
TLS session ticket:
0000 - c4 70 78 03 b2 9d 09 4f-66 37 fd be b5 34 49 09 .px....Of7...4I.
0010 - f8 29 ca 12 f0 7e e1 4a-72 64 07 f7 e4 a4 1b 59 .)...~.Jrd.....Y
0020 - 72 1b 8c ac 70 67 62 17-57 35 4c a0 76 6f 9f 82 r...pgb.W5L.vo..
0030 - 00 9c c7 a7 27 91 c6 de-8a 85 a6 10 49 80 43 0d ....'.......I.C.
0040 - 84 e9 4f 81 90 fe 1b dd-10 c7 f6 1b 22 c1 5f 20 ..O........."._
0050 - 2e 65 fd cd b0 ca 06 ee-b4 af 51 f0 f6 5a 17 f1 .e........Q..Z..
0060 - 87 8f 1b 8e d6 c4 60 9f-22 69 6a a6 6f ad f5 4d ......`."ij.o..M
0070 - aa 58 7e 4d 9a 2c 2e ea-d7 f9 12 a1 b0 55 d2 98 .X~M.,.......U..
0080 - 7b 9d 2a d7 7a 9b ed 4b-de 4f f2 45 77 a1 2a 6a {.*.z..K.O.Ew.*j
0090 - 2d 01 e5 27 96 77 5c f5-25 90 70 e5 a9 ac 50 f9 -..'.w\.%.p...P.
00a0 - e3 25 1b 18 88 7d 10 9c-a5 e8 28 c4 bd 88 1d 12 .%...}....(.....
00b0 - cd a0 d3 6c 3b b7 0b 9d-f5 45 b4 c0 6f ad 2a 76 ...l;....E..o.*v
00c0 - 36 8a 10 05 6a be 24 9d-09 1f de b3 ad 12 d1 13 6...j.$.........
Start Time: 1664277069
Timeout : 7200 (sec)
Verify return code: 20 (unable to get local issuer certificate)
Extended master secret: no
---
HEAD / HTTP/1.2
Host: mail.akonchenkov.com
User-Agent: fucking best browser ever
HTTP/1.1 200 OK
Date: Tue, 27 Sep 2022 11:11:19 GMT
Server: Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips SVN/1.7.14 PHP/7.3.33
X-Frame-Options: SAMEORIGIN
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
X-Robots-Tag: none
X-Download-Options: noopen
X-Permitted-Cross-Domain-Policies: none
Public-Key-Pins: pin-sha256="uEcUTqwGAIgz3YrjJ0fmG84MRaGeXpgAag5bK4R4xkM="; pin-sha256="YLh1dUR9y6Kja30RrAn7JKnbQG/uEtLMkBgFF2Fuihg="; pin-sha256="Vjs8r4z+80wjNcr1YKepWQboSIRi63WsWXhIMN+eWys="; pin-sha256="wyhGG0QW8G6by1aRs+oxHEzIWJ4jVpf4srCe6dndrME="; max-age=2592000; includeSubDomains
Strict-Transport-Security: max-age=15768000;includeSubdomains;preload
Referrer-Policy: sameorigin
Content-Security-Policy: referrer origin; frame-ancestors https: ;style-src https: 'unsafe-inline'; child-src 'self' https:; img-src 'self'; connect-src 'self'; font-src 'self'; form-action 'self'; upgrade-insecure-requests
X-Powered-By: PHP/7.3.33
Set-Cookie: roundcube_sessid=pqpttrr66c1hp12qv2jhv8vthd; path=/; secure; HttpOnly
Expires: Tue, 27 Sep 2022 11:11:22 GMT
Cache-Control: private, no-cache, no-store, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Last-Modified: Tue, 27 Sep 2022 11:11:22 GMT
X-Frame-Options: sameorigin
Content-Language: en
Content-Type: text/html; charset=UTF-8
closed
C:\OpenSSL\bin>openssl.exe s_client -showcerts -connect akonchenkov.com:143 -starttls imap
C:\OpenSSL\bin>openssl.exe s_client -showcerts -connect akonchenkov.com:143 -starttls imap
C:\OpenSSL\bin>
- Details
- Written by Super User
- Category: Собственные
- Hits: 5695
Для увеличения размера партиции сначала нужно добавить PV-диск в VG (виртуальную группу) либо увеличить увеличить размер существующих.
# pvs
PV VG Fmt Attr PSize PFree PV Tags
/dev/sda2 cl lvm2 a-- 3.00g 0
/dev/sdb vg01 lvm2 a-- 80.00g 0
# pvresize /dev/sdb
Physical volume "/dev/sdb" changed
1 physical volume(s) resized / 0 physical volume(s) not resized
Убедимся, что в виртуальной дисковой группе есть неиспользуемое пространство. Если оно есть отдадим его виртуальному диску и сразу обновим низлежащую файловую систему.
# vgs
VG #PV #LV #SN Attr VSize VFree
cl 1 2 0 wz--n- 3.00g 0
vg01 1 1 0 wz--n- 120.00g 40.00g
# lvextend -r -l +100%FREE /dev/mapper/vg01-vol00
Size of logical volume vg01/vol00 changed from 80.00 GiB (20479 extents) to 120.00 GiB (30719 extents).
Logical volume vg01/vol00 successfully resized.
meta-data=/dev/mapper/vg01-vol00 isize=512 agcount=6, agsize=3931904 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0 spinodes=0
data = bsize=4096 blocks=20970496, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal bsize=4096 blocks=7679, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 20970496 to 31456256
- Details
- Written by Super User
- Category: Собственные
- Hits: 3050
Иногда возникает необходимость переподключить диск с одной машины на другую. При чем в режиме online. В моем случае это единственный логический том LVM в виртуальной группе. Чтобы не вспоминать каждый раз последовательность команд написал пару скриптов. Первый - lvumount.sh
#!/bin/bash
if [[ $# > 1 ]]; then
echo "Usage $0 or $0 <lvname>"
fi;
if [[ $# == 1 ]]; then
LVNAME=$1;
else
lsblk
read -p 'Enter volume name: ' LVNAME
fi;
VGNAME=$(lvs | grep "$LVNAME" | awk '{print $2}')
if [[ ! `lvs | grep $VGNAME | wc -l` == 1 ]]; then
echo "Volume group $VGNAME contains more then one logical volume."
exit
fi;
DISKS=$(pvs | grep $VGNAME | awk '{print $1}' | sed -r "s/(\/dev\/[sh]d[a-z])[0-9]+/\1/gi")
echo "Unmounting $LVNAME logical volume."
mount | grep $LVNAME | awk '{print $3}' | xargs umount
mount | grep $VGNAME && {
echo "Deactivating $VGNAME volumegroup."
/sbin/vgchange -an /dev/$VGNAME
/usr/bin/sync;
}
for DISK in $DISKS
do
if [[ $(test -b $DISK) -eq true ]]; then
echo "Power off disk $DISK."
echo 1 > /sys/block$DISK/device/delete
fi;
done;
Скрипт по имени логического тома определяет имя виртуальной группы и если он там один, то размонтируется файловая система, деактивируется виртуальная группа, сбрасываются все закешированные блоки данных на диск и тушатся все диски, которые используются этой виртуальной группой. После выполнения скрипта диски готовы к физическому извлечению из сервера.
Задача второго скрипта, после физического подключения диска, запустить процедуру поиска новых устройств.
#!/bin/bash
for HOST in $(ls -l /sys/class/scsi_host | awk '{print $9}')
do
echo "- - -" > /sys/class/scsi_host/$HOST/scan
done;
Дальше остается только активировать виртуальную группу и смонтировать логический том:
vgchange -ay <VGNAME>
mount <MOUNTPOINT>
- Details
- Written by Super User
- Category: Собственные
- Hits: 13283
NTP - это сетевой протокол для синхронизации внутренних часов компьютера с использованием сетей с переменной латентностью.
В CentOS, как в одном из дистрибутивов Linux, существует два понятия времени - аппаратное (время на часах материнской платы компьютера) и системное (время в самой операционной системе с учетом часового пояса). Аппаратное время можно узнать/обновить командой hwclock, системное - командой date. В файле /etc/adjtime хранится величина отклонения аппаратных часов и какое время они показывают, локальное или UTC.
[root@centos ~]# cat /etc
0.000000 1484111292 0.000000 1484111292 UTC
[root@centos ~]# hwclock
Wed 11 Jan 2017 03:08:14 PM +10 -1.022807 seconds
[root@centos ~]# date
Wed Jan 11 15:08:14 +10 2017
Из файла /etc/adjtime видно что время хранится в UTC. Для корректного отображения локального времени нужно добавить информацию о часовом поясе. Воспользуемся пакетом tzdata, обновив его через любое зеркало стандартных пакетов и командой timedatectl.
[root@centos ~]# yum update tzdata
[root@centos ~]# timedatectl set-timezone Asia/Vladivostok [root@centos ~]# timedatectl Local time: Wed 2017-01-11 15:21:10 +10 Universal time: Wed 2017-01-11 05:21:10 UTC RTC time: Wed 2017-01-11 05:29:34 Time zone: Asia/Vladivostok (+10, +1000) NTP enabled: yes NTP synchronized: yes RTC in local TZ: no DST active: n/a
В качестве NTP сервера/клиента воспользуемся chrony. Источником точного времени выберем NTP-сервера ФГУП ВНИИФТРИ первого уровня, подключенных к государственному первичному эталону времени РФ.
[root@centos ~]# yum install chrony
[root@centos ~]head -n 12 /etc/chrony.conf
# Use public servers from the pool.ntp.org project. # Please consider joining the pool (http://www.pool.ntp.org/join.html). server ntp1.vniiftri.ru iburst server ntp2.vniiftri.ru iburst server ntp3.vniiftri.ru iburst server ntp4.vniiftri.ru iburst server vniiftri.khv.ru iburst server vniiftri2.khv.ru iburst # Allow NTP client access from local network. allow 172.16/16
[root@centos ~]systemctl enable chronyd [root@centos ~]# systemctl start chronyd
[root@centos ~]# systemctl status -l chronyd
chronyd.service - NTP client/server Loaded: loaded (/usr/lib/systemd/system/chronyd.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2017-01-11 16:31:02 +10; 3s ago Process: 2444 ExecStartPost=/usr/libexec/chrony-helper update-daemon (code=exited, status=0/SUCCESS) Process: 2441 ExecStart=/usr/sbin/chronyd $OPTIONS (code=exited, status=0/SUCCESS) Main PID: 2443 (chronyd) CGroup: /system.slice/chronyd.service └─2443 /usr/sbin/chronyd Jan 11 16:31:02 centos.lab.akonchenkov.com systemd[1]: Starting NTP client/server... Jan 11 16:31:02 centos.lab.akonchenkov.com chronyd[2443]: chronyd version 2.1.1 starting (+CMDMON +NTP +REFCLOCK +RTC +PRIVDROP +DEBUG +ASYNCDNS +IPV6 +SECHASH) Jan 11 16:31:02 centos.lab.akonchenkov.com chronyd[2443]: Frequency 43.329 +/- 0.105 ppm read from /var/lib/chrony/drift Jan 11 16:31:02 centos.lab.akonchenkov.com systemd[1]: Started NTP client/server.
Осталось разрешить на межсетевом экране принимать подключения от клиентов нашей сети.
[root@centos ~]firewall-cmd --zone-public --add-service=ntp
Настройка службы времени завершена а чтобы проверить синхронизацию, воспользуемся chronyc.
[root@centos ~]# chronyc sources 210 Number of sources = 6 MS Name/IP address Stratum Poll Reach LastRx Last sample =============================================================================== ^- ntp1.vniiftri.ru 1 6 37 18 -1073us[-2104us] +/- 57ms ^- ntp2.vniiftri.ru 1 6 37 18 -235us[-1266us] +/- 59ms ^- ntp3.vniiftri.ru 1 6 37 17 +2969us[+1938us] +/- 56ms ^- ntp4.vniiftri.ru 1 6 37 18 +931us[ -100us] +/- 52ms ^* vniiftri.khv.ru 1 6 57 15 +254us[ -777us] +/- 3300us ^+ 212.19.17.26 1 6 37 17 -244us[-1275us] +/- 3463us