Mutt: отключить sent файл

По умолчанию, Mutt сохраняет каждое отправленное письмо в файл sent в директории пользователя. Как следствие файл может разрастись до неимоверных размеров. Отключить это можно создав файл /home/<user>/.muttrc и добавив в него

set copy=no

0.0.0.0 gateway On-link

Столкнулся с проблемой, что на некоторых машинах периодически после включения компьютера отсутствует доступ в интернет, при этом локальная сеть доступна.
Команда route print показывает дополнительный шлюз 0.0.0.0 gateway On-link

Как оказалось все из-за службы Apple Bonjour. Вот комментарий Микрософта

Если у вас есть служба Bonjour Service, то достаточно её отключить и указать, чтоб не запускалась больше.
У меня же такой службы не было, поэтому пришлось выключать из консоли

Заходим в \Program Files\Bonjour

Смотрим список доступных команд

mDNSResponder.exe /?

Отключаем службу

mDNSResponder.exe –remove

Clamav: игнорировать сигнатуру

Игнорировать сингатуру в Clamav можно создав файл local.ign2 и добавив в него собственно название сигнатуры.

echo "Signature" >> /var/lib/clamav/local.ign2

затем перезапускаем clamav.

Пример, сегодняшний косяк с блокировкой doc файлов

echo "Win.Exploit.CVE_2016_3316-1" >> /var/lib/clamav/local.ign2

Перенос виртуального сервера на физический с созданием программного рейда

Задача: перести виртуальный почтовый сервер на физический с созданием RAID 1 (зеркало).

Имеется виртуалка на XenServer и физический сервер с двумя винтами по 1 Тб

Установим Centos minimal на один из винтов и поделим диск на разделы

/dev/sda1 /boot
/dev/sda2 swap
/dev/sda3 /

Теперь установим mdadm и vim (обожаю этот текстовый редактор)

yum install mdadm vim

Теперь надо подготовить второй диск для настройки на нем рейда. Скопируем схему разбивки диска с /dev/sda

sfdisk -d /dev/sda | sfdisk /dev/sdb

Что получилась можно посмотреть командой fdisk -l

Теперь сменим тип разделов /dev/sdb на «Linux raid autodetect» Для этого выполняем

fdisk /dev/sdb

жмем ‘t’, затем ‘1’ (первый раздел диска), затем ‘fd’
Повторяем все заново для каждого из разделов.
Сохраняем изменения ‘w’

Читать далее «Перенос виртуального сервера на физический с созданием программного рейда»

XenServer увеличение размера диска виртуальной машины

Делаем снапшот. В процессе он меня несколько раз спас.

По сути этот пост заметка на память, т.ч. ниже много копипаста с консоли.

Останавливаем виртуальную машину, увеличиваем размер диска в XenCenter и запускаем виртуалку.

Что имеем. В корне место почти закончилось.

% df -h
Файловая система        Размер Использовано  Дост Использовано% Cмонтировано в
/dev/mapper/centos-root   6,7G         6,7G  1,4M          100% /
devtmpfs                  909M            0  909M            0% /dev
tmpfs                     918M            0  918M            0% /dev/shm
tmpfs                     918M         8,3M  910M            1% /run
tmpfs                     918M            0  918M            0% /sys/fs/cgroup
/dev/xvda1                497M         216M  282M           44% /boot
% fdisk /dev/xvda
Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Читать далее «XenServer увеличение размера диска виртуальной машины»

Уведомление о завершении команды в консоли

Скрипт для zsh позволяющий вывести уведомление о завершений команды, если терминал не открыт и команда выполнялась больше 10 секунд.

function active-window-id {
echo `xprop -root | awk '/_NET_ACTIVE_WINDOW\(WINDOW\)/{print $NF}'`
}

# end and compare timer, notify-send if needed
function notifyosd-precmd() {
if [ ! -z "$cmd" ]; then
cmd_end=`date +%s`
((cmd_time=$cmd_end - $cmd_start))
fi
if [ ! -z "$cmd" -a $cmd_time -gt 10 -a "$window_id_before" != "$(active-window-id)" ]; then
kdialog --title "$cmd_basename completed" --passivepopup "\"$cmd\" took $cmd_time seconds"
unset cmd
fi
}

# make sure this plays nicely with any existing precmd
precmd_functions+=( notifyosd-precmd )

# get command name and start the timer
function notifyosd-preexec() {
window_id_before=$(active-window-id)
cmd=$1
cmd_basename=${cmd[(ws: :)1]}
cmd_start=`date +%s`
}

# make sure this plays nicely with any existing preexec
preexec_functions+=( notifyosd-preexec )

