[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Problemas con mailman



El 06/01/11 14:36, Eduardo R. Barrera Pérez escribió:
Yo volvería a comparar los permisos de los directorios/archivos
implicados:
ls -l /var/lib/mailman
ls -l /var/lib/mailman/qfiles
ls -l /var/lib/mailman/qfiles/in

Y también comprueba que el usuario con el que se ejecuta mailman y sus
procesos sea el correcto (ps aux).
Saludos,

Bueno eso ya lo he verificado, pero bueno... cualquiera se equivoca o cree
estar haciendo las cosas bien y no ser así!! El usuario con el que se
ejecuta mailman es: list eso ya lo comprobé me asegure empleando estoscomandos:
# find . -type d -exec chown root.list {} \;
# find . -type f -exec chown root.list {} \;
# find . -type d -exec chmod 775 {} \;
# find . -type f -exec chmod 664 {} \;

No cambies nada a mano. Usa el comando check_perms. Si algún directorio o ejecutable queda con los permisos mal fijados es *muy* posible que mailman falle.

Con estos comandos establezco de forma recursiva que el propietario para
todos los directorios y ficheros por debajo de /var/lib/mailman y asi
mismo lo hice en /usr/lib/mailman

Pero tuve que cambiar a mano eso en algunos directorios y ficheros ya que
en algunos lugares el dueño deberia ser root y el grupo list, pero en
otros casos tanto el dueño como el grupo eran el usuario list por eso digo
que me llevo el diablo comparando todo esto entre un servidor y el otro y
corrigiendo a mano

mx1:/etc# ls -l /var/lib/mailman
total 32
drwxrwsr-x  4 root list 4096 ene  5 13:29 archives
lrwxrwxrwx  1 root root   20 ene  5 13:29 bin ->  /usr/lib/mailman/bin
lrwxrwxrwx  1 root root   24 ene  5 13:29 cgi-bin ->
/usr/lib/cgi-bin/mailman
lrwxrwxrwx  1 root root   21 ene  5 13:29 cron ->  /usr/lib/mailman/cron
drwxrwsr-x  2 root list 4096 ene  5 13:36 data
lrwxrwxrwx  1 root root   25 ene  5 13:29 icons ->
/usr/share/images/mailman
-rw-r--r--  1 root list   50 ene  5 17:59 index.php
drwxrwsr-x  4 root list 4096 ene  5 13:36 lists
lrwxrwxrwx  1 root root   17 ene  5 13:29 locks ->  /var/lock/mailman
lrwxrwxrwx  1 root root   16 ene  5 13:29 logs ->  /var/log/mailman
lrwxrwxrwx  1 root root   21 ene  5 13:29 mail ->  /usr/lib/mailman/mail
lrwxrwxrwx  1 root root   24 ene  5 13:29 Mailman ->
/usr/lib/mailman/Mailman
drwxrwsr-x 37 root list 4096 ene  5 13:29 messages
lrwxrwxrwx  1 root root   26 ene  5 13:29 pythonlib ->
/usr/lib/mailman/pythonlib
drwxrwsr-x 11 list list 4096 ene  5 13:36 qfiles
lrwxrwxrwx  1 root root   24 ene  5 13:29 scripts ->
/usr/lib/mailman/scripts
drwxrwsr-x  2 root list 4096 may 20  2010 spam
lrwxrwxrwx  1 root root   12 ene  5 13:29 templates ->  /etc/mailman
drwxrwsr-x  4 root list 4096 ene  5 13:29 tests


mx1:/etc# ls -l /var/lib/mailman/qfiles
total 36
drwxrws--- 2 list list 4096 ene  5 13:36 archive
drwxrws--- 2 list list 4096 ene  5 13:36 bounces
drwxrws--- 2 list list 4096 ene  5 13:36 commands
drwxrws--- 2 list list 4096 ene  5 13:36 in
drwxrws--- 2 list list 4096 ene  5 13:36 news
drwxrws--- 2 list list 4096 ene  5 13:36 out
drwxrws--- 2 list list 4096 ene  5 13:36 retry
drwxrws--- 2 list list 4096 ene  5 13:36 shunt
drwxrws--- 2 root list 4096 ene  5 13:36 virgin


ls -l /var/lib/mailman/qfiles/in
total 0

Bueno en caso de el directorio in el comando ls no me muestra los permisos
como en los casos anteriores, entonces recordé que en ese directorio el
propietario es list y el grupo también y que tiene permisos 770 por lo que
root no podría leerlo,
Root debería leer el archivo independientemente de que tenga permisos de lectura o no, por eso es el superusuario.
así que le puse permisos 777 para probar y ahora
cuando envió un correo a la lista (en el servidor de pruebas) ya no
rebota, pero no llega, es decir no se que es lo que mailman hace con el
mensaje! y revisando en el servidor en producción y los permisos para el
directorio

Fijate que lo que has agregado es permisos para "otros". Puede ser que mailman no esté corriendo como el usuario "list"? entonces cuando haces el cambio, como das permisos para "otros" y en este caso mailman entraría dentro de "otros" funciona (a medias, claro)

Ten en cuenta que mailman es muy estricto con los permisos y necesita poder escribir como usuario list, por eso varios directorios tienen activado el bit setgid para que cuando se cree un archivo se cree con permisos de lectura y escritura para el grupo list

En tu caso el comando mailman ( /var/lib/mailman/mail/mailman ) es llamado por postfix una vez que trata de hacer la entrega. Este ejecutable se encarga de tomar la acción correspondiente con el correo (dar un alta, postear a la lista, dar de baja, etc). Fijate que este ejecutable tiene activado el bit setgid, lo que indica que cuando se ejecuta lo hace con los permisos del grupo que tiene asignado, que en el caso de Debian tiene que ser list. ¿Qué permisos tiene dicho ejecutable?

Haz un ls de /var/lib/mailman/mail/mailman y fijate si el grupo es list y si está activado el bit setgid de ejecución (Recuerda que el bit setgid tiene un significado para los archivos ejecutables y otro para los directorios, no te confundas con ello). La salida debería ser igual a esta (fijate en la "s" en la parte del grupo):

-rwxr-sr-x 1 root list

/var/lib/mailman/qfiles

Estan exactamente iguales, dueño list grupos list y permisos 770 al menos
en este directorio in


Alguna idea???

_______________________________________
Saludos


Reply to: