su(1) 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.

When - is used, it must be specified before any username. For portability it is recommended to use it as last option, before any username. The other forms (-l and --login) do not have this 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.

D'autres environnements peuvent être configurés par des modules PAM.

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

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

SYSLOG_SU_ENAB (booléen)

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

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.