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.

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.


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


1
Bestätigt noch ein Problem @ 14.04
— Tamouse

und in 16.04 lts
— Oligofren

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.