SYNOPSIS
- su [options] [nom_utilisateur]
DESCRIPTION
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.