Tous les utilisateurs de Linux connaissent forcément les commandes su et sudo, ils les utilisent quand ils veulent lancer une commande dans le terminal en tant qu’administrateur. Mais est ce que vous vous êtes déjà posé la question de leurs significations? Voici quelques éléments de réponse.

sudo = Substitute User DO

su = Substitute User

Ce qui pourrait se traduire par « faire en se substituant à l’utilisateur ». Contrairement à ce qui est souvent indiqué, su ne signifie par SuperUser, son acronyme est bien plus ancien.

Un peu d’histoire

Sudo est un programme informatique qui permet à l’utilisateur d’un système d’accéder aux privilèges de sécurité d’un autre utilisateur, en l’occurrence celui de l’administrateur. Il fut écrit par deux chercheurs de l’Université de l’État de New York en 1980. De nombreux programmeurs l’ont modifié ou maintenu, mais depuis 1996 cette mission est assurée par Todd Miller sous licence BSD.

Qui utilise sudo?

Sudo est disponible sans être installé par défaut sur la plupart des systèmes Unix: BSD, Solaris, Linux… Il existe cependant des systèmes d’exploitation où le recours à sudo est systématisé.

Mac OS X d’Apple, où l’utilisateur root est activé par défaut, a systématiquement recours à sudo pour effectuer des tâches d’administration.

Les distributions Linux Ubuntu (et ses dérivées) et Manjaro utilisent également cette commande comme moyen par défaut pour effectuer des tâches administratives, le compte root n’étant pas activé par défaut pour des raisons de sécurité et de stabilité du système.

Les différences entre sudo et su

Sudo permet l’exécution d’une seule commande sur votre terminal. Une fois exécutée, si vous voulez en entrer une autre, vous devez impérativement ré-utiliser sudo.

Avec su, ce problème de limitation disparaît. Une fois exécuté, su maintient vos droits administrateurs le temps que vous souhaitez. Pour sortir du mode root, tapez la commande exit.

Savoir si on est en user ou en root

C’est très simple, il suffit de se fier aux symboles # et $

# = Vous êtes en mode root ou administrateur.

$ = Vous êtes en mode User ou utilisateur.

Configuration

Les autorisations de sudo sont définies dans le fichier /etc/sudoers . Ce fichier doit être édité à l’aide de la commande visudo .

Ce fichier précise quelles commandes peuvent être utilisées par quels utilisateurs avec les privilèges de quel utilisateur et s’il peut s’abstenir de taper son mot de passe.