¿Cómo crear un directorio Maildir con suficientes permisos para Postfix?

¿Cómo crear un directorio Maildir con suficientes permisos para Postfix?

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/maillogdice:

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_basedel /var/spool/vmaildirectorio de inicio /home/vmailayudó. ¿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, sestatuspara 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:mailSi 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.

  1. cambiar usuario a correo,
  2. chmod 700
  3. intentar otra vez

información relacionada