postmap: fatal: base de datos abierta /etc/postfix/sasl_passwd.db: Permiso denegado


9

Estoy configurando Postfix para usar smtp externo. Para esto, usé este tutorial

Después de seguirlo, encontré en los registros que /etc/postfix/sasl_passwd.dbno se podían leer. El archivo no existía. Utilicé postmap hash: / etc / postfix / sasl_passwd ( http://postfix.state-of-mind.de/patrick.koetter/smtpauth/smtp_auth_mailservers.html ) como root, pero obtengo:

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

¿Por qué me sale esto?

OS: Fedora 14
User "postfix" exists.

Actualizar:

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 da el mismo error que el anterior.

Respuestas:


16

Debe asegurarse de que el usuario de postfix pueda leer ese archivo. Puede publicar la salida de $ sudo ls -l /etc/postfix/sasl_passwd.dbpara obtener más ayuda.

Para crear este archivo, puede usar el comando:

$ sudo postmap sasl_passwd

Esto creará el .dbarchivo.


OK, obtuve: sudo ls -l /etc/postfix/sasl_passwd.db ls: no puedo acceder a /etc/postfix/sasl_passwd.db: No existe tal archivo o directorio táctil /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 raíz de postfix 0 19 de febrero 04:16 /etc/postfix/sasl_passwd.db -rw-r -----. 1 raíz de postfix 0 19 de febrero 04:16 /etc/postfix/sasl_passwd.db postmap hash: / etc / postfix / sasl_passwd postmap: fatal: no se puede eliminar el archivo de base de datos de longitud cero /etc/postfix/sasl_passwd.db: Permiso denegado chmod 777 da lo mismo.
— James Benders

Entonces, el archivo no existe. Necesita crearlo o encontrar el correcto.
— Khaled

Gracias por su respuesta, actualicé mi respuesta. Por favor verlo arriba.
— James Benders

Esto no está claro. Por favor, edite su pregunta en su lugar! ¿Creaste el archivo usando touch? Esto puede no ser apropiado.
— Khaled

OK hecho. Sí, usé touch, ¿cómo debería crearlo de otra manera?
— James Benders

10

Este problema, al menos en Ubuntu 12.04, es causado por la carpeta / etc / postfix que no es propiedad del usuario de postfix. (como se infiere anteriormente).

El mensaje de error se debe a que no debe crear directamente el archivo .db usted mismo. Si lo hiciste, bórralo.

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

La solución simple al problema original es:

sudo chown postfix /etc/postfix

Después de eso, puedes ejecutar esto

sudo postmap sasl_passwd

Donde se supone que sus contraseñas de texto claro están en el archivo sasl_passwd


1
Confirmado todavía un problema @ 14.04
— tamouse

y en 16.04 lts
— oligofren

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.