-
Sujet
-
Bonjour,
je vais vous expliquer comment fonctionnent des commandes (de base) en bash : su et sudo.
Tout d’abord su
su permet de changer d’utilisateur
Quand on l’exécute sans paramètre, on demande de passer en « root »
Si on ajoute le nom d’un utilisateur après cela, on pourra devenir cet utilisateur (bien entendu, il faudra taper le bon mot de passe pour cela 😉 ).
On peut voir ensuite quelques options comme -m qui va conserver les variables d’environnement une fois qu’on aura changé d’utilisateur, -s qui doit etre suivi d’un chemin vers un shell qui permet d’ouvrir le shell donné en paramètre (bash par défaut bien sur) ou bien même -c qui doit etre suivi d’une commande qui sera exécuté en tant que l’utilisateur spécifié.
Quant à sudo… c’est la même chose que su avec le paramètre c
Par défaut, on essaiera d’exécuter la commande en tant que root.. cependant, au moment de taper le mot de passe, on se rend compte que c’est le mot de passe de notre session qui est demandé au lieu de celui de root. Eh oui ! Il faut donc faire bien attention de bien configurer la commande sudo si jamais vous faites un serveur auquel tout le monde peut accéder.
On peut donc faire : sudo su, on nous demandera alors notre mot de passe et la commande su sera exécuté par root. Mais comme root demande à devenir root mais qu’il l’est déjà (oui ca devient un peu dur à suivre), ca n’aurait aucuns sens de demander le mot de passe. Du coup, on pourra accéder à la session root avec notre mot de passe. Voilà
Il y a aussi d’autres options à sudo du type : -u suivi du nom d’un utilisateur pour exécuter la commande en tant qu’un autre utilisateur (attention les variables d’environnements ne sont pas changés pour autant : si vous tapez sudo -u root echo $USER qui est la même chose que sudo echo $USER, vous aurez votre nom d’utilisateur et pas root), -T est suivi d’un nombre qui est un timeout (si la commande n’est pas exécuté dans le délai donné en seconde, la commande s’arrête) et enfin -l pour lister les commandes que l’on a le droit ou pas de faire avec nos permissions et enfin -U suivi d’un nom d’utilisateur qui est à mettre en combinaison avec -l si on veut voir les commandes que peut exécuter un autre utilisateur (que l’on spécifiera avec -U donc).
- Vous devez être connecté pour répondre à ce sujet.