Avec Apache, il est possible d'utiliser des fichiers d'authentification pour protéger des répertoires web.
Pour générer ces fichiers d'authentification, il est nécessaire d'utiliser la commande htdigest.
La commande htdigest inscrit les données d'authentification obligatoirement dans un fichier.
Pour afficher ces mêmes informations mais uniquement sur la sortie standard (pour x raisons) il est nécessaire d'utiliser la commande openssl.
Voici un script qui permet de saisir les informations d'authentification et affiche le résultat sur la sortie standard :
$ cat htdigest.sh
#!/bin/bash
echo "Creation d'une authentification Apache"
echo "-----------------------------------------------"
read -p "Votre nom : " NAME
read -p "Apache AuthName: " AUTHNAME
read -s -p "Votre mot de passe : " PASS; echo
printf "%s:%s:%s\n" \
"$NAME" \
"$AUTHNAME" \
$(printf "${NAME}:${AUTHNAME}:${PASS}" | openssl dgst -md5)
exit 0
Exécution du script :
$ ./htdigest.sh
Creation d'une authentification Apache
-----------------------------------------------
Votre nom : toto
Apache AuthName: monSite
Votre mot de passe :
toto:monSite:ffdcd4a53fb7dd716ec2d017e93bc563