[Postfixbuch-users] maildrop und Rechteprobleme
Thomas Schwenski
postfixbuch at thomas-schwenski.de
Di Mär 18 10:05:05 CET 2008
Hallo,
meine Fehlermeldungen bei maildrop konnte ich Dank einer schlaflosen
Nacht nun einer Ursache zuführen.
Bei meinem Setup sind einzelne Postfächer gruppiert.
Einer solchen Gruppe ist ein Systembenutzer und eine -gruppe zugeordnet,
denen die jeweiligen Dateien und Verzeichnisse im Filesystem gehören.
Die Rechte auf diesen Dateien/Verzeichnissen sind 770.
In den jeweiligen Systemgruppen ist der Systembenutzer vmail Mitglied.
maildrop wird bei mir in der master.cf gemäß Postfix-Howto eingebunden:
>maildrop unix - n n - - pipe
> flags=ODRhu user=vmail argv=/usr/bin/maildrop
> -d ${user}@${nexthop} ${extension} ${recipient} ${user} ${nexthop}
Die entsprechenden Optionen in der main.cf sind gesetzt.
Versuche ich nun auf diesem Weg per maildrop eine E-Mail auszuliefern
erscheint im Log (oder bei direktem Aufruf aus der Shell) die Meldung:
> terminate called after throwing an instance of 'char const*'
maildrop: > signal 0x06
Postfix behandelt das als temporären Fehler.
Nach mehreren E-Mails mit Sam Varshavchik letzte Nacht bin ich auf des
Rätsels Lösung gestossen:
Obwohl der Benutzer vmail auf Grund seiner Mitgliedschaft in der
Besitzer-Gruppe des Maildirs und der 770-Berechtigungen vollen Zugriff
hat, liegt hier ein Rechtproblem vor.
Maildrop erwartet, dass UID und GID des Benutzers unter dem es
ausgeführt wird der UID und GID des Besitzers/der Besitzergruppe
entsprechen bzw. zumindest denen die courier-authlib zurückliefert.
Ist dies nicht der Fall erscheint der obige Fehler.
Als root funktioniert die Zustellung.
Setzt man für /usr/bin/maildrop das SUID-Flag, verweigert maildrop die
Zustellung mit der Meldung:
> You are not a trusted user.
Mir ist bis jetzt noch keine funktionierende Möglichkeit eingefallen,
die Verzeichnisse durch unterschiedliche
Besitzverhältnisse/Berechtigungen voneinander abzuschirmen, wie es von
mir geplant war.
Die einzige Möglichkeit maildrop zum Laufen zu bekommen ist die
Besitzverhältnisse sämtlichst auf den maildrop ausführenden Benutzer zu
setzen.
Meines Erachtens steht das aber im kompletten Gegensatz zu
Couriers/Maildrops Fähigkeit auf die Postfächer virtueller Benutzer mit
unterschiedlichen UIDs/GIDs zuzugreifen, da dieses Feature ja nicht
verwendbar ist.
Ich habe Sam Varshavchik deshalb darauf hingewiesen, dass dies' m.E.
einen Bug darstellt.
Da ich den einzigen Hinweis im Internet auf diese Ursache für die Fehler
erst nach meiner eigenen Lösung gefunden habe und es mich mehrere Tage
und Anläufe gekostet hat ohne eine funktionierende Lösung gefunden zu
haben, wollte ich das für's Archiv (und für ertragreichere Suchen
anderer mit demselben Problem) hier nochmal festhalten.
Sollte jemand eine funktionierende Lösung (außer alle Besitzverhätnisse
auf vmail:vmail zu ändern) kennen, dann würde ich mich natürlich über
entsprechende Hinweise freuen.
Thomas
Mehr Informationen über die Mailingliste Postfixbuch-users