Stations de travail en ligne OnWorks Linux et Windows

Logo

Hébergement gratuit en ligne pour les postes de travail

<Précédent | Table des matières | Suivant>

su - Exécuter un shell avec des identifiants d'utilisateur et de groupe de substitution

La su La commande est utilisée pour démarrer un shell en tant qu'autre utilisateur. La syntaxe de la commande ressemble à ceci :



su [-[l]] [utilisateur]

su [-[l]] [utilisateur]


Si l'option "-l" est incluse, la session shell résultante est une shell de connexion pour l'utilisateur spécifié. Cela signifie que l'environnement de l'utilisateur est chargé et que le répertoire de travail est remplacé par le répertoire de base de l'utilisateur. C'est généralement ce que nous voulons. Si l'utilisateur n'est pas spécifié, le superutilisateur est supposé. Notez que (étrangement) le « -l » peut être abrégé « - », ce qui est la façon dont il est le plus souvent utilisé. Pour démarrer un shell pour le superutilisateur, nous ferions ceci :



[moi@linuxbox ~]$ su - Mot de passe : [root@linuxbox ~]#

[moi@linuxbox ~]$ su - Mot de passe : [root@linuxbox ~]#


Après avoir entré la commande, nous sommes invités à saisir le mot de passe du superutilisateur. S'il est entré avec succès, une nouvelle invite de shell apparaît indiquant que ce shell a des privilèges de superutilisateur (le "#" de fin plutôt qu'un "$") et le répertoire de travail actuel est maintenant le répertoire personnel du superutilisateur (normalement / Root). Une fois dans le nouveau shell, nous pouvons exécuter des commandes en tant que superutilisateur. Lorsque vous avez terminé, entrez « exit » pour revenir au shell précédent :



[root @ linuxbox ~] # sortie

[moi@linuxbox ~]$

[root @ linuxbox ~] # sortie

[moi@linuxbox ~]$


Il est également possible d'exécuter une seule commande plutôt que de lancer une nouvelle commande interactive en utilisant su par ici:


su -c 'commander'

su -c 'commander'


En utilisant ce formulaire, une seule ligne de commande est transmise au nouveau shell pour exécution. Il est important de mettre la commande entre guillemets, car nous ne voulons pas que l'expansion se produise dans notre shell, mais plutôt dans le nouveau shell :


[moi@linuxbox ~]$ su -c 'ls -l /root/*'

Mot de passe:

-rw------- 1 racine racine 754 2007-08-11 03:19 /root/anaconda-ks.cfg


/root/Mail : total 0 [me@linuxbox ~]$

[moi@linuxbox ~]$ su -c 'ls -l /root/*'

Mot de passe:

-rw------- 1 racine racine 754 2007-08-11 03:19 /root/anaconda-ks.cfg


/root/Mail : total 0 [me@linuxbox ~]$


Meilleur système d'exploitation Cloud Computing chez OnWorks :