su (Unix)
su (substitute user ou switch user) est une commande Unix permettant d'exécuter un interpréteur de commandes en changeant d'identifiant de groupe et de User identifier.
Sans argument, la commande utilise les UID 0 et le GID 0, c'est-Ă -dire ceux du compte utilisateur root.
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. Dans certaines versions, l'utilisateur doit toutefois faire partie du groupe spĂ©cial : wheel [1] (par dĂ©faut, ce n'est pas le cas de la version GNU)[2].
La commande su démarre un interpréteur de commandes à l'intérieur de la nouvelle session utilisateur. Une autre solution est la commande sudo qui permet d'attribuer des privilÚges à des utilisateurs et pour des commandes spécifiques.
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, par exemple à 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 interactif 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.