su

De Vulgum Techus
Version du 6 mars 2016 à 23:19 par Admin2 (discuter | contributions)

(diff) ← Version précédente | Voir la version courante (diff) | Version suivante → (diff)
Aller à : Navigation, rechercher
Lien court vers cette page : http://vt.cx/su
QR code vers cette page : http://vt.cx/su.qr

Présentation

Abréviation de switch user cette commande Linux permet d'exécuter un shell avec un User-ID et un Group-ID différents. su permet à un utilisateur de se transformer temporaire­ment en un autre utilisateur. Un shell est exécuté avec les UID, GID effectifs et réels, ainsi que les groupes supplémentaires de l'utilisateur indiqué. Si aucun nom d'utilisateur n'est mentionné, le nom root, le super-utilisateur, est utilisé par défaut. Le shell exécuté est celui mentionné dans l'enregistrement correspondant à l'utilisateur dans le fichier /etc/passwd. Si aucun shell n'y est indiqué, /bin/sh est exécuté par défaut. Si un mot de passe est associé à l'utilisateur, su le réclame, à moins qu'il n'ait été invoque avec un UID réel valant 0 (celui du super-utilisateur). Par défaut, su ne change pas de répertoire. Il positionne les variables d'environnement HOME et SHELL à partir des valeurs lues dans le fichier des mots de passe, et si l'utilisateur demandé n'est pas root, renseigne les vari­ables USER et LOGNAME. Par défaut le shell exécuté n'est pas un shell de connexion. Si un ou plusieurs arguments sont fournis, ils sont trans­mis comme arguments supplémentaires au shell. su ne gère pas spécifiquement /bin/sh ou tout autre shell (en positionnant argv[0] a "-su", en transmettant la commande -c seulement à certains shells, etc.). Sur les systèmes avec journalisation syslog, su peut être compilé afin de fournir des rapports d'échec, et éventuellement de réussite des tentatives d'utilisation de su. su ne gère pas le groupe wheel utilisé pour restreindre l'accès par su au compte super-utilisateur pour ne pas donner des pouvoirs excessif aux administrateurs.

Option de su

su [-flmp] [-c commande] [-s shell] [--login] [--fast] [--preserve-environment] [--command=commande] [--shell=shell] [-] [--help] [--version] [utilisateur [arg...]]

-c COMMANDE, --command=COMMANDE

Transmet la COMMANDE (sur une seule ligne) au shell avec l'option -c plutôt que démarrer un shell interactif

--f, --fast

Transmet l'argument -f au shell. Ceci n'a probablement de signification que pour csh et tcsh, pour lesquels l'option -f évite la lecture du fichier de démarrage (.cshrc). Avec les shells de type Bourne, l'option -f désactive le développement des motifs génériques dans les noms de fichiers, ce qui n'est généralement pas le but recherché

---help

Affiche un message d'aide sur la sortie standard et terminer normalement

--, -l, --login

Appelle le shell sous forme de shell de connexion. Voici ce que cela signifie : Invalider toutes les variables d'environnement sauf TERM, HOME, SHELL (qui sont renseignées comme décrit ci- dessus), ainsi que USER et LOGNAME (qui sont alors remplies même pour le super utilisateur). Remplir PATH avec une valeur par défaut donnée lors de la compilation. Se déplacer dans le répertoire HOME de l'utilisateur. Ajouter "-" au nom du shell, pour que celui-ci lise son ou ses fichiers de démarrage

--m, -p, --preserve-environment

Ne pas changer les variables d'environnement HOME, USER, LOGNAME, SHELL. Executer le shell correspondant à la variable d'environnement SHELL plutot que celui présent dans l'enregistrement /etc/passwd de l'utilisateur, à moins que ce dernier ait un shell restreint, et que l'appelant ne soit pas le super utilisateur. Un shell est restreint s'il n'est pas dans la liste /etc/shells ou dans une liste fournie lors de la compilation si ce dernier fichier n'existe pas. Le comportement de cette option peut être partiellement modifiée avec les options --login et --shell

--s, --shell shell

Exécute le shell indiqué plutôt que celui présent dans l'enregistrement /etc/passwd de l'utilisateur, à moins que ce dernier ait un shell restreint, et que l'appelant ne soit pas le super utilisateur

--v, --version

Afficher un numéro de version sur la sortie standard et terminer normalement

Commentaires

blog comments powered by Disqus