Скрипт для КДЕ, т.к. используется kdialog для вывода уведомления. Оригинал на гитхабе. Там же для гнома.

Код сохраняем в файл .notifyosd.zsh и добавляем в .zshrc строку

[ -e ~/.notifyosd.zsh ] && . ~/.notifyosd.zsh

настройка openDKIM в centos 7

Установим opendkim

yum install opendkim

Нужно в /etc/opendkim.conf поправить Mode и раскомментировать строки

Mode    sv
KeyTable        /etc/opendkim/KeyTable
SigningTable    refile:/etc/opendkim/SigningTable

Создадим ключи

mkdir /etc/opendkim/keys/example.com
chmod 750 /etc/opendkim/keys/example.com
opendkim-genkey -D /etc/opendkim/keys/example.com/ -d example.com
chmod 640 /etc/opendkim/keys/example.com/*
chown -R opendkim:opendkim /etc/opendkim/keys/*

Допишем в /etc/opendkim/KeyTable

default._domainkey.example.com example.com:default:/etc/opendkim/keys/example.com/default.private

и в /etc/opendkim/SigningTable

*@example.com default._domainkey.example.com

Для подписи субдоменов нужно добавить в /etc/opendkim.conf параметр

SubDomains      yes

а в /etc/opendkim/SigningTable

*@sub.example.com default._domainkey.example.com

Перезапустим opendkim

systemctl restart opendkim.service

Осталось научить postfix работать с dkim и указать для домена TXT запись.

Добавляем в /etc/postfix/main.cf

#DKIM
milter_default_action = accept
milter_protocol = 2
smtpd_milters = inet:localhost:8891
non_smtpd_milters = inet:localhost:8891

затем

postfix restart

Добавляем TXT запись.
Берем содержимое файла /etc/opendkim/keys/example.com/default.txt

default._domainkey      IN      TXT     ( "v=DKIM1; k=rsa; "
          "p=.................." )  ; ----- DKIM key default for example.com

Для субдомена запись будет вида

default._domainkey.sub.example.com      IN      TXT     ( "v=DKIM1; k=rsa; "
          "p=.................." )  ; ----- DKIM key default for example.com

Проверяем

dig txt default._domainkey.example.com

Отправляем тестовое письмо и наслаждаемся результатом.
opendkim

rsyslog, samba, full audit

После настройки самбы и дополнительного full.audit следует озаботиться тем, куда собственно этот аудит будет записываться.

Как рабочий пример:

# less /etc/samba/smb.full_audit.conf
         full_audit:priority = NOTICE
         full_audit:facility = LOCAL5
         full_audit:success = mkdir rmdir read write rename unlink chmod fchmod 
chown fchown ftruncate lock symlink readlink link mknod close open
         full_audit:failure = none
         full_audit:prefix = |[%S]|%u|%I

Тут важна строка full_audit:facility = LOCAL5

Настраиваем /etc/rsyslog.conf
Находим строку

*.info;mail.none;authpriv.none;cron.none                /var/log/messages

и добавляем local5.none дабы в /var/log/messages не заносился аудит самбы

*.info;mail.none;authpriv.none;cron.none;local5.none                /var/log/messages

Указываем куда записывать аудит

local5.*                                                /var/log/samba/samba.audit

Дабы применились изменения перезапускаем rsyslog

service rsyslog restart

Однако в /var/log/messages скорее всего появится очень большое количество таких строк

rsyslogd-2177: imuxsock begins to drop messages from pid 194326 due to rate-limiting
rsyslogd-2177: imuxsock lost 684 messages from pid 194326 due to rate-limiting

Это связано с тем, что rsyslog по умолчанию для одного пида записывает в логи не более 200 записей в течении 5 секунд. Т.е. если пользователь заходит в самба шару с большим количеством файлов, то записей в samba.audit может быть больше 200, т.о. появляется запись в /var/log/messages о том, что rsyslog отбросил остальные строки.

Есть три варианта решения (по крайней мере я столько нашел)

1. Отключить ограничение. Добавляем в /etc/rsyslog.conf

$SysSock.RateLimit.Interval 0

2. Поиграться с интервалом и разрешенным чилом записей
например:

$SysSock.RateLimit.Interval 10
$SysSock.RateLimit.Burst 500

3. Убрать записи «imuxsock begins to drop messages бла бла бла» из /var/log/messages
Решается добавлением в /etc/rsyslog.conf после #### RULES ####

:msg, regex, "imuxsock begins to drop messages from pid .* due to rate-limiting" ~
:msg, regex, "imuxsock lost .* messages from pid .* due to rate-limiting" ~

Подробнее здесь

Дабы применились изменения перезапускаем rsyslog

service rsyslog restart