$ ls -l /usr/bin/sudo
-rwsr-xr-x 1 root root 136808 Jul 4 2017 /usr/bin/sudo
sudoest donc exécutable par n'importe quel utilisateur, et tout utilisateur qui exécute sudoaura root comme ID utilisateur effectif du processus car le bit set-user-id de /usr/bin/sudoest défini.
De https://unix.stackexchange.com/a/11287/674
la différence la plus visible entre sudo et su est que sudo nécessite le mot de passe de l'utilisateur et su requiert le mot de passe root.
Quel mot de passe utilisateur
sudodemande-t-il? Est-ce l'utilisateur représenté par l'ID utilisateur réel du processus?Si oui, aucun utilisateur ne peut obtenir le privilège de superutilisateur en exécutant
sudopuis en fournissant son propre mot de passe? Linux peut-il restreindre cela à certains utilisateurs?Est-il correct de
sudodemander le mot de passe aprèsexecve()début de l'exécutionmain()de/usr/bin/sudo?Étant donné que l'euid du processus a été changé en root (car le bit set-user-id de / usr / bin / sudo est défini), à quoi sert sudo de demander un mot de passe plus tard?
Merci.
J'ai lu https://unix.stackexchange.com/a/80350/674 , mais il ne répond pas aux questions ci-dessus.