
私は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)をセットアップしており、1つすべての Postfix 仮想ユーザーのすべてのメールボックスを管理するシステム ユーザー。管理者がvmail
次のようなユーザーを作成する記事を多数見ました。
# useradd -r -m -d /home/vmail vmail
そして、次の 2 行を設定することで、これをデフォルトの Dovecot ユーザーとして使用します/etc/dovecot/conf.d/10-master.conf
。
mail_access_groups = vmail
default_login_user = vmail
しかし私の場合、グループpostfix
は「setuid」つまり、これらのフォルダーは常にユーザーによって操作されますpostfix
。
では、ユーザーを作成する意味は何でしょうかvmail
? 代わりに Dovecot のユーザーを使用しないのはなぜでしょうかpostfix
? これを行うとリスクはありますか? Dovecot のインストール手順によって作成された次の 2 つのユーザーもあります。
┌───┐
│ # │ 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
これらのいずれかを使用しないのはなぜですか? 構成ファイルには次の 2 つのヒントもあります/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
答え1
これは関心の分離の原則であり、ここではセキュリティ上の利点があります。
メールを配信する責任を dovecot に与えた後は、postfix の責任ではなくなるため、postfix にはそのアクセスは必要ありません。