
Ich habe das Postfix so eingestellt, dass meine Postfächer(Maildir-Format)für meine virtuellen Benutzer sind wie folgt eingestellt:
┌───┐
│ # │ 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
Jetzt richte ich einen Dovecot-Server (IMAPS/SASL) ein und möchteeinsSystembenutzer, der alle Postfächer für alle virtuellen Postfix-Benutzer verwaltet. Ich habe viele Artikel gesehen, in denen Administratoren Benutzer erstellen, vmail
wie z. B.:
# useradd -r -m -d /home/vmail vmail
und sie verwenden ihn als Standard-Dovecot-Benutzer, indem sie diese beiden Zeilen einfügen /etc/dovecot/conf.d/10-master.conf
:
mail_access_groups = vmail
default_login_user = vmail
Aber in meinem Fall postfix
hat die Gruppe"setuid"Bit, was bedeutet, dass diese Ordner immer vom Benutzer manipuliert werden postfix
.
Was ist also der Sinn der Erstellung eines Benutzers vmail
? Warum verwendet man postfix
dafür nicht einfach den Benutzer für Dovecot? Ist dies mit Risiken verbunden? Es gibt auch diese beiden Benutzer, die bei der Installation von Dovecot erstellt wurden:
┌───┐
│ # │ 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
Warum nicht einen davon verwenden? In der Konfigurationsdatei finden sich auch diese beiden Hinweise /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
Antwort1
Es handelt sich um das Prinzip der Trennung der Belange, das hier Sicherheitsvorteile mit sich bringt.
Nachdem Sie die Verantwortung für die E-Mail-Zustellung an Dovecot übertragen haben, liegt sie nicht mehr in der Verantwortung von Postfix und Postfix benötigt diesen Zugriff nicht mehr.