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.