SU(1)

NOM
su - Changer d'identifiant d'utilisateur ou devenir superutilisateur

SYNOPSIS

su [options] [nom_utilisateur]

DESCRIPTION

La commande su permet de devenir un autre utilisateur pour la durée d'une session. Invoqué sans nom d'utilisateur, le comportement par défaut de suest de devenir superutilisateur. Le paramètre optionnel - permet d'obtenir un environnement similaire à celui que l'utilisateur aurait obtenu lors d'une connexion directe.

Des paramètres supplémentaires peuvent être fournis après le nom de l'utilisateur. Dans ce cas, ils sont donnés à l'interpréteur de commandes de connexion de l'utilisateur. En particulier, le paramètre « -c » considère que le paramètre suivant est une commande pour la plupart des interpréteurs de commandes. La commande sera exécutée par l'interpréteur indiqué dans /etc/passwd pour l'utilisateur cible.

Vous pouvez utiliser le paramètre -- pour séparer les options de su des paramètres fournis par l'interpréteur de commandes.

Un mot de passe sera demandé à l'utilisateur, si nécessaire. Les mots de passe incorrects produisent un message d'erreur. Toutes les tentatives, réussies ou non, sont enregistrées afin de détecter tout abus du système.

L'environnement actuel est fourni au nouvel interpréteur de commandes. La valeur de $PATH est réinitialisée à /bin:/usr/bin pour les utilisateurs normaux, ou à /sbin:/bin:/usr/sbin:/usr/bin pour le superutilisateur. Ce comportement peut être modifié avec les paramètres ENV_PATH et ENV_SUPATH dans /etc/login.defs.

Une connexion à un sous-système est indiquée par la présence d'un « * » comme premier caractère de l'interpréteur de commandes initial. Le répertoire personnel sera utilisé comme racine d'un nouveau système de fichiers dans lequel l'utilisateur sera connecté.

OPTIONS

Les options applicables à la commande su sont :

-c, --command COMMANDE
    Indiquer une commande qui sera invoquée par l'interpréteur de commandes en utilisant son option -c

    La commande exécutée n'aura aucun terminal de contrôle. Cette option ne peut pas être utilisée pour exécuter des programmes interactifs qui ont besoin d'un terminal de contrôle.

-, -l, --login
    Fournir à l'utilisateur un environnement similaire à celui qu'il aurait obtenu s'il s'était connecté directement.

    Lorsque - est utilisé, il doit être indiqué comme dernier paramètre de su. Les autres formes (-l et --login) ne présentent pas cette restriction.

-s, --shell INTERPRÉTEUR
    Interpréteur de commande devant être appelé.

    L'interpréteur de commandes à appeler est choisi parmi (le choix de plus haute priorité en tête) :

        Interpréteur de commande indiqué par --shell.

        Si --preserve-environment est utilisé, l'interpréteur de commandes indiqué par la variable d'environnement $SHELL sera utilisé.

        Interpréteur de commandes indiqué dans /etc/passwd pour l'utilisateur cible.

        /bin/sh si aucun interpréteur de commandes ne peut être trouvé par l'une des méthodes ci-dessus.

    Si l'utilisateur cible possède un interpréteur de commande restreint (par exemple, le champ de l'interpréteur de commande dans /etc/passwd n'est pas renseigné dans /etc/shells), alors, ni l'option --shell ni la variable d'environnement $SHELL ne seront prises en compte à moins que su ne soit appelé par le superutilisateur.

