postmap: fatal: Datenbank öffnen /etc/postfix/sasl_passwd.db: Berechtigung verweigert

9

Ich konfiguriere Postfix für die Verwendung von externem SMTP. Dafür habe ich dieses Tutorial verwendet

Nachdem ich es befolgt hatte, fand ich in den Protokollen, /etc/postfix/sasl_passwd.dbdie nicht gelesen werden konnten. Die Datei existierte nicht. Ich habe den Postmap-Hash: / etc / postfix / sasl_passwd ( http://postfix.state-of-mind.de/patrick.koetter/smtpauth/smtp_auth_mailservers.html ) als root verwendet, aber ich erhalte:

postmap: fatal: open database /etc/postfix/sasl_passwd.db: Permission denied

Warum bekomme ich das?

OS: Fedora 14
User "postfix" exists.

Aktualisieren:

sudo ls -l /etc/postfix/sasl_passwd.db ls:

cannot access /etc/postfix/sasl_passwd.db: No such file or directory

touch /etc/postfix/sasl_passwd.db
chmod 640 /etc/postfix/sasl_passwd.db
chown postfix:root /etc/postfix/sasl_passwd.db

sudo ls -l /etc/postfix/sasl_passwd.db

-rwxr--r--. 1 postfix root 0 Feb 19 04:16 /etc/postfix/sasl_passwd.db
-rw-r-----. 1 postfix root 0 Feb 19 04:16 /etc/postfix/sasl_passwd.db

postmap hash:/etc/postfix/sasl_passwd

postmap: fatal: cannot remove zero-length database file /etc/postfix/sasl_passwd.db: Permission denied.

chmod 777 gibt den gleichen Fehler wie oben.

James Benders
quelle

Antworten:

16

Sie müssen sicherstellen, dass der Postfix-Benutzer diese Datei lesen kann. Sie können die Ausgabe von posten $ sudo ls -l /etc/postfix/sasl_passwd.db, um weitere Hilfe zu erhalten.

Um diese Datei zu erstellen, können Sie den folgenden Befehl verwenden:

$ sudo postmap sasl_passwd

Dadurch wird die .dbDatei erstellt.

Khaled
quelle
OK, ich habe: sudo ls -l /etc/postfix/sasl_passwd.db ls: kann nicht auf /etc/postfix/sasl_passwd.db zugreifen: Keine solche Datei oder kein solches Verzeichnis berühren /etc/postfix/sasl_passwd.db chmod 640 / etc / postfix /sasl_passwd.db chown postfix: root /etc/postfix/sasl_passwd.db sudo ls -l /etc/postfix/sasl_passwd.db -rwxr - r--. 1 postfix root 0 19. Februar 04:16 /etc/postfix/sasl_passwd.db -rw-r -----. 1 postfix root 0 19. Februar 04:16 /etc/postfix/sasl_passwd.db postmap hash: / etc / postfix / sasl_passwd postmap: fatal: Datenbankdatei mit der Länge Null kann nicht entfernt werden /etc/postfix/sasl_passwd.db: Berechtigung verweigert chmod 777 gibt das gleiche.
James Benders
Die Datei existiert also nicht. Sie müssen es erstellen oder das richtige finden.
Khaled
Vielen Dank für Ihre Antwort, ich habe meine Antwort aktualisiert. Bitte sehen Sie es oben.
James Benders
Das ist unklar. Bitte bearbeiten Sie stattdessen Ihre Frage! Haben Sie die Datei mit erstellt touch? Dies ist möglicherweise nicht angemessen.
Khaled
OK, fertig. Ja, ich habe Touch verwendet. Wie soll ich es sonst erstellen?
James Benders
10

Dieses Problem, zumindest unter Ubuntu 12.04, wird dadurch verursacht, dass der Ordner / etc / postfix nicht dem Postfix-Benutzer gehört. (wie oben gefolgert).

Die Fehlermeldung wird verursacht, weil Sie die .db-Datei nicht direkt selbst erstellen sollten. Wenn Sie dies getan haben, löschen Sie es.

postmap: fatal: cannot remove zero-length database file /etc/postfix/sasl_passwd.db: Permission denied.

Die einfache Lösung für das ursprüngliche Problem lautet:

sudo chown postfix /etc/postfix

Danach können Sie dies ausführen

sudo postmap sasl_passwd

Wo angenommen wird, befinden sich Ihre Klartextkennwörter in der Datei sasl_passwd

Tom Carchrae
quelle
1
Bestätigt noch ein Problem @ 14.04
Tamouse
und in 16.04 lts
Oligofren
0

Ändern Sie den Besitzer

chown root: rad policy_file

SyntheticMeshwork
quelle