Sendmail/dovecot/procmail: разрешения Maildir
Я только что провел несколько часов посреди ночи, пытаясь перенести настройку Maildir из Centos 5.6 в Centos 7.2. Я нашел десятки обращений о том, как это сделать, все совершенно бесполезны - некоторые дали определенные разрешения, но, например, без владения файлами. Прямая копия структуры каталогов Maildir не работала.
Теперь у меня есть рабочая установка (без SELinux), методом проб и ошибок, но с различными вопросительными знаками и, возможно, некоторыми дырами. Буду признателен за отзыв о том, можно ли это улучшить.
В этой настройке Maildir находится в домашнем каталоге пользователя (скажем, /home/joe
, или же ~
):
~
должен иметьo+x
(в этой системе владелецjoe:joe
, завивка711
)~/Maildir
должен принадлежатьjoe:vmail
, завивка775
, Пермь важны -g
7, кажется, копируется во вновь созданные сообщения (как 6)- procmailrc
UMASK
совершенно не имеет значения, если только он не убирает ни одно из этих разрешений - просто игнорируйте его - все под Maildir должно принадлежать
joe:vmail
, с каталогами, выданными завышенными775
и обычные файлы660
- Когда procmail в конечном итоге создает файл, например, под
Maildir/cur
это создает это с владельцемjoe:mail
(неvmail
), завивка664
- практически любое изменение вышеперечисленного приведет к сбою sendmail, dovecot или procmail в какой-то момент процесса доставки.
Сценарий быстрого взлома ниже - запустите из / home, введите имя пользователя.
#!/bin/bash
if [ ! -d "$1" ]; then
exit 1
fi
echo "Fixing $1..."
chmod o+x "$1"
cd "$1"
chown -R "$1":vmail Maildir
find Maildir -type d -exec chmod 775 {} \;
find Maildir -type f -exec chmod 660 {} \;