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.
Fondamental : Super-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.
$ ls /root
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.
$ sudo ls /root
[sudo] Mot de passe de kyane :
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éthode : Une 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.
kyane@europa:~$ sudo -i
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é.
Attention : With 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.