maildir delivery failed: create maildir file
/var/mail/admin/tmp/1204829466.P31777.intranet: Permission denied
Die Rechte des Ordners waren auf 775 / root:mail gesetzt. Der
Postfixbenutzer befindet sich in der Gruppe mail. Wenn ich die Rechte
des Verzeichnisses auf 777 ändere, klappt es, dass der Ordner mit den
Unterordnern cur, new und tmp angelegt wird und die Mail gespeichert wird.
Muss ich auf das Verzeichnis wirklich allen Benutzern Schreibrechte
geben? Oder geht es auch anders? Mir scheint das so ein wenig unsicher.
Vielen Dank für eure Hilfe
Jens
> Die Rechte des Ordners waren auf 775 / root:mail gesetzt. Der
Existiert denn /var/mail/admin/ ? Das muss dann auch dem USer gehoern,
nicht root.
Denn: maildir delivery macht:
set_eugid(usr_attr.uid, usr_attr.gid);
bevor er versucht auf die Maildirs zuzugreifen.
Das mit GID=mail gilt nur fuer MBOX-File delivery! Und auch da
muessen die mailboxfiles dem User gehoeren.
Postfix selbst erzeugt kein Maildir-directory!
(RTFM)
> Postfixbenutzer befindet sich in der Gruppe mail. Wenn ich die Rechte
> des Verzeichnisses auf 777 ändere, klappt es, dass der Ordner mit den
> Unterordnern cur, new und tmp angelegt wird und die Mail gespeichert wird.
> Muss ich auf das Verzeichnis wirklich allen Benutzern Schreibrechte
> geben? Oder geht es auch anders? Mir scheint das so ein wenig unsicher.
Nein, es geht auch anders:
Beim Anlegen des Benutzers auch gleich sein Maildir anlegen und chown
user drauf machen. GID ist egal.
Juergen
--
Juergen P. Meier - "This World is about to be Destroyed!"
end
If you think technology can solve your problems you don't understand
technology and you don't understand your problems. (Bruce Schneier)
"maildir" kommt von Qmail, und ist ein weiterer Versuch die Welt zu
verschlimmbessern sowie Probleme mit dem mbox-fileformat zu loesen,
die meist nicht relevant sind und sich statdessen die Probleme von
Dateisystemen einzufangen. Einzig in bestimmten (archaischen)
Backupszenarien hat das Vorteile (wenn eine Fielsystemorientierte
Backupsoftware mit Mailboxfiles nicht speziell umgehen.
Sinnvollerweise loest man dieses Problem in der Backupsoftware,
nicht im Mailsystem - do'h.).
Ganz besonders gut lache ich dann ueber diejenigen, die maildirs
auf reisserfs legen, weils da so super performant ist!!1elf.
(Ok, dafuer ist das Backup/Restore einfach und effizient, dass man
dann aber auch wirklich braucht).
> Versuch's mal mit 2770 und admin:mail bzw. root:mail, sowohl für
Flasch. 0700 und es muss dem User gehoeren. 770 mit Gruppe mail
mag fuer andere MDAs auf dem System noetig sein (oder IMAP Server).
> /var/mail/admin als auch für /var/mail/admin/tmp.
/var/mail/admin/ muss ein Verzeichnis sein (maildir vs. mailbox)
und dem user gehoeren. die GID kann man auf mail stellen, allerdings
interessiert sich postfix dafuer wenig, denn es setzt EUID und EGID
auf die des Users vor dem Versuch auf Unterverzeichnisse und Dateien
unterhalb des Maildirs zuzugreifen (es versucht diese auch mit
$UID.$GID und modbits 0700 anzulegen).
Das maildir muss bereits existieren.
HTH,
Mein Frage war, ob es auch geht, wenn für /var/mail nicht für alle
Benutzer lesen und schreiben gestattet ist.
Falsch. Bitte Lies die Dokumentation zu Maildirs.
Maildirs muessen vorhanden sein, und /var/mail sollte tunlichst keine
Schreibrechte fuer alle haben.
>> Postfix selbst erzeugt kein Maildir-directory!
> Doch, wenn die Rechte für /var/mail 0777 sind.
Nein. Tut es nicht. Wenn du mir nicht glaubst, dann schau doch selbst
in src/local/maildir.c (postfix-sourcen) nach. Es legt
/unterverzeichnisse/ automatisch an, aber verweigert die Arbiet, wenn
das Maildir nicht existiert (ganz im Einklang mit dem Konzept von
Maildirs uebrigens. It's not a bug, it's a feature.)
>> Nein, es geht auch anders:
>>
>> Beim Anlegen des Benutzers auch gleich sein Maildir anlegen und chown
>> user drauf machen. GID ist egal.
>
> Mein Frage war, ob es auch geht, wenn für /var/mail nicht für alle
> Benutzer lesen und schreiben gestattet ist.
Ja: Wenn du als Admin bei User-anlegen auch das passende Maildir
anlegst. So wie das bei Maildirs vorgesehen ist.
Wenn du schon Maildirs verwendest, solltest du dich wenigstens mit den
Konzepten bekannt machen.
Hm, funktioniert leider immer noch nicht, habe auch 4775 und 6775
ausprobiert, leider ohne Erfolg.
Gruß
Jens
drwxrwxr-x 3 root mail 4096 Mar 7 14:10 /var/mail
drwx------ 9 admin admin 4096 Mar 7 18:32 /var/mail/admin
drwx------ 2 admin admin 4096 Mar 7 12:12 /var/mail/admin/tmp
(Nur dass das jetzt nicht falsch rüber kommt, die Mails für admin kommen
an, aber für Benutzer, die kein Ordner haben halt noch nicht geht es
halt nicht. Die Rechte für /var/mail sind auch ersteinmal wieder im
Ausgangszustand, mit den anderen Rechten hat es aber wie schon gesagt
auch nicht funktioniert.)
server ~ # ls -la /var/mail/
total 12
drwxrwxr-x 3 root mail 4096 Mar 7 14:10 .
drwxr-xr-x 16 root root 4096 Mar 7 18:23 ..
-rw-r--r-- 1 root root 0 Feb 21 21:35 .keep_net-mail_mailbase-0
drwx------ 9 admin admin 4096 Mar 7 18:32 admin
server ~ #
Gruß
Jens
Vielen Dank für die Hilfe noch mal!
Jens