Provided by: util-linux-locales_2.39.1-4ubuntu2.2_all bug

NOM

       runuser - Exécuter une commande avec des identifiants d’utilisateur et de groupe
       substitués

SYNOPSIS

       runuser [options] -u utilisateur [[--] commande [paramètre...]]

       runuser [options] [-] [utilisateur [paramètre...]]

DESCRIPTION

       runuser permet d’exécuter des commandes en substituant les identifiants d’utilisateur et
       de groupe. Si l’option -u n’est pas donnée, elle a recours à des sémantiques compatibles
       avec su et un interpréteur de commandes est exécuté. La différence entre les commandes
       runuser et su est que runuser ne demande pas de mot de passe (puisqu’elle ne peut être
       exécutée que par le superutilisateur) et qu’elle utilise une configuration PAM différente.
       La commande runuser n’a pas besoin d’être installée avec des droits Set-user-UID.

       Si une session PAM n’est pas indispensable, la solution recommandée consiste à utiliser la
       commande setpriv(1).

       Si appelée sans argument, runuser exécute par défaut un interpréteur de commandes
       interactif en tant que superutilisateur.

       Pour assurer la rétrocompatibilité, runuser ne change pas, par défaut, de répertoire
       actuel et ne définit 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 modifié 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 à 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
           Le groupe primaire à utiliser. Cette option n’est permise que pour le
           superutilisateur.

       -G, --supp-group=groupe
           Spécifier un groupe supplémentaire. Cette option n’est disponible que pour le
           superutilisateur. Le premier groupe supplémentaire spécifié est également utilisé en
           tant que 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 :

           •   effacer toutes les variables d’environnement sauf TERM et les variables spécifiées
               avec --whitelist-environment ;

           •   initialiser les variables d’environnement HOME, SHELL, USER, LOGNAME et PATH

           •   se placer dans le répertoire personnel de l’utilisateur cible ;

           •   définir argv[0] pour l’interpréteur de commandes à « - » pour faire de
               l’interpréteur de commandes un interpréteur de connexion.

       -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 username -- 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.

       -m, -p, --preserve-environment
           Préserver la totalité de l’environnement, c’est-à-dire ne pas définir HOME, SHELL,
           USER ni LOGNAME. Cette option est ignorée si l’option --login est indiqué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 :

           •   l’interpréteur de commandes indiqué avec --shell ;

           •   l’interpréteur de commandes indiqué dans la variable d’environnement SHELL si
               l’option --preserve-environment est utilisée ;

           •   l’interpréteur de commandes indiqué dans l’entrée passwd de l’utilisateur cible ;

           •   /bin/sh

               Si l’utilisateur cible a un interpréteur de commandes restreint (c’est-à-dire ne
               faisant pas partie de /etc/shells), l’option --shell et la variable
               d’environnement SHELL sont ignorées sauf si l’utilisateur appelant est le
               superutilisateur.

       --session-command=commande
           Comme -c, mais sans créer de nouvelle session (à éviter).

       -w, --whitelist-environment=liste
           Ne pas réinitialiser les variables d’environnement spécifiées dans une liste séparée
           par des virgules au moment de vider l’environnement pour --login (une connexion). La
           liste blanche est ignorée s’agissant des variables d’environnement HOME, SHELL, USER,
           LOGNAME et PATH.

       -h, --help
           Afficher l’aide-mémoire puis quitter.

       -V, --version
           Afficher le numéro de version et quitter.

FICHIERS DE CONFIGURATION

       runuser lit les fichiers de configuration /etc/default/runuser et /etc/login.defs. Les
       éléments de configuration suivants sont significatifs pour runuser.

       ENV_PATH (chaîne)
           Définit la variable d’environnement pour un utilisateur ordinaire. La valeur par
           défaut est /usr/local/bin:/bin:/usr/bin.

       ENV_ROOTPATH (chaîne), ENV_SUPATH (chaîne)
           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 (booléen)
           If set to yes and --login and --preserve-environment were not specified runuser
           initializes PATH.

       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 concernée par l’option --login de la
       ligne de commande et le paramétrage du système PAM (comme pam_env(8)).

CODE DE RETOUR

       runuser renvoie normalement le code de retour de la commande qu’elle exécute. Si la
       commande a été tuée par un signal, runuser renvoie le numéro du signal plus 128.

       Le code de retour généré par runuser elle-même est un des suivants.

       1
           Erreur générale avant d’exécuter 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/runuser
           fichier de configuration de PAM par défaut

       /etc/pam.d/runuser-l
           fichier de configuration de PAM si --login est indiqué

       /etc/default/runuser
           fichier de configuration logindef spécifique à runuser

       /etc/login.defs
           fichier de configuration logindef général

HISTORIQUE

       Cette commande runuser est dérivée de su de coreutils, qui était basée sur une
       implémentation 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 sur
       https://github.com/util-linux/util-linux/issues.

DISPONIBILITÉ

       La commande runuser fait partie du paquet util-linux, elle est disponible sur l’archive du
       noyau Linux <https://www.kernel.org/pub/linux/utils/util-linux/>.