Autenticación con usuarios locales desde Apache 31/08/2010
Posted by drencrom in Linux.trackback
El problema con esto es que el método más documentado es usando mod_auth_pam pero para que esto funcione el servidor apache tiene que tener acceso al archivo /etc/shadow. La idea de este archivo es que solo sea accedido por root (por defecto tiene permiso 400) y solamente existe para eso (si no hay shadow los hashes de las passwords estan en el archivo /etc/passwd y pueden ser leídos por cualquier usuario)
Lo sugerido para esto es hacer un grupo solo con el apache y darle permisos a este grupo para leer el archivo pero no es una solución muy buena.
La mejor solución es usar el módulo mod_auth_shadow que funciona sin hacer esto gracias a que usa un archivo con setuid root (/usr/sbin/validate). Para configurarlo solamente alcanza con instalar el módulo (por ejemplo en centos):
yum install mod_auth_shadow
Y configurar algo así en apache:
AuthShadow on
AuthName "Acceso con clave"
AuthType Basic
Require valid-user
Por último si se está usando SELinux hay una opción específica que se debe habilitar para que esto funcione y se hace de la siguiente manera:
setsebool -P allow_httpd_mod_auth_pam on
La opción -P hace que quede activado de forma permanente.
Comentarios»
No comments yet — be the first.