Il existe un moyen de le faire en remplaçant les paramètres PAM (Pluggable Authentication Module) pour le service sudo. Faites cela au grand risque pour votre machine - ne vous contentez pas de copier-coller à moins que vous ne compreniez ce que fait la commande, et gardez toujours un terminal racine ouvert - test test test! - avant de vous déconnecter, au cas où vous auriez besoin de revenir en arrière et de réparer quelque chose.
Je vous recommande de lire quelques informations sur le fonctionnement de PAM afin de savoir quoi faire en cas de panne. Je recommande également à la plupart des utilisateurs d'aborder ce problème sous un angle différent (créer un compte d'utilisateur distinct pour l'administration) car la solution peut être susceptible d'attaquer la table de hachage sur votre mot de passe si vous n'avez pas défini correctement vos autorisations.
Si vous êtes déterminé à continuer, vous devrez installer un nouveau module PAM. pam_pwdfile utilise le fichier de type ancien / etc / passwd pour l'authentification, ce qui est idéal pour utiliser différents mots de passe pour différents services. Il ne fournit aucune reconnaissance de compte - vous pouvez créer des paires nom d'utilisateur / mot de passe pour les utilisateurs qui n'existent pas sur le système. Comme nous allons l'utiliser pour sudo, cela n'a pas d'importance, car nous allons simplement laisser sudo vérifier que le compte existe de la manière habituelle.
sudo apt-get install libpam-pwdfile
Je recommande également de saisir un éditeur de fichier htpasswd pratique. Benjamin Schweizer a créé un éditeur pratique en python qui fonctionne bien. Récupérez-le sur http://benjamin-schweizer.de/htpasswd_editor.html et installez sa dépendance:
sudo apt-get install python-newt
Générez un fichier au format htpasswd à l'aide de l'outil - sudo python htpasswd_editor sudo.passwd
. Entrez un nom d'utilisateur et un mot de passe en utilisant le même nom d'utilisateur que vous utiliserez pour sudo - un pour chaque utilisateur qui l'utilisera. Copiez-le dans un endroit sûr (lors du test, je le mets dans /etc/sudo.passwd) et rendez-le illisible pour les utilisateurs réguliers: en chmod 660 /etc/sudo.passwd
tant que root.
Assurez-vous que le fichier appartient à root et qu'il est illisible pour les autres utilisateurs. Il s'agit d'une vulnérabilité car le fichier contient un mot de passe haché, et s'il est lisible ou accessible en écriture par d'autres utilisateurs, il nuit gravement à votre sécurité. C'est pour cette raison que je ne recommande pas cette méthode sur une machine qui doit être sécurisée.
Enfin, modifiez le /etc/pam.d/sudo
fichier. Ajoutez la ligne suivante au-dessus des autres @include ...
lignes:
auth required pam_pwdfile.so pwdfile /etc/sudo.passwd
De toute évidence, remplacer le dernier argument par le chemin d'accès à votre fichier htpasswd généré. Commentez la ligne suivante: #@include common-auth
pour vous assurer qu'elle utilise la nouvelle méthode d'authentification.
Attention : vous devrez modifier le /etc/pam.d/sudo
fichier à partir d'un terminal racine. Ne fermez pas cela sans tester! Si vous le faites, vous ne pourrez peut-être pas vous reconnecter (si vous avez cassé quelque chose) et devrez démarrer à partir d'un disque de récupération pour réparer votre système. Testez avant de vous déconnecter en ouvrant un nouveau terminal et essayez d'utiliser sudo
. Vous devriez constater qu'il ne fonctionnera plus avec votre mot de passe de connexion habituel, mais nécessite à la place le nouveau mot de passe que vous avez utilisé lors de la génération du fichier passwd. Pour mettre à jour le fichier, utilisez à nouveau l'outil utile.