Thursday, 26 September 2013

Postfix: релей через EXIM с шифрованием и авторизацией


Имеется:
- свежеустановленный centos 6.4 и нетронутый postfix на нем,
- почтовый сервер (mail.example.ru) с настроенным exim с авторизацией через TLS-сессию.

Нужно научить postfix отправлять письма через exim, удостоверяя себя логином/паролем, передаваемым только в зашифрованном виде через TLS-соединение.

Настраиваем /etc/postfix/main.cf:

/usr/sbin/postconf -e 'smtp_sasl_type = cyrus'
/usr/sbin/postconf -e 'smtp_sasl_security_options = noanonymous, noplaintext'
/usr/sbin/postconf -e 'smtp_sasl_tls_security_options = noanonymous'
/usr/sbin/postconf -e 'smtp_sasl_mechanism_filter = plain, login'

/usr/sbin/postconf -e 'relayhost = [mail.example.ru]:587'
/usr/sbin/postconf -e 'smtp_sasl_auth_enable = yes'
/usr/sbin/postconf -e 'smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd'
/usr/sbin/postconf -e 'smtp_tls_security_level = encrypt'

пишем логин/пароль в /etc/postfix/sasl_passwd:
echo -e '[mail.example.ru]:587 \t username@example.ru:yourpassword' > /etc/postfix/sasl_passwd
chown root.root /etc/postfix/sasl_passwd
chmod 640 /etc/postfix/sasl_passwd
postmap hash:/etc/postfix/sasl_passwd

service postfix restart

P.S. Если вы видете в логах postfix'а строку
(SASL authentication failed; cannot authenticate to server no mechanism available)
значит нужно доставить пакет cyrus-sasl-plain:

yum install cyrus-sasl-plain

Monday, 9 September 2013

Выполнение множества команд из history

Понадобилось мне выполнить кучу команд из списка history:
$ history | grep echo
606  echo "- - - " > /sys/class/scsi_host/host0/scan
607  echo "- - - " > /sys/class/scsi_host/host1/scan
608  echo "- - - " > /sys/class/scsi_host/host2/scan
609  echo "- - - " > /sys/class/scsi_host/host3/scan

копировать по-одной - не хотелось,
небольшое гугление вывело на незнакомую до сих пор встроенную в bash команду fc [Fix Command].
В моем случае, fc нужно запустить так: 
$ fc 606 609
что откроет нам дефолтный редактор, с указанными командами для возможного исправления. Если нас всё устраивает, то просто выходим из него, сохраняя.
В результате, команды по списку поочередно исполнятся.

Как всегда, подробнее за команду и аргументы читаем man fc.
 

Saturday, 7 September 2013

df; переполнение раздела; поиск виновника

Мониторинг показал, что раздел с логами перевалил за критический порог.

Вывод df показывал:
  Filesystem                                     Size     Used    Avail Use%   Mounted on
/dev/mapper/vg_fgrp-varlog    485M  393M   67M  86%     /var/log
 Но вывод du настаивал, что:

 $ du -s -h /var/log
30M    /var/log

Знания по unix-системам подсказывали, что наверняка какой-то процесс держит файл.

Найти виновника помог lsof:

$ lsof | grep deleted
mysqld    19662 mysql   10u      REG              253,1          0         23 /tmp/ibOgBc1X (deleted)
mysqld    19662 mysql   12u      REG              253,1          0         48 /tmp/ib4l1LpF (deleted)
mysqld    19662 mysql   13u      REG              253,1          0      11212 /tmp/ibC8bmOm (deleted)
mysqld    19662 mysql   14u      REG              253,1          0      11235 /tmp/ibA6wpd4 (deleted)
mysqld    19662 mysql   17w      REG              253,3  370401307      65028 /var/log/mysql/log-slow-queries.log (deleted)
mysqld    19662 mysql   18u      REG              253,1          0      24419 /tmp/ibCNep2L (deleted)

выполняем:
$ kill -HUP 19662
и место отвоевано!

$ df -h
Filesystem                                   Size     Used  Avail   Use% Mounted on
/dev/mapper/vg_fmail-varlog  485M   40M  445M   9%    /var/log