RUNUSER(1) Commandes de lutilisateur RUNUSER(1) NOM runuser - Executer une commande avec des identifiants d'utilisateur et de groupe substitues SYNOPSIS runuser [options] -u user [[--] command [argument...]] runuser [options] [-] [user [argument...]] DESCRIPTION runuser can be used to run commands with a substitute user and group ID. If the option -u is not given, runuser falls back to su-compatible semantics and a shell is executed. The difference between the commands runuser and su is that runuser does not ask for a password (because it may be executed by the root user only) and it uses a different PAM configuration. The command runuser does not have to be installed with set-user-ID permissions. Si une session PAM n'est pas indispensable, la solution recommandee consiste a utiliser la commande setpriv(1). Si appelee sans argument, runuser execute par defaut un interpreteur de commandes interactif en tant que superutilisateur. Pour assurer la retrocompatibilite, runuser ne change pas, par defaut, de repertoire actuel et ne definit que les variables d'environnement HOME et SHELL (plus USER et LOGNAME si l'utilisateur cible n'est pas le superutilisateur). Cette version de runuser utilise PAM pour la gestion de session. Remarquez que runuser utilise dans tous les cas PAM (pam_getenvlist()) pour effectuer une modification sur l'environnement final. Les options de la ligne de commande comme --login ou --preserve-environment touchent l'environnement avant qu'il ne soit modifie par PAM. Since version 2.38 runuser resets process resource limits RLIMIT_NICE, RLIMIT_RTPRIO, RLIMIT_FSIZE, RLIMIT_AS and RLIMIT_NOFILE. OPTIONS -c, --command=commande Passer une commande a l'interpreteur de commandes avec l'option -c. -f, --fast Passer -f a l'interpreteur de commandes, ce qui pourrait etre utile ou non suivant l'interpreteur de commandes. -g, --group=groupe Le groupe primaire a utiliser. Cette option n'est permise que pour le superutilisateur. -G, --supp-group=groupe Specifier un groupe supplementaire. Cette option n'est disponible que pour le superutilisateur. Le premier groupe supplementaire specifie est egalement utilise en tant que groupe primaire si l'option --group n'est pas specifiee. -, -l, --login Demarrer l'interpreteur de commandes comme un interpreteur de connexion avec un environnement similaire a une connexion reelle : o effacer toutes les variables d'environnement sauf TERM et les variables specifiees avec --whitelist-environment ; o initialiser les variables d'environnement HOME, SHELL, USER, LOGNAME et PATH o se placer dans le repertoire personnel de l'utilisateur cible ; o definir argv[0] pour l'interpreteur de commandes a << - >> pour faire de l'interpreteur de commandes un interpreteur de connexion. -m, -p, --preserve-environment Preserver la totalite de l'environnement, c'est-a-dire ne pas definir HOME, SHELL, USER ni LOGNAME. Cette option est ignoree si l'option --login est indiquee. -P, --pty Create a pseudo-terminal for the session. The independent terminal provides better security as the user does not share a terminal with the original session. This can be used to avoid TIOCSTI ioctl terminal injection and other security attacks against terminal file descriptors. The entire session can also be moved to the background (e.g., runuser --pty -u user -- command &). If the pseudo-terminal is enabled, then runuser works as a proxy between the sessions (sync stdin and stdout). This feature is mostly designed for interactive sessions. If the standard input is not a terminal, but for example a pipe (e.g., echo "date" | runuser --pty -u user), then the ECHO flag for the pseudo-terminal is disabled to avoid messy output. -s, --shell=shell Executer l'interpreteur de commandes shell indique au lieu de celui par defaut. L'interpreteur de commandes a executer est selectionne d'apres les regles suivantes dans cet ordre : o l'interpreteur de commandes indique avec --shell ; o l'interpreteur de commandes indique dans la variable d'environnement SHELL si l'option --preserve-environment est utilisee ; o l'interpreteur de commandes indique dans l'entree passwd de l'utilisateur cible ; o /bin/sh Si l'utilisateur cible a un interpreteur de commandes restreint (c'est-a-dire ne faisant pas partie de /etc/shells), l'option --shell et la variable d'environnement SHELL sont ignorees sauf si l'utilisateur appelant est le superutilisateur. --session-command=commande Comme -c, mais sans creer de nouvelle session (a eviter). -T, --no-pty Do not create a pseudo-terminal, opposite of --pty and -P. Note that running without a pseudo-terminal opens the security risk of privilege escalation through TIOCSTI/TIOCLINUX ioctl command injection. -u, --user=user Run command with the effective user ID and group ID of the user name user. -w, --whitelist-environment=liste Ne pas reinitialiser les variables d'environnement specifiees dans une liste separee par des virgules au moment de vider l'environnement pour --login (une connexion). La liste blanche est ignoree s'agissant des variables d'environnement HOME, SHELL, USER, LOGNAME et PATH. -h, --help Afficher l'aide-memoire puis quitter. -V, --version Afficher la version et quitter. FICHIERS DE CONFIGURATION runuser reads the /etc/default/runuser and /etc/login.defs configuration files. The following configuration items are relevant for runuser: ENV_PATH (chaine) Definit la variable d'environnement pour un utilisateur ordinaire. La valeur par defaut est /usr/local/bin:/bin:/usr/bin. ENV_ROOTPATH (chaine), ENV_SUPATH (chaine) Defines the PATH environment variable for root. ENV_SUPATH takes precedence. The default value is /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin. ALWAYS_SET_PATH (booleen) If set to yes and --login and --preserve-environment were not specified runuser initializes PATH. La variable d'environnement PATH peut etre differente sur des systemes ou /bin et /sbin sont fusionnes dans /usr, cette variable est aussi concernee par l'option --login de la ligne de commande et le parametrage du systeme PAM (comme pam_env(8)). CODE DE RETOUR runuser normally returns the exit status of the command it executed. If the command was killed by a signal, runuser returns the number of the signal plus 128. Le code de retour genere par runuser elle-meme est un des suivants. 1 Erreur generale avant d'executer la commande demandee. 126 La commande demandee n'a pas pu etre executee. 127 La commande demandee n'a pas ete trouvee. FICHIERS /etc/pam.d/runuser fichier de configuration de PAM par defaut /etc/pam.d/runuser-l fichier de configuration de PAM si --login est indique /etc/default/runuser fichier de configuration logindef specifique a runuser /etc/login.defs fichier de configuration logindef general HISTORIQUE Cette commande runuser est derivee de su de coreutils, qui etait basee sur une implementation de David MacKenzie, et de la commande runuser de Fedora par Dan Walsh. VOIR AUSSI setpriv(1), su(1), login.defs(5), shells(5), pam(8) SIGNALER DES BOGUES Pour signaler un bogue, utilisez le gestionnaire de bogues . DISPONIBILITE La commande runuser fait partie du paquet util-linux, elle est disponible sur l'archive du noyau Linux . util-linux 2.41 2025-03-29 RUNUSER(1)