postmap: fatal: base de données ouverte /etc/postfix/sasl_passwd.db: autorisation refusée


9

Je configure Postfix pour utiliser un smtp externe. Pour cela, j'ai utilisé ce tutoriel

Après l'avoir suivi, j'ai trouvé dans les journaux qui /etc/postfix/sasl_passwd.dbne pouvaient pas être lus. Le fichier n'existait pas. J'ai utilisé le hachage postmap: / etc / postfix / sasl_passwd ( http://postfix.state-of-mind.de/patrick.koetter/smtpauth/smtp_auth_mailservers.html ) en tant que root, mais j'obtiens:

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

Pourquoi est-ce que je reçois ça?

OS: Fedora 14
User "postfix" exists.

Mise à jour:

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 donne la même erreur que ci-dessus.

Réponses:


16

Vous devez vous assurer que l'utilisateur postfix est capable de lire ce fichier. Vous pouvez publier la sortie de $ sudo ls -l /etc/postfix/sasl_passwd.dbpour obtenir plus d'aide.

Pour créer ce fichier, vous pouvez utiliser la commande:

$ sudo postmap sasl_passwd

Cela créera le .dbfichier.


OK, j'ai: sudo ls -l /etc/postfix/sasl_passwd.db ls: ne peut pas accéder à /etc/postfix/sasl_passwd.db: aucun fichier ou répertoire de ce type ne touche /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 racine postfix 0 19 février 04:16 /etc/postfix/sasl_passwd.db -rw-r -----. 1 racine postfix 0 février 19 04:16 /etc/postfix/sasl_passwd.db hachage postmap: / etc / postfix / sasl_passwd postmap: fatal: impossible de supprimer le fichier de base de données de longueur nulle /etc/postfix/sasl_passwd.db: autorisation refusée chmod 777 donne la même chose.
James Benders

Ainsi, le fichier n'existe pas. Vous devez le créer ou trouver le bon.
Khaled

Merci pour votre réponse, j'ai mis à jour ma réponse. Veuillez le voir ci-dessus.
James Benders

Ce n'est pas clair. Veuillez modifier votre question à la place! Avez-vous créé le fichier à l'aide de touch? Cela peut ne pas être approprié.
Khaled

OK fait. Oui, j'ai utilisé le toucher, comment dois-je le créer autrement?
James Benders

10

Ce problème, au moins sur Ubuntu 12.04, est dû au fait que le dossier / etc / postfix n'appartient pas à l'utilisateur postfix. (comme déduit ci-dessus).

Le message d'erreur est dû au fait que vous ne devez pas créer directement le fichier .db vous-même. Si vous l'avez fait, supprimez-le.

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

La solution simple au problème d'origine est:

sudo chown postfix /etc/postfix

Après cela, vous pouvez exécuter cette

sudo postmap sasl_passwd

Où il est supposé que vos mots de passe en texte clair se trouvent dans le fichier sasl_passwd


1
Confirmé toujours un problème @ 14.04
tamouse

et en 16.04
lts

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.