Wie erstelle ich ein Maildir-Verzeichnis mit ausreichenden Berechtigungen für Postfix?

Wie erstelle ich ein Maildir-Verzeichnis mit ausreichenden Berechtigungen für Postfix?

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. pedroDie Nachricht wird nicht zugestellt und es /var/log/maillogerscheint:

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_basevom /var/spool/vmailHome-Verzeichnis /home/vmailhaben 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, sestatusum 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 mailGruppe, 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.

  1. Benutzer auf Mail ändern,
  2. chmod 700
  3. versuchen Sie es erneut

verwandte Informationen