Commandes Linux : su

SU

Installé avec le paquet login
Voir aussi : sudo

Rmq :

  • su signifie Switch User et selon d’autres sources Super User
  • un mot de passe est demandé à chaque exécution de la commande : celui de l’utilisateur vers lequel on souhaite switchersu
  • l’option «  » permet de « charger » les variables d’environnement de l’utilisateur vers lequel on switche

 

Afficher la version de la commande su

apt-cache policy login

 

Exécuter une commande en tant qu’un utilisateur particulier

su username -c 'command'

Le mot de passe requis est celui de l’utilisateur vers lequel on souhaite switcher.
Toutefois, les variables d’environnement sont celles de l’utilisateur qui exécute la commande su.
Les guillemets permettent d’isoler la commande à exécuter avec ses arguments.
Equivaut (dans sa finalité) à :
sudo -u username command
Sauf que cette dernière commande consulte le fichier /etc/sudoers pour vérifier si l’utilisateur connecté possède les droits requis pour l’exécution de la commande spécifiée.
De plus, le mot de passe demandé est celui de l’utilisateur qui lance la commande sudo.
ex :

$ su ftpuser -c 'echo $PWD'
Mot de passe : 
/home/adminsys

 

Exécuter une commande en tant qu’un utilisateur particulier avec ses variables d’environnement

L’option - permet de basculer vers l’utilisateur spécifié ensuite avec ses variables d’environnement. Sans cette option, les variables d’environnement sont celles de l’utilisateur qui exécute la commande su.

su - username -c 'command'

Les guillemets permettent d’isoler la commande à exécuter avec ses arguments.
ex :

$ su - ftpuser -c 'echo $PWD'
Mot de passe : 
/home/ftpuser

 

Se connecter en tant qu’un utilisateur particulier

su username

Ci-dessus, les variables d’environnement sont celles de l’utilisateur qui exécute la commande su.
Equivaut à :
sudo su username
ex :

$ su ftpuser
Mot de passe : 
$ echo $PWD
/home/adminsys
su - username

Ci-dessus, les variables d’environnement sont celle de l’utilisateur vers lequel on switche.
Equivaut à :
sudo su - username
ex :

$ su - ftpuser
Mot de passe : 
$ echo $PWD
/home/ftpuser

 

Exécuter une commande en tant que super-utilisateur root

su -c 'command'

Par défaut, si aucun utilisateur n’est spécifié après su, c’est root qui est sélectionné et c’est donc son mot de passe qui est demandé.
Toutefois, les variables d’environnement sont celles de l’utilisateur qui exécute la commande su.

su root -c 'command'

Les guillemets permettent d’isoler la commande à exécuter avec ses arguments.
Equivaut (dans sa finalité) à :
sudo command
sudo -u root command
Sauf que ces deux dernières commandes consultent le fichier /etc/sudoers pour vérifier si l’utilisateur connecté possède les droits requis pour l’exécution de la commande spécifiée.
De plus, le mot de passe demandé est celui de l’utilisateur qui lance la commande sudo.
ex :

$ su -c 'echo $PWD'
Mot de passe : 
/home/adminsys

 

Exécuter une commande en tant que super-utilisateur root avec ses variables d’environnement

L’option - permet de basculer vers l’utilisateur spécifié ensuite avec ses variables d’environnement. Sans cette option, les variables d’environnement sont celles de l’utilisateur qui exécute la commande su.

su - -c 'command'

Par défaut, si aucun utilisateur n’est spécifié après su, c’est root qui est sélectionné et c’est donc son mot de passe qui est demandé.

su - root -c 'command'

Les guillemets permettent d’isoler la commande à exécuter avec ses arguments.
ex :

$ su - -c 'echo $PWD'
Mot de passe : 
/root

 

Se connecter en tant que root

su

Par défaut, si aucun utilisateur n’est spécifié, c’est implicitement vers root que se fait le switch.

su root

Sur les deux commandes ci-dessus, les variables d’environnement sont celles de l’utilisateur qui exécute la commande su.
Equivaut à :
sudo su
sudo su root
ex :

$ su
Mot de passe : 
# echo $PWD
/home/adminsys
su -

Par défaut, si aucun utilisateur n’est spécifié, c’est implicitement vers root que se fait le switch.

su - root

Sur les deux commandes ci-dessus, les variables d’environnement sont celles de root.
Equivaut à :
sudo su -
sudo su - root
ex :

$ su -
Mot de passe : 
# echo $PWD
/root
Fermer le menu
%d blogueurs aiment cette page :