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.

James Benders
fuente

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.

Khaled
fuente
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

Tom Carchrae
fuente
1
Confirmado todavía un problema @ 14.04
tamouse
y en 16.04 lts
oligofren
0

Cambiar el propietario

raíz conocida: file policy_file

Malla sintética
fuente