Podemos aplicar directivas de permisos sobre los Directorios de nuestro sitio. Lo haremos con la directiva <Directory/>.
CONTENIDOS:
Archivos importantes :
–> el archivo /etc/passwd
–> el archivo /etc/group
En nuestro ejercicio vamos a utilizar el archivo .htpasswd:
htpasswd /var/www/.htpasswd pruebas
Si el archivo no está creado todavía, tendremos que crearlo:
htpasswd -c /var/www/.htpasswd jefeuser
o si ya estamos dentro del directorio /var/www/
htpasswd -c .htpasswd jefeuser
*CUIDADO* : (si utilizamos la opción -c , creamos un fichero nuevo, con lo que se eliminan los usuarios anteriores, así que cuidado, después de creado el primero, para añadir más usuarios, hacemos lo mismo pero sin -c)
De esta forma hemos creado el archivo .htpasswd, y creado en él un password de acceso para el usuario jefeuser.
Este usuario y password, serán utilizados por la directiva AuthUserFile
–> para hacer login con el nuevo usuario: login
–> para salir de la sesión y hacer login con uno diferente :exit
Añadir un usuario a un grupo, por ejemplo añadir usuario pruebas al grupo admin:
adduser pruebas admin
Otras cosillas importantes para funcionar:
– Para ver los usuarios del sistema:
cat /etc/passwd
– Salir de sesión:
logout
o
exit
Y ahora sigamos con las formas de utilizar las Directivas de Autenticación en Apache.
Vamos a crear un directorio privado dentro del sitio1.
Comenzamos.
En nuestro archivo de VirtualHost, situado en /etc/apache2/sites-enabled/nombre-del-archivo-del-sitio
añadimos lo siguiente:
AuthName "Lo siento. ACCESO RESTRINGIDO."
AuthUserFile /var/www/.htpasswd
AuthType Basic
require valid-user
Vamos a ver la otra forma de utilizar las Directivas de Autenticación Apache:
Debe estar activa la directiva AllowOverride AuthConfig.
Por tanto, cuando no usemos htaccess, usaremos AllowOverride None
Añadir en nuestro archivo de virtualhost, en el sitio concreto, en la directiva Directory:
AllowOverride AuthConfig
Luego hay que crear un archivo .htaccess en la raíz del sitio en /var/www/sitio1/privado y lo rellenamos con esto:
AuthName "Acceso restringido"
AuthUserFile /var/www/.htpasswd
AuthType Basic
require valid-user
–> Creamos el archivo htpasswd y damos de alta un usuario:
htpasswd -c /var/www/.htpasswd usuario
(de esta forma creamos el fichero htpasswd y el usuario con nombre “usuario“)
Y funcionará la autenticación mostrando el formulario de login de la misma forma.
Recordemos que si utilizamos la opción -c al usar htpasswd, creamos un fichero nuevo, con lo que se eliminan los usuarios anteriores, así que cuidado, después de creado el primero, para añadir más usuarios, hacemos lo mismo pero sin -c
Como hemos estado haciendo varias pruebas y actualizaciones del servidor apache, además de reiniciar la configuración del servidor Apache, es necesario limpiar la caché del navegador , por si estuviera utilizando una copia de la caché reciente pero no la actual.
Y ahora comprobamos, entrando a nuestro dominio, que la autenticación por usuario funciona.
Al intentar acceder , nos aparece el formulario de identificación requerida, con los campos nombre de usuario y contraseña