postmap: fatale: apri database /etc/postfix/sasl_passwd.db: autorizzazione negata


9

Sto configurando Postfix per utilizzare smtp esterno. Per questo, ho usato questo tutorial

Dopo averlo seguito, ho trovato nei registri che /etc/postfix/sasl_passwd.dbnon è stato possibile leggere. Il file non esisteva. Ho usato hash postmap: / etc / postfix / sasl_passwd ( http://postfix.state-of-mind.de/patrick.koetter/smtpauth/smtp_auth_mailservers.html ) come root, ma ottengo:

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

Perché ottengo questo?

OS: Fedora 14
User "postfix" exists.

Aggiornare:

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 dà lo stesso errore di cui sopra.

Risposte:


16

Devi assicurarti che l'utente postfix sia in grado di leggere quel file. È possibile pubblicare l'output di $ sudo ls -l /etc/postfix/sasl_passwd.dbper ottenere ulteriore assistenza.

Per creare questo file, è possibile utilizzare il comando:

$ sudo postmap sasl_passwd

Questo creerà il .dbfile.


OK, ho ottenuto: sudo ls -l /etc/postfix/sasl_passwd.db ls: impossibile accedere a /etc/postfix/sasl_passwd.db: nessun file o directory in 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 root postfisso 0 feb 19 04:16 /etc/postfix/sasl_passwd.db -rw-r -----. 1 root postfisso 0 feb 19 04:16 /etc/postfix/sasl_passwd.db hash postmap: / etc / postfix / sasl_passwd postmap: fatale: impossibile rimuovere il file di database a lunghezza zero /etc/postfix/sasl_passwd.db: autorizzazione negata chmod 777 dà lo stesso.
James Benders,

Quindi, il file non esiste. Devi crearlo o trovare quello corretto.
Khaled,

Grazie per la tua risposta, ho aggiornato la mia risposta. Si prega di vederlo sopra.
James Benders,

Questo non è chiaro. Per favore, modifica invece la tua domanda! Hai creato il file usando touch? Questo potrebbe non essere appropriato.
Khaled,

Ok fatto. Sì, ho usato il tocco, come dovrei crearlo altrimenti?
James Benders,

10

Questo problema, almeno su Ubuntu 12.04, è causato dalla cartella / etc / postfix che non appartiene all'utente postfix. (come inferito sopra).

Il messaggio di errore è causato perché non è necessario creare direttamente il file .db. Se lo hai fatto, cancellalo.

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

La semplice soluzione al problema originale è:

sudo chown postfix /etc/postfix

Successivamente, puoi eseguirlo

sudo postmap sasl_passwd

Dove si presume che le password in chiaro siano nel file sasl_passwd


1
Confermato ancora un problema @ 14.04
tamouse

e in 16.04 lts
oligofren

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.