Même lorsque je suis connecté en tant qu'utilisateur non administrateur, lorsque j'entre Sudo bash
ou Sudo -s
, le système ne demande aucun mot de passe. Dans l'historique des commandes, je n'ai pas entré de mot de passe pour Sudo
plus tôt (c'est-à-dire que Sudo
n'a pas mis en cache les informations d'identification de l'utilisateur, ce qui pourrait l'empêcher de demander à nouveau mon mot de passe au cours de cette session.)
Pourquoi ce comportement étrange? Et comment puis-je m'assurer que chaque commande Sudo
et su
nécessite un mot de passe correspondant? Et comment garantir strictement qu'aucun utilisateur ne peut obtenir les privilèges root sans entrer le mot de passe root?
Voici le contenu de mon /etc/sudoers
fichier:
#
# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults env_reset
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
# Host alias specification
# User alias specification
# Cmnd alias specification
# User privilege specification
root ALL=(ALL:ALL) ALL
# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL
# Allow members of group Sudo to execute any command
%Sudo ALL=(ALL:ALL) ALL
# See sudoers(5) for more information on "#include" directives:
#includedir /etc/sudoers.d
ALL ALL=(ALL) NOPASSWD:ALL
Cela est dû à la dernière ligne de votre /etc/sudoers
fichier, qui indique:
ALL ALL=(ALL) NOPASSWD:ALL
... ce qui signifie "tous les utilisateurs peuvent exécuter toutes les commandes en tant que root sans mot de passe".
Je ne sais pas comment cette ligne est entrée, mais si vous la supprimez, vous restaurerez le comportement normal. Remarque: utilisez visudo
pour l'édition pour vous assurer de ne pas y trouver d'erreurs de syntaxe, c'est-à-dire, exécutez la commande
Sudo visudo
et modifiez le fichier à l'aide de l'éditeur qui apparaît.