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:

 
 
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

 

 
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

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:

<Directory /var/www/sitio1/privado>
AuthName "Lo siento. ACCESO RESTRINGIDO."
AuthUserFile /var/www/.htpasswd
AuthType Basic
require valid-user
</Directory>

 

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:

<Directory /var/www/sitio1/privado>
AllowOverride AuthConfig
</Directory>

 

Luego hay que crear archivo .htaccess en raiz 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:

(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)

htpasswd -c /var/www/.htpasswd usuario</em>

(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: , ,


Suscríbete para acceder a la zona privada

Suscribiéndote a la lista de correo de El Taller del Bit conseguirás entrar a la zona privada de descargas con materiales exclusivos (ebooks, artículos privados, plugins, descargas de exámenes resueltos ...)

Gracias. Te has suscrito con éxito!