Apache2: Htaccess y control de usuarios y grupos


Como ya hemos visto previamente en los anteriores artículos, los ficheros .htaccess sirven para sobre-escribir directivas y para que se puedan utilizar se debe permitir su uso con la directiva AllowOverride

Si deseamos que cualquier configuración dentro de las posibles pueda ser sobre-escrita podemos usar la opción All. Podemos ver las opciones disponibles en el anterior artículo.


Por ello lo primero que deberemos hacer será editar el fichero de configuración de Apache y en el directorio sobre el que deseamos que se puedan sobre-escribir directivas poner la instrucción Allow Override.

En este caso lo haremos para /var/www, como las directivas se heredan será válido también para cualquier directorio en su interior a no ser qué se establezca lo contrario.

Para trabajar con grupos deberemos además, habilitar el módulo authz_groupfile como ya sabemos:

a2enmod authz_groupfile

Aunque sobra decirlo, como cada vez que hacemos un cambio en las configuraciones de Apache deberemos recargar el servicio con la instrucción service apache2 reload

A continuación crearemos un fichero .htaccess que sobreescribirá la configuración de Apache en la carpeta de nuestro sitio. En este especificaremos que el acceso se dará mediante autenticación.




En él establecemos el tipo de autenticación por usuario contraseña: básica , AuthName es el mensaje que solicitará la autenticación para el acceso.
AuthUserFile es el fichero donde guardaremos los usuarios y sus contraseñas y por último especificamos que para el acceso requerimos el grupo admins.

En lugar de utilizar la directiva Require group, podemos usar
Require user usuario1 usuario2 para especificar a qué usuarios permitimos el acceso o
Require valid-user para permitir el acceso a cualquier usuario que esté registrado en el fichero especificado.

El directorio /usuarios/web y los ficheros users.file y group.file no existen, podemos alojarlos en cualquier otro sitio siempre y cuando las rutas coincidan.


Crearemos las carpetas con la instrucción mkdir -p /usuarios/web
y a continuación procederemos a crear el fichero de usuarios.

Para ello usaremos la instrucción

htpasswd -c /usuarios/web/users.file samuel

 -c es un modificador que indica que en caso de no existir el fichero lo cree y la ruta y el nombre del usuario obviamente son a elegir. La ruta debe concordar y el nombre puede será el usuario con el que deseemos autenticarnos.

A continuación nos solicitará una contraseña para el mismo


 Y posteriormente crearemos el fichero group.file que hemos especificado anteriormente.

 

En este especificaremos los grupos y los usuarios que pertenecen a cada grupo.

Cuando vayamos a acceder a nuestro sitio nos encontraremos con la siguiente sorpresa:





Cómo siempre, un fuerte abrazo y nos vemos en el siguiente artículo.


No hay comentarios:

Publicar un comentario