L'utilisateur root

Objectifs

  • Savoir ce qu'est le super-utilisateur

  • Savoir utiliser le compte root.

Un super-utilisateur pour les gouverner tous

Les utilisateurs et groupes peuvent se voir autoriser différents droits sur le système. Ce sera abordé un peu plus loin, mais par exemple l'utilisateur par défaut que l'on a créé à l'installation ne pourra pas forcément lire tout les fichiers d'un autre utilisateur (et cela semble normal). On peut donc se demander « qui créé les utilisateurs ? », « qui peut donner des droits ? ».

La réponse est simple : le super-utilisateur. C'est un utilisateur un peu particulier car il a absolument tout les pouvoirs sur la machine. Sous Linux cet utilisateur s'appelle root, qui signifie racine.

FondamentalSuper-utilisateur root

L'utilisateur root est le nom du super-utilisateur sous Linux. Il est le seul à avoir un UID spécial : 0. Il a la possibilité de réaliser toutes les actions et modifications possibles sur le système.

Exemple

Sur votre installation Linux, essayez de lister les fichiers dans le dossier /root à l'aide de votre utilisateur classique.

1
$ ls /root        
2
ls: impossible d'ouvrir le répertoire '/root': Permission non accordée

Nous détaillerons les permissions par la suite, mais votre utilisateur ne peut pas réaliser cette action. Seul l'utilisateur root peut le faire.

MéthodeÉlévation de privilèges

Puisque l'on ne peut pas faire certaines actions en tant qu'utilisateur normal, il existe une technique pour obtenir des privilèges de super-utilisateur, c'est à dire pouvoir se connecter avec le compte root. Pour cela, on utilise la commande sudo. Elle permet de lancer une commande en tant que super utilisateur.

1
$ sudo ls /root                  
2
[sudo] Mot de passe de kyane : 
3
fichier_secret

En préfixant notre commande précédente par sudo on indique au système que l'on souhaite lancer la commande en tant que root. Le mot de passe de notre utilisateur est demandé, puis la commande est exécuté. C'est ce que l'on appelle une élévation de privilèges.

Cependant, tout le monde n'a pas le pouvoir de lancer des commandes en utilisant sudo, ce serait beaucoup trop facile, n'importe quel utilisateur pourrait obtenir tout les droits sur la machine. Cela n'est possible que pour un groupe d'utilisateurs bien précis : ceux du groupe sudo. Avec la commande id vous pourrez constater que votre utilisateur est bien dans ce groupe, ce qui est le cas pour l'utilisateur créé lors de l'installation.

MéthodeUne console root

Parfois on souhaite réaliser plusieurs opérations en tant que super-utilisateur, et il n'est pas très pratique de voir écrire sudo au début de toutes les commandes. Pour cela on peut ouvrir une console en tant que root, pour que toutes nos commandes puissent avoir le privilège super-utilisateur.

1
kyane@europa:~$ sudo -i
2
root@europa:~#

Après avoir entré la commande sudo -i, on remarque que le prompt est modifié : on est l'utilisateur root et le # nous confirme que c'est bien un super-utilisateur. On peut désormais lancer plusieurs commandes en mode privilégié.

AttentionWith great power comes great responsibility

Lorsque l'on exécute des commandes en tant que root, on peut tout faire sur la machine. Et quand l'on ne fait pas attention à ce que l'on fait, on a le pouvoir de tout casser. Il n'est pas recommandé de lancer toutes les commandes en root "juste pour être sûr", mais plutôt de n'utiliser sudo que lorsque nécessaire, et après une réflexion sur les actions qui sont faites.

À retenir

Le super-utilisateur sur Linux s'appelle root et c'est celui qui a tout les pouvoirs sur la machine. Tout les autres utilisateurs ont des droits limités. Cependant il est possible d"utiliser la commande sudo pour élever ses privilèges lorsque nécessaire.