Linux |
CentOS 4.8 |
|
su(1) |
su − Executer un shell avec un User-ID et un Group-ID différents. |
su [−flmp] [−c commande] [−s shell] [−−login] [−−fast] [−−preserve-environment] [−−command=commande] [−−shell=shell] [−] [−−help] [−−version] [utilisateur [arg...]] |
Cette page de manuel documente la version GNU de su. su permet à un utilisateur de se transformer temporairement en un autre utilisateur. Un shell est exécute avec les UID, GID effectifs et réels, ainsi que les groupes supplémentaires de l’utilisateur indiqué. Si aucun nom d’utilisateur n’est mentionné, le nom root, le Super-Utilisateur, est utilisé par défaut. Le shell exécuté est celui mentionné dans l’enregistrement correspondant à l’utilisateur dans le fichier /etc/passwd. Si aucun shell n’y est indiqué, /bin/sh est exécuté par défaut. Si l’utilisateur dispose d’un mot de passe, su le réclame, à moins qu’il n’ait été invoque avec un UID réel valant 0 (celui du Super-Utilisateur). Par défaut, su ne change pas de répertoire. Il positionne les variables d’environnement ‘HOME’ et ‘SHELL’ à partir des valeurs lues dans le fichier des mots de passe, et si l’utilisateur demandé n’est pas root, renseigne les variables ‘USER’ et ‘LOGNAME’. Par défaut le shell exécuté n’est pas un shell de connexion. Si un ou plusieurs arguments sont fournis, ils sont transmis comme arguments supplémentaires au shell. su ne gère pas spécifiquement /bin/sh ou tout autre shell (en positionnant argv[0] a "-su", en transmettant la commande -c seulement à certains shells, etc...) Sur les systèmes disposant de la journalisation syslog, su peut être compilé afin de fournir des rapports d’échec, et éventuellement de réussite des tentatives d’utilisation de su. Ce programme ne gère pas le "groupe wheel" utilisé pour restreindre l’accès par su au compte Super-Utilisateur, car il pourrait aider des administrateurs système fascistes à disposer d’un pouvoir incontrôlé sur les autres utilisateurs. |
OPTIONS |
−c COMMANDE, −−command=COMMANDE |
Transmet la COMMANDE (sur une seule ligne) au shell avec l’option −c plutôt que démarrer un shell interactif. |
−f, −−fast |
Transmet l’argument −f au shell. Ceci n’a probablement de signification que pour csh et tcsh, pour lesquels l’option −f évite la lecture du fichier de démarrage (.cshrc). Avec les shells de type Bourne, l’option −f désactive le développement des motifs génériques dans les noms de fichiers, ce qui n’est généralement pas le but recherché. |
−−help |
Afficher un message d’aide sur la sortie standard et se terminer normalement. |
−, −l, −−login |
Appelle le shell sous forme de shell de connexion. Voici ce que cela signifie : Invalider toutes les variables d’environnement sauf ‘TERM’, ‘HOME’, et ‘SHELL’ (qui sont renseignées comme décrit ci-dessus), ainsi que ‘USER’ et ‘LOGNAME’ (qui sont alors remplies même pour le Super-Utilisateur). Remplir ‘PATH’ avec une valeur par défaut donnée lors de la compilation. Se déplacer dans le répertoire HOME de l’utilisateur. Ajouter "−" au nom du shell, pour que celui-ci lise son ou ses fichiers de démarrage. |
−m, −p, −−preserve−environment |
Ne pas changer les variables d’environnement ‘HOME’, ‘USER’, ‘LOGNAME’, et ‘SHELL’. Exécuter le shell correspondant à la variable d’environnement ‘SHELL’ plutôt que celui présent dans l’enregistrement /etc/passwd de l’utilisateur, à moins que ce dernier ait un shell restreint, et que l’appelant ne soit pas le Super-Utilisateur. Un shell est restreint s’il n’est pas dans la liste /etc/shells, ou dans une liste fournie lors de la compilation si ce dernier fichier n’existe pas. Le comportement de cette option peut être partiellement modifiée avec les options −−login et −−shell. |
−s, −−shell shell |
Exécute le shell indiqué plutôt que celui présent dans l’enregistrement /etc/passwd de l’utilisateur, à moins que ce dernier ait un shell restreint, et que l’appelant ne soit pas le Super-Utilisateur. |
−−version |
Afficher un numéro de version sur la sortie standard et se terminer normalement. |
Il peut arriver qu’un petit groupe d’utilisateurs essayent de s’approprier l’ensemble du système. Par exemple, en 1984, quelques utilisateurs du laboratoire d’I.A du MIT ont tentés de prendre le pouvoir en modifiant le mot de passe de l’opérateur sur le système Twenex, et en gardant ce mot de passe secret. (J’ai pu les en empêcher en modifiant le noyau, et restaurer ainsi les autres accès, mais je ne saurais pas en faire autant sous Unix). Néanmoins, il arrive parfois que les chefs fournissent le mot de passe de root à un utilisateur ordinaire. Avec le mécanisme habituel de su, une fois que quelqu’un connaît ce mot de passe, il peut le transmettre à ses amis. Le principe du "groupe wheel" rend ce partage impossible, ce qui renforce la puissance des chefs. Je me situe du cote du peuple, pas du côté des chefs. Si vous avez l’habitude de soutenir les patrons et les administrateurs systèmes quoi qu’ils fassent, cette idée peut vous paraître étrange au premier abord. |
Christophe Blaess, 1997. |
su(1) |