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.

James Benders
la source

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.

Khaled
la source
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

Tom Carchrae
la source
1
Confirmé toujours un problème @ 14.04
tamouse
et en 16.04
lts
0

Changer le propriétaire

racine chown: fichier policy_file

SyntheticMeshwork
la source