
Tengo CentOS 5.5 con Postfix instalado. Quiero usarlocalagente de entrega con configuración predeterminada, pero quiero que almacene el correo conDirectorio de correobuzones de estilo.
Cuando configuro los buzones de correo para que se almacenen (por defecto) en:
mail_spool_directory = /var/spool/mail/
Y creo manualmente maildir, por lo que se ve así:
[root@dx2200 /]# ls -lah /var/spool/mail/
total 32K
drwxrwxr-x 4 root mail 4.0K Mar 15 15:01 .
drwxr-xr-x 13 root root 4.0K Mar 15 14:33 ..
drwxr-xr-x 5 root root 4.0K Mar 15 14:52 marshra
drwxr-sr-x 5 pedro mail 4.0K Mar 15 15:01 pedro
[root@dx2200 /]#
[root@dx2200 /]# ls -lah /var/spool/mail/pedro/
total 40K
drwxr-sr-x 5 pedro mail 4.0K Mar 15 15:01 .
drwxrwxr-x 4 root mail 4.0K Mar 15 15:01 ..
drwxr-sr-x 2 pedro mail 4.0K Mar 15 15:01 cur
drwxr-sr-x 2 pedro mail 4.0K Mar 15 15:01 new
drwxr-sr-x 2 pedro mail 4.0K Mar 15 15:03 tmp
[root@dx2200 /]#
Y luego intento enviar un correo al usuario local pedro
, el mensaje no se entrega y /var/log/maillog
dice:
Mar 15 15:11:00 dx2200 postfix/local[4266]: warning: maildir access problem for UID/GID=1014/1014: error writing message: Permission denied
Mar 15 15:11:00 dx2200 postfix/local[4266]: warning: perhaps you need to create the maildirs in advance
Mar 15 15:11:00 dx2200 postfix/local[4266]: 8D5D11310056: to=<[email protected]>, orig_to=<pedro>, relay=local, delay=0.04, delays=0.02/0.01/0/0.01, dsn=5.3.0, status=bounced (maildir delivery failed: error writing message: Permission denied)
He tenido un problema similar convirtualagente de entrega, y cambiar virtual_mailbox_base
del /var/spool/vmail
directorio de inicio /home/vmail
ayudó. ¿Tengo que hacerlo también conlocalagente de entrega?Y DE SER ASÍ- ¿Por qué no puedo almacenar el correo /var/spool
?
Respuesta1
Editar: respuesta completamente reescrita según los comentarios
El problema podría estar relacionado con SELinux. Puede ejecutar, por ejemplo, sestatus
para comprobar si está habilitado o deshabilitado.
Para la entrega de maildir, postfix cambia al usuario correspondiente, por lo que el usuario debe poder escribir en el directorio de destino. Este parece ser ya el caso. Por razones de privacidad, sugierochmod -R o-rwx /var/spool/mail/*
Sólo para completar:mail
Si se utilizan archivos mbox, el grupo que obtiene mediante el uso de chmod -R g+rwX /var/spool/mail
. debe poder escribir en el directorio de spool .
Respuesta2
para permitir la escritura de políticas de SELinux como una línea de comando
semanage permissive -a postfix_local_t
Respuesta3
Tuve el mismo error con los directorios de usuarios bajo un subdirectorio que tenía permisos incorrectos. Por ejemplo, el directorio de inicio de "usuario1" era /home/subdir/user1
. Y el subdirector no tenía permisos de ejecución para "otros".
chmod 755 /home/subdir
solucionó el problema para mí. Los directorios de usuarios todavía tienen permisos "700".
El mensaje de error era engañoso porque el permiso denegado no estaba en el directorio del usuario sino en un directorio superior a él.
Respuesta4
tus permisos:
drwxr-sr-x 2 pedro mail xxxx cur,new,tmp
sólo pedro(tú) puede escribir, el correo(servidor) sólo puede leer.
- cambiar usuario a correo,
chmod 700
- intentar otra vez