Las Directivas de autenticación Apache sirven para controlar los usuarios y equipos que pueden acceder a nuestro sitio web Apache.


 
Podemos aplicar directivas de permisos sobre los Directorios de nuestro sitio. Lo haremos con la directiva <Directory/>.
 
Autenticación Usuarios y Grupos Apache

 

Dentro de las directivas para autenticación Apache , tenemos:

  • AuthUserFile nombrearchivo : Hemos de colocar una ruta, que será la del fichero que contiene la lista de usuarios y contraseñas.
  • AuthGroupFile nombrearchivo : Aquí veremos los grupos.
  • Require user usuario usuario2 : para un/uno/s usuarios concretos
  • Require group nombregrupo : equivalente, para grupos
  • AuthName : El mensaje que aparece al conectarse.
  • Allow|Deny : de esta forma especificaremos los equipos a los que se les permite o deniega el acceso al sitio.
  • Order : Indica el orden de ejecución de las directivas Allow y Deny

 

Hay dos formas de utilizar estas directivas:

  1. Sin archivo .htaccess : Es mejor utilizar los archivos de configuración para administrar nuestro servidor .
  2. Con archivo .htaccess : suele utilizarse cuando los usuarios deben tener el control de sus propios archivos .htaccess .

 

Primero vamos a hacer un repaso de Cómo Crear los Usuarios

Archivos importantes :
el archivo /etc/passwd
el archivo /etc/group

En nuestro ejercicio vamos a utilizar el archivo .htpasswd:

1
htpasswd /var/www/.htpasswd pruebas

Si el archivo no está creado todavía, tendremos que crearlo:

1
htpasswd -c /var/www/.htpasswd jefeuser

 

o si ya estamos dentro del directorio /var/www/

1
htpasswd -c .htpasswd jefeuser

 

 
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
 
htpasswd apache directorio usuario

TE RECOMENDAMOS  FollowSymLinks | Apache options

nos pedirá introducir la contraseña para el nuevo usuario

Hemos creado el usuario pruebas

adduser nombreusuario

para hacer login con el nuevo usuario: login

para salir de la sesión y hacer login con uno diferente :exit

 

Los grupos a los que pertenece un usuario

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:

sudo shutdown -r now
 
Y ahora sigamos con las formas de utilizar las Directivas de Autenticación en Apache:
 

 

1. Sin archivo .htaccess

 
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:

1
2
3
4
5
6
&lt;Directory /var/www/sitio1/privado&gt;
AuthName &quot;Lo siento. ACCESO RESTRINGIDO.&quot;
AuthUserFile /var/www/.htpasswd
AuthType Basic
require valid-user
&lt;/Directory&gt;

 

Vemos que se mostrará un mensaje (directiva AuthName) cuando se intente acceder

El tipo de autenticación (AuthType Basic)

Podemos ver la ruta del archivo que contiene la lista de usuarios y contraseñas (directiva AuthUser File )

 

Vamos a ver la otra forma de utilizar las Directivas de Autenticación Apache:

 

2. Utilizando un archivo .htaccess

 
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:

TE RECOMENDAMOS  Aprende DNS y APACHE con ejercicios resueltos 100%
1
2
3
&lt;Directory /var/www/sitio1/privado&gt;
AllowOverride AuthConfig
&lt;/Directory&gt;

 

Luego hay que crear archivo .htaccess en raiz del sitio   en   /var/www/sitio1/privado  y lo rellenamos con esto:

1
2
3
4
5
6
7
AuthName &quot;Acceso restringido&quot;
 
AuthUserFile /var/www/.htpasswd
 
AuthType Basic
 
require valid-user

 
Creamos el archivo htpasswd y damos de alta un usuario:

(si utilizamos -c , creamos un fichero nuevo, con lo que se eliminan los usuarios anteriores, asi que cuidado, despues de creado el primero, para añadir más usuarios, hacemos lo mismo pero sin -c)

1
htpasswd -c /var/www/.htpasswd usuario&lt;/em&gt;

(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

 

PRUEBAS LOGIN DE USUARIOS CON NAVEGADOR

 
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.

Limpiamos la caché y las cookies

 

 

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

Actualizamos la pantalla con F5

Si deseais estar al dia de contenidos como este, podeis suscribiros a las actualizaciones de El Taller del Bit

 




Etiquetas del articulo: , ,