- bullseye-backports 4.18.1-1~bpo11+1
- testing 4.18.1-1
- unstable 4.18.1-1
SU(1) | Commandes de l'utilisateur | SU(1) |
NOM¶
su - exécuter une commande avec un UID et un GID de substitution
SYNOPSIS¶
su [options] [-] [utilisateur [argument...]]
DESCRIPTION¶
su permet l'exécution de commandes avec un identifiant utilisateur (UID) et un identifiant de groupe (GID) de substitution.
S'il est appelé sans spécifier d'utilisateur, su exécute par défaut un interpréteur de commande interactif en tant que superutilisateur (root). Lorsqu'un utilisateur est indiqué, des arguments supplémentaires peuvent-être fournis, auquel cas ils sont passés à l'interpréteur.
Pour assurer la rétrocompatibilité, su ne change pas, par défaut, le répertoire actuel et ne définit que les variables d'environnement HOME et SHELL (ainsi que USER et LOGNAME si l'utilisateur cible n'est pas le superutilisateur). Il est recommandé de toujours utiliser l'option --login (au lieu de son raccourci -) pour éviter les effets secondaires causés par un mélange d'environnements.
Cette version de su utilise PAM pour l'authentification, le compte et la gestion de session. Quelques options de configuration trouvées dans d'autres implémentations de su, telles que la prise en charge d'un groupe wheel, doivent être configurées à l'aide de PAM.
su est surtout fait pour les utilisateurs non privilégiés, la solution recommandée pour les utilisateurs privilégiés (par exemple, les scripts exécutés par le superutilisateur) est d'utiliser la commande sans set-user-ID runuser(1) qui ne nécessite pas d'authentification et qui fournit une configuration PAM distincte. Si la session PAM n'est pas du tout indispensable, alors la solution recommandée consiste à utiliser la commande setpriv(1)
Remarquez que su utilise dans tous les cas PAM (pam_getenvlist(3)) pour effectuer la modification finale d'environnement. Les options de ligne de commandes comme --login et --preserve-environment affectent l'environnement avant qu'il ne soit modifié par PAM.
OPTIONS¶
- -c, --command=commande
- Passer une commande à l’interpréteur de commandes avec l'option -c.
- -f, --fast
- Passer -f à l’interpréteur de commandes, ce qui pourrait être utile ou non suivant l’interpréteur de commandes.
- -g, --group=groupe
- Indiquer le groupe primaire. Cette option n'est disponible que pour le superutilisateur.
- -G, --supp-group=groupe
- Indiquer un groupe supplémentaire. Cette option est réservée au superutilisateur. Le premier groupe supplémentaire spécifié est également utilisé comme groupe primaire si l'option --group n'est pas spécifiée.
- -, -l, --login
- Démarrer l’interpréteur de commandes comme un interpréteur de connexion avec un environnement similaire à une connexion réelle :
- o
- efface toutes les variables d'environnement, à l'exception de TERM et des variables indiquées dans --whitelist-environment ;
- o
- initialise les variables d'environnement HOME, SHELL, USER, LOGNAME et PATH ;
- o
- se place dans le répertoire personnel de l'utilisateur cible ;
- o
- définit argv[0] pour l’interpréteur de commandes à « - » pour faire de l’interpréteur de commandes un interpréteur de connexion.
- -m, -p, --preserve-environment
- Préserver la totalité de l'environnement, c'est à dire ne pas définir HOME, SHELL, USER ou LOGNAME. Cette option est ignorée si l'option --login est indiquée.
- -P, --pty
- Créer un pseudo-terminal pour la session. Le terminal indépendant assure une meilleure sécurité, car l'utilisateur ne partage pas le terminal avec la session d”origine. Cela permet d'éviter une injection d’ioctl TIOCSTI de terminal et d'autres attaques de sécurité à l'encontre des descripteurs de fichier du terminal. Il est également possible de mettre la session entière en arrière-plan (par exemple, « su --pty - nom_utilisateur -c application& »). Si le pseudo-terminal est activé, alors su fonctionne comme un serveur mandataire entre les sessions (avec une copie de l'entrée et de la sortie standards).
- La plupart du temps, cette fonctionnalité est conçue pour des sessions interactives. Si l'entrée standard n'est pas un terminal, mais une redirection (« pipe ») (par exemple, echo "date" | su --pty), alors le drapeau ECHO du pseudo-terminal est désactivé pour éviter une sortie désordonnée.
- -s, --shell=shell
- Exécuter l’interpréteur de commandes shell indiqué au lieu de celui par défaut. L’interpréteur de commandes à exécuter est sélectionné d’après les règles suivantes dans cet ordre :
- Si l'utilisateur cible a un interpréteur de commandes restreint (c’est-à-dire non listé dans /etc/shells), l'option --shell et la variable d'environnement SHELL est ignorée sauf si l'utilisateur appelant estle superutilisateur.
- --session-command=commande
- Comme -c, mais sans créer de nouvelle session (déconseillé).
- -w, --whitelist-environment=liste
- Ne pas réinitialiser les variables d'environnement spécifiées dans la liste séparées par des virgules lors du nettoyage de l'environnement pour --login (une connexion). La liste blanche est ignorée pour les variables d'environnement HOME, SHELL, USER, LOGNAME et PATH.
- -V, --version
- Afficher le nom et la version du logiciel et quitter.
- -h, --help
- Afficher l’aide-mémoire puis quitter.
SIGNAUX¶
Dès la réception de SIGINT, SIGQUIT ou de SIGTERM, su termine son processus enfant et puis se termine lui-même avec le signal reçu. Le processus enfant est terminé par SIGTERM, après un essai infructueux et deux secondes de délai, le processus enfant est tué par SIGKILL.
FICHIERS DE CONFIGURATION¶
su lit les fichiers de configuration /etc/default/su et /etc/login.defs. Les éléments de configuration suivants sont significatifs pour su :
FAIL_DELAY (nombre)
ENV_PATH (chaîne)
ENV_ROOTPATH (chaîne)
ENV_SUPATH (chaîne)
ALWAYS_SET_PATH (booléen)
La variable d'environnement PATH peut être différente sur des systèmes où /bin et /sbin sont fusionnés dans /usr ; cette variable est aussi affectée par l'option --login de la ligne de commandes et le paramétrage du système PAM (c'est-à-dire, pam_env(8)).
CODE DE RETOUR¶
su renvoie normalement le code de retour de la commande exécutée. Si lacommande a été tuée par un signal, su renvoie le numéro du signal plus 128.
Le code de retour généré par su lui-même est un des suivants :
- 1
- Erreur générique avant l'exécution de la commande demandée
- 126
- La commande demandée n'a pas pu être exécutée
- 127
- La commande demandée n'a pas été trouvée
FICHIERS¶
- /etc/pam.d/su
- fichier de configuration de PAM par défaut
- /etc/pam.d/su-l
- fichier de configuration de PAM si --login est spécifié
- /etc/default/su
- fichier de configuration logindef spécifique à la commande
- /etc/login.defs
- fichier de configuration logindef général
NOTES¶
Pour des raisons de sécurité, su enregistre toujours les tentatives de connexion échouées dans le fichier btmp, mais n'écrit pas du tout dans le fichier lastlog. Cette solution peut être utilisée pour contrôler le comportement de su avec la configuration de PAM. Si vous voulez utiliser le module pam_lastlog(8) pour afficher des messages d'avertissement sur les échecs de connexions, alors pam_lastlog(8) doit être configuré pour mettre aussi à jour le fichier lastlog. Par exemple avec :
session required pam_lastlog.so nowtmp
HISTORIQUE¶
Cette version de la commande su est dérivée de su de coreutils, qui était basée sur une implémentation de David MacKenzie. La version util-linux a été remaniée par Karel Zak.
VOIR AUSSI¶
setpriv(1), login.defs(5), shells(5), pam(8), runuser(1)
DISPONIBILITɶ
La commande su fait partie du paquet util-linux, elle est disponible sur l'archive du noyau Linux.
TRADUCTION¶
La traduction française de cette page de manuel a été créée par Christophe Blaess <ccb@club-internet.fr> et bubu <bubub@no-log.org>
Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.
Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à debian-l10n-french@lists.debian.org.
Juillet 2014 | util-linux |