Мы переходим со старой системы 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