su (Unix)

Un article de Wikipédia, l'encyclopédie libre.

Pour les articles homonymes, voir su.

su (switch user) est une commande Unix permettant d'exécuter un shell avec un Group-ID et un User-ID différents.

Utilisée sans argument, c'est le compte utilisateur root qui est utilisé Group-ID=User-ID=0

Cette commande est surtout utilisée pour obtenir les privilèges d'administration à partir d'une session d'utilisateur normal, c’est-à-dire, non privilégiée. L'alternative moins pratique étant de terminer la session utilisateur, et d'en commencer une nouvelle en utilisant le compte utilisateur root. Cette méthode ferme toutes les applications qui étaient ouvertes, alors que su démarre un shell privilégié à l'intérieur de la session utilisateur.

Une autre utilisation possible de cette commande est de prendre l'identité d'un utilisateur spécial qui n'est pas supposé ouvrir de session interactive, ce qui peut arriver à des fins de débogage. Ces utilisateurs spéciaux sont utilisés par les démons du système. Pour éviter qu'une attaque réseau corrompant un démon ne se propage au reste du système, on le fait habituellement tourner sous le compte d'un utilisateur dont les seuls droits sont limités au rôle du démon. La commande su permettant d'exécuter un shell intéractif avec l'identité de ces utilisateurs spéciaux, on peut s'assurer facilement qu'il n'y a pas de problème de droit d'accès sur les fichiers.

L'option "-c" de su permet de demander à celui-ci d'exécuter une commande précise au lieu du shell interactif prévu.

Un utilisateur normal doit fournir le mot de passe de l'identité qu'il souhaite prendre, tandis que l'utilisateur root peut prendre toutes les identités qu'il désire sans fournir le mot de passe.

[modifier] Voir également