Le su
(abréviation de substitut ou de changement d'utilisateur) vous permet d'exécuter des commandes avec les privilèges d'un autre utilisateur, par défaut l'utilisateur root.
Utilisation de su
est le moyen le plus simple de basculer vers le compte administrateur dans la session de connexion en cours. Ceci est particulièrement pratique lorsque l'utilisateur root n'est pas autorisé à se connecter au système via sshor à l'aide du gestionnaire d'affichage de l'interface graphique.
Dans ce tutoriel, nous allons vous expliquer comment utiliser le su
commande.
Comment utiliser le su
Commande #
La syntaxe générale pour le su
commande est la suivante :
su [OPTIONS] [USER [ARGUMENT...]]
Lorsqu'il est invoqué sans aucune option, le comportement par défaut de su
est d'exécuter un shell interactif en tant que root :
su
Vous serez invité à entrer le mot de passe root et, s'il est authentifié, l'utilisateur exécutant la commande devient temporairement root.
Le shell de session (SHELL
) et domicile (HOME
) les variables d'environnement sont définies à partir du /etc/passwd
de l'utilisateur de substitution entrée, et le répertoire actuel n'est pas modifié.
Pour confirmer que l'utilisateur est changé, utilisez le whoami
commande :
whoami
La commande affichera le nom de l'utilisateur exécutant la session shell en cours :
root
L'option la plus couramment utilisée lors de l'appel de su
est -
(-l
, --login
). Cela fait du shell un shell de connexion avec un environnement très similaire à un vrai login et change le répertoire courant :
su -
Si vous souhaitez exécuter un autre shell au lieu de celui défini dans le passwd
fichier, utilisez le -s
, --shell
option. Par exemple, pour passer en root et exécuter le zsh
shell, vous taperiez :
su -s /usr/bin/zsh
Pour préserver tout l'environnement (HOME
, SHELL
, USER
, et LOGNAME
) de l'utilisateur appelant, invoquez la commande avec le -p
, --preserve-environment
option.
su -p
Lorsque le -
l'option est utilisée, -p
est ignoré.
Si vous souhaitez exécuter une commande en tant qu'utilisateur de remplacement sans démarrer un shell interactif, utilisez le -c
, --command
option. Par exemple, pour invoquer le ps
commande en tant que root, vous taperez :
su -c ps
Pour passer à un autre compte utilisateur, passez le nom d'utilisateur en argument à su
. Par exemple, pour passer à l'utilisateur tyrion
vous taperiez :
su tyrion
Sudo contre Su #
Sur certaines distributions Linux comme Ubuntu, le compte utilisateur root est désactivé par défaut pour des raisons de sécurité. Cela signifie qu'aucun mot de passe n'est défini pour root et que vous ne pouvez pas utiliser su
pour passer à la racine.
Une option pour passer à la racine serait de faire précéder le su
commande avec sudo
et saisissez le mot de passe de l'utilisateur actuellement connecté :
sudo su -
Le sudo
La commande vous permet d'exécuter des programmes en tant qu'autre utilisateur, par défaut l'utilisateur root.
Si l'utilisateur est accordé avec sudo
évaluer, le su
La commande est invoquée en tant que root. Exécution de sudo su -
puis taper le mot de passe de l'utilisateur a le même effet que l'exécution de su -
et en tapant le mot de passe root.
Lorsqu'il est utilisé avec le -i
option, sudo
exécutez un shell de connexion interactif avec l'environnement de l'utilisateur root :
sudo -i
sudo -i
est fondamentalement identique à l'exécution de su -
.
L'avantage d'utiliser sudo
sur su
est que le mot de passe root n'a pas besoin d'être partagé entre plusieurs comptes d'utilisateurs administratifs.
Avec sudo
vous pouvez également autoriser les utilisateurs à exécuter uniquement des programmes spécifiques avec des privilèges root.
Conclusion #
su
est un utilitaire de ligne de commande qui vous permet de devenir temporairement un autre utilisateur et d'exécuter des commandes avec l'utilisateur de remplacement.
Si vous avez des questions ou des commentaires, n'hésitez pas à laisser un commentaire.