Используя пользователя «postfix» для «dovecot»

Я установил Postfix так, чтобы мои почтовые ящики (формат maildir) для моих виртуальных пользователей были настроены следующим образом:

┌───┐
│ # │ root > myserver > ~
└─┬─┘
  └─> ls -l /var/mail/
total 4
drwxr-sr-x 5 postfix postfix 4096 Dec  2 12:27 pistam.eu

┌───┐
│ # │ root > myserver > ~
└─┬─┘
  └─> ls -l /var/mail/domain.eu/
total 12
drwx--S--- 5 postfix postfix 4096 Dec  2 12:10 user_1
drwx--S--- 5 postfix postfix 4096 Dec  1 22:35 user_2

┌───┐
│ # │ root > myserver > ~
└─┬─┘
  └─> ls -l /var/mail/domain.eu/user_1/
total 12
drwx--S--- 2 postfix postfix 4096 Dec  2 12:27 cur
drwx--S--- 2 postfix postfix 4096 Dec 13 15:17 new
drwx--S--- 2 postfix postfix 4096 Dec 13 15:17 tmp

Теперь я настраиваю сервер Dovecot (IMAPS / SASL), и я хочу использовать одного системного пользователя, который будет управлять всеми почтовыми ящиками для всех виртуальных пользователей Postfix. Я видел много статей, в которых администраторы создают пользователя vmail , например,

# useradd -r -m -d /home/vmail vmail

, и используют его в качестве пользователя Dovecot по умолчанию, задав эти две строки в /etc/dovecot/conf.d/10- master.conf :

mail_access_groups = vmail
default_login_user = vmail

Но в моем случае группа postfix имеет бит «setuid» , что означает, что этими папками всегда будет управлять постфикс пользователя .

Так какой смысл создавать пользователя vmail ? Почему бы вместо этого не использовать постфикс пользователя для Dovecot? Есть ли в этом риск? Есть также эти два пользователя, которых создала процедура установки Dovecot:

┌───┐
│ # │ root > myserver > ~
└─┬─┘
  └─> cat /etc/passwd | grep dove
dovecot:x:112:118:Dovecot mail server,,,:/usr/lib/dovecot:/usr/sbin/nologin
dovenull:x:113:119:Dovecot login user,,,:/nonexistent:/usr/sbin/nologin

Почему бы не использовать одного из них? Также есть эти две подсказки в файле конфигурации /etc/dovecot/conf.d/10-master.conf :

# Login user is internally used by login processes. This is the most untrusted
# user in Dovecot system. It shouldn't have access to anything at all.
#default_login_user = dovenull

# Internal user is used by unprivileged processes. It should be separate from
# login user, so that login processes can't disturb other processes.
#default_internal_user = dovecot
0
задан 14 December 2020 в 22:46
1 ответ

Это принцип разделения обязанностей, который здесь обеспечивает безопасность.

После того, как вы передаете ответственность за доставку почты dovecot, это больше не является обязанностью postfix, поэтому postfix не нуждается в этом доступе.

2
ответ дан 14 December 2020 в 19:52

Теги

Похожие вопросы