Sortir du sudo su

spyrto

Membre confirmé
5 Septembre 2014
14
0
Hello
Je viens de découvrir un truc!
Si dans le terminal je fais sudo su. J'entre mon mot de passe et je suis en root.
Jusqu'ici aucun problème.
Après si je fais un exit et à nouveau un sudo su derrière. Aucun mot de passe n'est demandé! même si je quitte le terminal et le re-ouvre derrière.
Est-ce une question de configuration?

P.S. Je suis en 10.10.4
 
Salut spyrto.

Lorsque dans le «Terminal», un utilisateur admin passe en statut root (en s'authentifiant pour ce faire par son mot-de-passe admin) - que ce soit, sans changer de shell, via le préfixe de commande sudo ; que ce soit, en changeant de shell, via la commande sudo su --> alors cet utilisateur, aussi longtemps qu'il ne se délogge pas de sa session ni ne re-démarre son Mac entre temps, conserve le privilège de repasser en statut root sans authentification pendant un délai de 5' par défaut à l'horloge du Système. Ce n'est pas une question de version de l'OS : c'est le défaut dans OS X.

C'est une extension temporelle de prérogative assez commode en pratique, si l'on passe une cascade de commandes discrètes, certaines en droits root, entrecoupées de commandes ordinaires (par exemple en mode expérimental, pour tester les invocations possibles d'un binaire sur un élément donné) : il n'est pas besoin, quand on a à recourir derechef au statut de root (via sudo par exemple), de se ré-authentifier à chaque fois. Personnellement, j'ai un mot-de-passe admin de 32 caractères alpha-numériques : ça me "gaverait grave" d'avoir chaque fois à me ré-authentifier en le re-saisissant !

Il y a quand même un garde-fou certain à cette prérogative : l'utilisateur admin ne se confond pas directement avec root pendant 5' à l'horloge - c'est-à-dire, à supposer qu'il se soit déloggé du «Terminal» pour s'y relogger, les commandes directes qu'il peut passer ne gardent pas root par défaut comme opérateur. Il lui faut, chaque fois, reproduire la formalité initiale de passation aux droits root (sudo ou sudo su) - mais avec le bénéfice d'un raccourci : pas besoin de "resigner" chaque fois.

On peut noter aussi une certaine hiérarchie dans les requêtes : une requête sudo initialement authentifiée par le mot-de-passe admin induit la prérogative des 5' sans ré-authentification pour toute répétition du type "sudo" : sudo ou sudo su ; mais cette prérogative ne s'étend pas à la requête su (par exemple : su root), qui réclame une authentification spécifique (après quoi l'utilisateur bénéficie du délai de grâce des 5' pour chacune : sudo et su). Par contre, la requête su, après authentification initiale, étend cette prérogative à la requête sudo pour laquelle l'utilisateur obtient la même dispense sans l'avoir requise au préalable.​
 
C'est quand même une faille de sécurité ; qu'on ne retrouve pas sur d'autres UNIX : en effet, on peut changer la configuration pour que le ticket que l'on ouvre en donnant son mot de passe reste attaché au terminal (ou pseudo-terminal) sur lequel il a été ouvert (voir la configuration de /etc/sudoers) et c'est ce qui se passe ailleurs.

Note que si tu veux liquider le ticket avant d'atteindre la durée de cinq minutes réglementaire, tu peux taper
Bloc de code:
sudo -K

Je ne sais pas si cela a été changé sur 10.11 mais ça me paraîtrait pertinent.
 
Dernière édition:
Merci bompi pour l'astuce.
C'est bien ce qu'il me semblait ! Car dans mes souvenirs, une fois taper exit sous linux. Après il fallait refaire le mdp.