Programa diseñado para ser utilizado con módulos de autenticación externa como mod_auth_external o mod_authnz_external en el servidor web Apache. Su propósito principal es permitir la autenticación web utilizando la base de datos de contraseñas del sistema.lee el nombre de usuario y la contraseña desde la entrada estándar [stdin] y verifica si la combinación de usuario y contraseña es válida en la base de datos de contraseñas del sistema. Si la autenticación es exitosa, pwauth devuelve un código de salida de 0, indicando que la autenticación fue exitosa. De lo contrario, devuelve un código de salida distinto de cero, indicando un fallo en la autenticación.
1.-
script CGI que necesita autenticar a un usuario:
$ nano auth.sh
#!/bin/bash
#
# Leer el nombre de usuario y la contraseña desde el formulario
read username
read password
#
# Ejecutar pwauth con la combinación de usuario y contraseña
echo -e "$username\n$password" | /usr/sbin/pwauth
#
# Verificar el código de salida de pwauth
if [ $? -eq 0 ]; then
echo "Authentication successful"
else
echo "Authentication failed"
fi
2.-
Integración con Apache
Primero se debe instalar y configurar los módulos mod_auth_external o mod_authnz_external. A continuación, configurar Apache para utilizar pwauth como el programa de autenticación externa.
# nano /etc/apache2/apache2.conf
<Directory "/var/www/html/protected">
AuthType Basic
AuthName "Restricted Area"
AuthBasicProvider external
AuthExternal pwauth
Require valid-user
</Directory>
En esta configuración, se protege el directorio /var/www/html/protected y se requiere autenticación básica.