jump to navigation

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.

Advertisement

Comentarios»

No comments yet — be the first.

Deja un comentario

Fill in your details below or click an icon to log in:

Logo de WordPress.com

You are commenting using your WordPress.com account. Log Out / Cambiar )

Twitter picture

You are commenting using your Twitter account. Log Out / Cambiar )

Facebook photo

You are commenting using your Facebook account. Log Out / Cambiar )

Connecting to %s

Seguir

Get every new post delivered to your Inbox.