Hay una forma bastante sencilla de asignar contraseñas a los directorios accedidos via apache desde un navegador web, para ello es necesario conocer 2 ficheros claves, el primero y el principal es llamado .htaccess (con punto inicial) y es el que le indica a apache que hay restricciones o funciones especiales en el directorio que lo contiene. El segundo es llamado .htpasswd (con punto) que es el que contiene los usuarios autorizados a ver el contenido del directorio con sus respectivas contraseñas.

Ejemplo:

Asumiento que apache ingresa por defecto al directorio /var/www, vamos a crear un directorio llamado restringido dentro de /var/www , la idea es que cuando alguien llege al servidor y quiera ver el contenido del directorio restringido, apache le solicite un usuario y contraseña antes de permitirle ver lo que hay dentro.

Instrucciones:

  • Ingrese al directorio a restringir
  • cd /var/www/restringido

  • Cree un fichero llamado .htaccess en su interior
  • touch .htaccess

    Conun editor de textos agrege lo siguiente en .htaccess SIN LAS COMILLAS ” “

    AthUserFile /var/www/restringido/.htpasswd
    AuthGroupFile /dev/null
    AuthName "Directorio Restringido"
    AuthType Basic

    "<"Limit GET">"
    require valid-user
    "<"/Limit">"

    Como se puede observar se ha especificado la ruta en donde se encuentran los usuarios autorizados ( /var/www/restringido/.htpasswd)

  • Posteriormente crearemos el fichero .htpasswd con el comando:
  • htpasswd -c [ruta del fichero .htpasswd] [usuario]

    Como el fichero no existe el parametro -c lo crea, si el fichero ya existiese, borrará todo el contenido del fichero antiguo.

    Para el primer usuario
    htpasswd -c /var/www/restringido/.htpasswd rodrigo

    Para agregar un nuevo usuario
    htpasswd /var/www/restringido/.htpasswd juan

    Para eliminar un usuario

    Deberia bastar con borrarlo a mano del fichero .htpasswd, sin embargo tambien es posible hacer lo siguiente:

    htpasswd -D /var/www/restringido/.htpasswd juan

    Importante, al agregar un punto en el inicio del nombre, el sistema lo toma como un fichero oculto, por lo que para verificar la existencia de los ficheros, se debe usar el comando ls -la

    Leave a comment

    Your email address will not be published. Required fields are marked *

    This site uses Akismet to reduce spam. Learn how your comment data is processed.