sudo
permet aux utilisateurs d'exécuter des commandes en tant qu'UID 0 (ou d'autres utilisateurs) en fonction de la configuration. Il n'est pas nécessaire de demander à root un mot de passe pour exécuter une commande en tant qu'UID 0, car il s'agit déjà de l'UID 0.
De plus, root peut aussi su
à qui il veut, il n'est donc pas nécessaire de demander un mot de passe lors de l'exécution de sudo -u user
comme UID 0.
Remarque :Je crois qu'il existe un paramètre PAM qui exigera même que root fournisse un mot de passe à l'utilisateur cible lors de l'utilisation de su
.
Bien que ce soit une incohérence intéressante. Il serait inutile d'arrêter root, car root a des capacités CAP_SETUID
et CAP_SETGID
, donc pas besoin de sudo. Il peut faire ce qu'il veut.
Si sudo
vérifie la racine, et non ces capacités, alors il peut y avoir un bogue latent :la racine sans capacités pourrait s'aggraver (je ne sais pas, je n'ai pas regardé le code, ni testé).