Comme vous l'avez vu, il est déconseillé de se connecter directement au serveur avec les privilèges root. La meilleure pratique consiste à se connecter avec un compte d'utilisateur standard, puis à élever vos privilèges à root si nécessaire. Une façon d'élever les privilèges consiste à "substituer l'utilisateur" à l'aide de la commande su. La commande su, sans option, permet à un utilisateur de changer son identité pour celle d'un autre utilisateur, mais elle conserve le profil et les variables de l'utilisateur d'origine. L'utilisateur commuté reste également dans le répertoire personnel de l'utilisateur d'origine. Toute personne utilisant su, à l'exception de l'utilisateur root, sera invitée à saisir le mot de passe du compte d'utilisateur vers lequel elle bascule.
L'utilisation de su suivi d'un trait d'union permet à un utilisateur de changer d'utilisateur et de lancer un nouveau shell dans le contexte de ce nouvel utilisateur. C'est une bien meilleure pratique. Toute personne utilisant "su -"" à l'exception de l'utilisateur root sera invitée à saisir le mot de passe de l'utilisateur vers lequel elle bascule. Il est plus courant de passer à l'utilisateur root, mais n'importe quel utilisateur peut passer à n'importe quel autre utilisateur tant qu'il connaît le mot de passe de l'utilisateur.
La syntaxe de la commande su est :
$ su [-] [user name]Remarque :Sans argument de nom d'utilisateur, la commande "su -" supposera que vous voulez vous connecter en tant que root.
Si vous rencontrez l'erreur ci-dessous lors de l'exécution de la commande su :
su: command not found
vous pouvez essayer d'installer le package util-linux comme indiqué ci-dessous selon votre choix de distribution.
Répartition | Commande |
---|---|
OS X | brew install util-linux |
Debian | apt-get install util-linux |
Ubuntu | apt-get install util-linux |
Alpin | apk ajouter util-linux |
Arch Linux | pacman -S util-linux |
Kali Linux | apt-get install util-linux |
CentOS | yum install util-linux |
Fédora | dnf install util-linux |
Raspbian | connexion apt-get install |
Exemples de commandes su
1. Passer en superutilisateur (nécessite le mot de passe root) :
$ su
2. Basculer vers un utilisateur donné (nécessite le mot de passe de l'utilisateur) :
$ su username
3. Basculez vers un utilisateur donné et simulez un shell de connexion complet :
$ su - username
4. Exécutez une commande en tant qu'autre utilisateur :
$ su - username -c "command"
Remarque
Une seule option est autorisée lors de l'exécution de la commande su :l'option –. Lorsque vous exécutez la commande su avec l'option –, un nouveau shell de connexion sera fourni. Lorsque vous n'utilisez pas le caractère -, un shell sans connexion sera fourni.