
Ich habe CentOS 5.5 mit Postfix installiert. Ich möchtelokalZustellagent mit Standardeinstellung, aber ich möchte, dass er E-Mails speichert mitMaildir-VerzeichnisBriefkästen im modernen Stil.
Wenn ich die zu speichernden Postfächer (als Standard) hier einstelle:
mail_spool_directory = /var/spool/mail/
Und ich erstelle Maildir manuell, sodass es folgendermaßen aussieht:
[root@dx2200 /]# ls -lah /var/spool/mail/
total 32K
drwxrwxr-x 4 root mail 4.0K Mar 15 15:01 .
drwxr-xr-x 13 root root 4.0K Mar 15 14:33 ..
drwxr-xr-x 5 root root 4.0K Mar 15 14:52 marshra
drwxr-sr-x 5 pedro mail 4.0K Mar 15 15:01 pedro
[root@dx2200 /]#
[root@dx2200 /]# ls -lah /var/spool/mail/pedro/
total 40K
drwxr-sr-x 5 pedro mail 4.0K Mar 15 15:01 .
drwxrwxr-x 4 root mail 4.0K Mar 15 15:01 ..
drwxr-sr-x 2 pedro mail 4.0K Mar 15 15:01 cur
drwxr-sr-x 2 pedro mail 4.0K Mar 15 15:01 new
drwxr-sr-x 2 pedro mail 4.0K Mar 15 15:03 tmp
[root@dx2200 /]#
Und dann versuche ich, eine E-Mail an den lokalen Benutzer zu senden. pedro
Die Nachricht wird nicht zugestellt und es /var/log/maillog
erscheint:
Mar 15 15:11:00 dx2200 postfix/local[4266]: warning: maildir access problem for UID/GID=1014/1014: error writing message: Permission denied
Mar 15 15:11:00 dx2200 postfix/local[4266]: warning: perhaps you need to create the maildirs in advance
Mar 15 15:11:00 dx2200 postfix/local[4266]: 8D5D11310056: to=<[email protected]>, orig_to=<pedro>, relay=local, delay=0.04, delays=0.02/0.01/0/0.01, dsn=5.3.0, status=bounced (maildir delivery failed: error writing message: Permission denied)
Ich hatte ein ähnliches Problem mitvirtuellDelivery Agent und der Wechsel virtual_mailbox_base
vom /var/spool/vmail
Home-Verzeichnis /home/vmail
haben geholfen. Muss ich das auch mitlokalZusteller ?UND WENN- Warum kann ich keine E-Mails in speichern /var/spool
?
Antwort1
Bearbeiten: Antwort entsprechend den Kommentaren vollständig neu geschrieben
Das Problem könnte mit SELinux zusammenhängen. Sie können zB ausführen, sestatus
um zu prüfen, ob es aktiviert oder deaktiviert ist.
Bei der Maildir-Zustellung wechselt Postfix zum entsprechenden Benutzer, daher muss das Zielverzeichnis für den Benutzer beschreibbar sein. Dies scheint bereits der Fall zu sein. Aus Datenschutzgründen schlage ich vor:chmod -R o-rwx /var/spool/mail/*
Nur der Vollständigkeit halber:Wenn Mbox-Dateien verwendet werden, muss das Spool-Verzeichnis für die mail
Gruppe, die Sie durch die Verwendung erhalten, beschreibbar sein chmod -R g+rwX /var/spool/mail
.
Antwort2
um das Schreiben von SELinux-Richtlinien als Befehlszeile zu ermöglichen
semanage permissive -a postfix_local_t
Antwort3
Ich hatte den gleichen Fehler mit Benutzerverzeichnissen unter einem Unterverzeichnis, das die falschen Berechtigungen hatte. Beispielsweise war das Home-Verzeichnis für „user1“ /home/subdir/user1
. Und das Unterverzeichnis hatte keine Ausführungsberechtigungen für „andere“.
chmod 755 /home/subdir
hat das Problem für mich behoben. Die Benutzerverzeichnisse haben immer noch die Berechtigungen „700“.
Die Fehlermeldung war irreführend, da die verweigerte Berechtigung nicht für das Verzeichnis des Benutzers, sondern für ein darüber liegendes Verzeichnis galt.
Antwort4
Ihre Berechtigungen:
drwxr-sr-x 2 pedro mail xxxx cur,new,tmp
Nur Pedro (Sie) kann schreiben, Mail (Server) kann nur lesen.
- Benutzer auf Mail ändern,
chmod 700
- versuchen Sie es erneut