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, Пермь важны -g7, кажется, копируется во вновь созданные сообщения (как 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 {} \;