-m, -p, --preserve-environment
    Préserver l'environnement actuel, sauf pour :

    $PATH
        réinitialise suivant les options ENV_PATH ou ENV_SUPATH dans /etc/login.defs (voir ci-dessous) :

    $IFS
        réinitialise à « <space><tab><newline> », s'il a été défini.

    Si l'utilisateur cible possède un interpréteur de commandes restreint, cette option n'a aucun effet (à moins que su ne soit appelé par le superutilisateur).

    Notez que le comportement par défaut pour l'environnement est le suivant :

        Les variables d'environnement $HOME, $SHELL, $USER, $LOGNAME, $PATH et $IFS sont réinitialisées.

        Si --login n'est pas utilisée, l'environnement est copié sauf pour les variables ci-dessus.

        Si --login est utilisée, les variables d'environnement $TERM, $COLORTERM, $DISPLAY et $XAUTHORITY sont copiées si elles ont été définies.

        Si --login est utilisée, les variables d'environnement $TZ, $HZ et $MAIL sont configurées en accord avec les options ENV_TZ, ENV_HZ, MAIL_DIR et MAIL_FILE de /etc/login.defs (voir ci-dessous).

        Si --login est utilisée, les autres variables d'environnement peuvent être configurées par le fichier ENVIRON_FILE (voir ci-dessous).

AVERTISSEMENTS

Cette version de su a de nombreuses options de compilation. Seules certaines d'entre elles peuvent avoir été activées sur votre site.

CONFIGURATION

Les variables de configuration suivantes dans /etc/login.defs modifient le comportement de cet outil :

CONSOLE (chaîne de caractères)
    Si définie, soit un chemin complet du fichier contenant les noms de périphériques (un par ligne), soit une liste de noms du périphérique délimitée par des « : ». Les connexions d'un administrateur ne seront autorisées que depuis ces périphériques.

    S'il n'est pas défini, root pourra se connecter depuis n'importe quel périphérique.

    Le périphérique doit être précisé sans le préfixe /dev/.

CONSOLE_GROUPS (chaîne de caractères)
    Une liste de groupes à rajouter aux groupes supplémentaires de l'utilisateur lors d'une connexion sur une console (déterminé par le paramètre CONSOLE). Par défaut, aucun groupe n'est ajouté. À utiliser avec précaution : il est possible que les utilisateurs aient un accès permanent à ces groupes, et cela même s'ils ne sont pas connectés sur la console.

DEFAULT_HOME (booléen)
    Indiquer si la connexion est permise si on ne peut pas accéder au répertoire personnel. Le réglage par défaut est « no ».

    Si elle est configurée à yes, l'utilisateur va se connecter dans le répertoire racine (/) s'il n'est pas possible d'accéder à son répertoire personnel.

ENV_HZ (chaîne de caractères)
    Si définie, sera utilisée pour définir la variable d'environnement HZ lorsqu'un utilisateur se connecte. La valeur doit être précédée par HZ=. Une valeur commune sur Linux est HZ=100.

ENVIRON_FILE (chaîne de caractères)
    Si ce fichier existe et est lisible, l'environnement de connexion sera lu à partir de lui. Chaque ligne doit être sous la forme nom=valeur.

    Les lignes commençant par un « # » sont considérées comme des commentaires, et sont ignorées.

ENV_PATH (chaîne de caractères)
    Si définie, sera utilisée pour définir la variable d'environnement PATH quand un utilisateur ordinaire se connecte. La valeur est une liste de chemins séparés par des deux points (par exemple /bin:/usr/bin) et peut être précédée par PATH=. La valeur par défaut est PATH=/bin:/usr/bin.

ENV_SUPATH (chaîne de caractères)
    Si définie, sera utilisée pour définir la variable d'environnement PATH quand le super-utilisateur se connecte. La valeur est une liste de chemins séparés par deux points (par exemple /sbin:/bin:/usr/sbin:/usr/bin) et peut être précédée par PATH=. La valeur par défaut est PATH=/sbin:/bin:/usr/sbin:/usr/bin.

ENV_TZ (chaîne de caractères)
    Si définie, sera utilisée pour définir la variable d'environnement TZ quand un utilisateur se connecte. La valeur peut être le nom d'un fuseau horaire précédé par TZ= (par exemple TZ=CST6CDT), ou le chemin complet vers le fichier contenant la spécification du fuseau horaire (par exemple /etc/tzname).

    Si un chemin complet est spécifié mais que le fichier n'existe pas ou ne peut pas être lu, la valeur par défaut utilisée est TZ=CST6CDT.

