Назад | Перейти на главную страницу

Centos Postfix / Dovecot - Проблемы с разрешениями после обновления миграции

Мы переходим со старой системы Centos 5.5 на новый сервер Centos 6.4. Версия постфикса выглядит так же, но Dovecot поднялся с 1.x до 2.x. Он использует MySQL для хранения данных учетной записи электронной почты и управляется с помощью pfadmin.

Я использовал rsync, чтобы скопировать /var/vmail папка со старого на новый сервер. У меня установлены postfix и dovecot, pfadmin работает, как и mysql. Но у меня серьезные проблемы с разрешениями для /var/vmail папка.

из var/ папка:

drwxrwx---. 34 vmail vmail 4096 May 28 10:03 vmail

из /etc/passwd:

postfix:x:89:89::/var/spool/postfix:/sbin/nologin
dovecot:x:97:97:Dovecot IMAP server:/usr/libexec/dovecot:/sbin/nologin
dovenull:x:498:499:Dovecot's unauthorized user:/usr/libexec/dovecot:/sbin/nologin
mysql:x:27:27:MySQL Server:/var/lib/mysql:/bin/bash
vmail:x:125:12::/var/vmail:/usr/sbin/nologin

соответствующие строки в dovecot.conf

first_valid_uid = 125
last_valid_uid = 150
mail_location = maildir:/var/vmail/%d/%u
mail_privileged_group = mail
mbox_write_locks = fcntl

Когда я подключаюсь к порту 25 и 110 (для тестирования PF и Dovecot). Сеанс smtp проходит нормально, а сеанс pop3 вылетает из строя.

У maillog есть подсказки - вот что генерирует Postfix:

warning: maildir access problem for UID/GID=150/12: create maildir
file /var/vmail/thedomain.com/test@thedomain.com/tmp/1369997999.P1913.IS-20698: 
Permission denied

и для Dovecot:

dovecot: pop3(test@thedomain.com): Error: file_dotlock_create
(/var/vmail/thedomain.com/test@thedomain.com/dovecot-uidlist) 
failed: Permission denied (euid=125(vmail) egid=125(vmail) missing +w 
perm: /var/vmail/thedomain.com/test@thedomain.com, euid is not dir owner)

Как мне получить все мои разрешения в режиме онлайн?

Я жонглировал uid и gids, но на самом деле исправление было в /dovecot/conf.d/10-master.conf

Получив postfix / SMTP для доставки входящих писем в папку пользователей:

Я установил пользователя и группу на vmail, тогда как он должен быть настроен на использование postfix user / group. В конце концов, если postfix может писать в файлы / каталоги, то он имеет работать.

service auth {
 unix_listener auth-userdb {
 mode = 0660
 user = postfix
group = postfix
}

После того, как это было изменено и службы перезапущены, все заработало, включая POP3, imap, postfixadmin и squirrelmail.

В моем составе эта проблема возникла из-за SELinux. Я решил проблему sudo nano /etc/sysconfig/selinux а затем установка SELINUX=disabled. Это допустимо во время разработки. Более полным решением будет установка SELinux правило, разрешающее postfix и dovecot работать с SELinux включен до того, как это будет запущено в производство.

Вероятно, вам нужно добавить «postfix» в группу «vmail» в / etc / group. И посмотрите свой файл dovecot / conf.d / 10-mail.conf. Вам необходимо убедиться, что для mail_uid и mail_gid установлено значение «vmail», и оба они раскомментированы.

conf.d/10-mail.conf:mail_uid = vmail
conf.d/10-mail.conf:mail_gid = vmail