$ ls -l /usr/bin/sudo
-rwsr-xr-x 1 root root 136808 Jul 4 2017 /usr/bin/sudo
sudo
est donc exécutable par n'importe quel utilisateur, et tout utilisateur qui exécute sudo
aura root comme ID utilisateur effectif du processus car le bit set-user-id de /usr/bin/sudo
est 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
sudo
demande-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
sudo
puis en fournissant son propre mot de passe? Linux peut-il restreindre cela à certains utilisateurs?Est-il correct de
sudo
demander 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.