LOGIN_STRING (chaîne de caractères)
    La chaîne de caractères utilisée pour l'invite de mot de passe. La valeur par défaut est d'utiliser "Password: " (« mot de passe : »), ou une traduction de cette chaîne. Si vous définissez cette variable, l'invite ne sera pas traduite.

    Si la chaîne contient %s, ces caractères seront remplacés par le nom de l'utilisateur.

MAIL_CHECK_ENAB (booléen)
    Activer le contrôle et l'affichage du statut de la boîte aux lettres durant la connexion.

    Vous devriez le désactiver si les fichiers de démarrage de l'interpréteur de commandes vérifient déjà la présence de courriers (« mail -e » ou équivalent).

MAIL_DIR (chaîne de caractères)
    Répertoire d'attente des courriels (« mail spool directory »). Ce paramètre est nécessaire pour manipuler les boîtes à lettres lorsque le compte d'un utilisateur est modifié ou supprimé. S'il n'est pas spécifié, une valeur par défaut définie à la compilation est utilisée.

MAIL_FILE (chaîne de caractères)
    Définir l'emplacement des boîtes aux lettres des utilisateurs relativement à leur répertoire personnel.

Les paramètres MAIL_DIR et MAIL_FILE sont utilisés par useradd, usermod et userdel pour créer, déplacer ou supprimer les boîtes aux lettres des utilisateurs.

Si MAIL_CHECK_ENAB est réglé sur yes, ces variables servent également à définir la variable d'environnement MAIL.

QUOTAS_ENAB (booléen)
    Activer la mise en place de limites de resources depuis /etc/limits et ulimit, umask et niveau nice depuis les champs gecos de passwd.

SULOG_FILE (chaîne de caractères)
    Si définie, les activités de su seront enregistrées dans le fichier.

SU_NAME (chaîne de caractères)
    Si définie, le nom de la commande à afficher lorsque « su - » est exécutée. Par exemple, si elle est définie à « su » alors un « ps » affichera la commande comme « -su ». Si non définie, alors « ps » affichera le nom du shell qui sera en fait exécuté, par exemple quelque chose comme « -sh ».

SU_WHEEL_ONLY (booléen)
    Si yes, l'utilisateur doit faire partie des membres du groupe avec le premier gid 0 dans /etc/group (appelé root sur la plupart des systèmes Linux) pour être capable de su vers des comptes à uid 0. Si ce groupe n'existe pas ou est vide, personne ne pourra su vers un uid 0.

SYSLOG_SU_ENAB (booléen)
    Activer la journalisation « syslog » de l'activité de su - en plus de la journalisation sulog.

USERGROUPS_ENAB (booléen)
    Activer la mise en place de bits de masque de groupe (« umask group bits ») identiques à ceux du propriétaire (exemple : 022 -> 002, 077 -> 007) pour les utilisateurs non privilégiés, si l'UID est identique au GID et que l'identifiant de connexion est identique au groupe principal.

    Si cette variable est configurée à yes, userdel supprimera le groupe de l'utilisateur s'il ne contient pas d'autres membres, et useradd créera par défaut un groupe portant le nom de l'utilisateur.

FICHIERS

/etc/passwd
    Informations sur les comptes des utilisateurs.

/etc/shadow
    Informations sécurisées sur les comptes utilisateurs.

/etc/login.defs
    Configuration de la suite des mots de passe cachés « shadow password ».

VALEURS DE RETOUR

En cas de succès, su renvoie la valeur de sortie de la commande qu'il a exécutée.

Si cette commande s'est terminée par un signal, su y ajoute 128 et renvoie le résultat.

Si su doit tuer la commande (parce qu'il a été demandé de terminer et que la commande ne s'est pas terminée à temps), su renvoie 255.

Certaines valeurs de retour de su sont indépendantes de la commande exécutée :

0
    succès (--help uniquement)

1
    Échec système ou d'authentification

126
    La commande demandée n'a pas été trouvée.

127
    La commande demandée n'a pas pu être exécutée.

VOIR AUSSI

login(1), login.defs(5), sg(1), sh(1).