SU(1) | Commandes de l'utilisateur | SU(1) |
su - exécuter une commande avec un UID et un GID de substitution
su [options] [-] [utilisateur [argument...]]
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.
Depuis la version 2.38, su réinitialise les limites de ressource des RLIMIT_NICE, RLIMIT_RTPRIO, RLIMIT_FSIZE, RLIMIT_AS et RLIMIT_NOFILE.
-c, --command=commande
-f, --fast
-g, --group=groupe
-G, --supp-group=groupe
-, -l, --login
-m, -p, --preserve-environment
-P, --pty
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
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
-w, --whitelist-environment=liste
-h, --help
-V, --version
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.
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)).
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
126
127
/etc/pam.d/su
/etc/pam.d/su-l
/etc/default/su
/etc/login.defs
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
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.
Pour envoyer un rapport de bogue, utilisez le système de gestion des problèmes à l'adresse <https://github.com/util-linux/util-linux/issues>.
La commande su fait partie du paquet util-linux qui peut être téléchargé depuis Linux Kernel Archive <https://www.kernel.org/pub/linux/utils/util-linux/>.
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.
11 mai 2022 | util-linux 2.38.1 |