Qu'est-ce que « root » sur Linux ?
Agence web » Actualités du digital » Qu’est-ce que « root » sur Linux ?

Qu’est-ce que « root » sur Linux ?

fatmawati achmad zaenuri/Shutterstock.com

L’utilisateur root est l’entité la plus puissante de l’univers Linux avec des pouvoirs illimités, pour le meilleur ou pour le pire. Créer un utilisateur ? J’ai compris. Anéantir un système de fichiers ? Oups, j’ai ça aussi.

L’histoire d’origine

L’utilisateur root est le superutilisateur Linux. Ils peuvent littéralement tout faire. Rien n’est restreint ou interdit pour root . Qu’ils soient un super-héros ou un super-vilain dépend de l’utilisateur humain qui assume le rôle d’administrateur système. Les erreurs commises par l’utilisateur root peuvent être catastrophiques, le compte root doit donc être utilisé exclusivement à des fins administratives.

Le concept de l’utilisateur root a été hérité d’Unix, qui avait un utilisateur root comme superutilisateur administratif. Mais d’où vient le nom « root » n’est pas connu avec certitude. Certains pensent qu’il vient du système d’exploitation Multics, qui est antérieur à Unix.

Ken Thompson et Dennis Ritchie, deux des architectes et auteurs d’Unix les plus importants, avaient tous deux déjà travaillé sur les Multics. Multics avait un système de fichiers qui commençait à un point appelé le répertoire racine ou « / », et tous les autres répertoires et sous-répertoires se ramifiaient vers le bas et vers l’extérieur à partir de la racine comme un arbre inversé. C’est le même type d’arborescence adoptée par Unix. Alors, peut-être qu’Unix a également adopté l’utilisateur root de Multics ?

La recherche dans la documentation technique de Multics révèle une multitude de références aux volumes logiques racine, aux volumes physiques racine, aux cartes racine et au répertoire racine. Mais il n’y a aucune mention d’un compte d’utilisateur root ou d’un utilisateur appelé « root ».

Une autre théorie est qu’au début d’Unix, le dossier personnel du superutilisateur était la racine « / » du système de fichiers. Le superutilisateur avait besoin d’un nom. Le terme « utilisateur racine » avait été utilisé à la place d’un nom officiel, mais le terme est resté et est devenu le nom officiel.

Cela semble plus probable, mais personne ne semble être en mesure de dire avec certitude comment l’utilisateur root a obtenu son nom.

La commande sudo

Sur n’importe quel système d’exploitation, il est recommandé de réserver le superutilisateur à des fins administratives uniquement et d’utiliser un compte d’utilisateur normal le reste du temps. En fait, la plupart des distributions Linux modernes ne vous permettent pas de vous connecter en tant qu’utilisateur root.

Bien sûr, il s’agit de Linux, vous pouvez donc le configurer pour permettre à l’utilisateur root de se connecter. Mais moins vous passez de temps connecté en tant que root, le meilleur. En plus de vous protéger contre les catastrophes causées par des fautes de frappe, si vous ne pouvez pas vous connecter en tant que root, personne d’autre ne le peut. Toute personne obtenant un accès non autorisé à votre système ne pourra pas se connecter en tant que root, limitant les dommages qu’ils peuvent causer.

Mais si vous vous connectez en tant que root est désactivé, comment administrez-vous votre ordinateur Linux ? Eh bien, c’est ce que le sudo la commande est pour. Il ne nécessite pas que l’utilisateur root se connecte. Il accorde temporairement root‘s pouvoirs sur vous. C’est comme ramasser le marteau de Thor Mjolnir et se voir accorder temporairement les pouvoirs de Thor. Mais vous ne pouvez ramasser le marteau que si vous en êtes digne. De même, ce n’est pas n’importe qui qui peut utiliser le sudo commander. le sudo la commande donne seulement root‘s sur vous si vous avez été jugé digne et ajouté à la liste des sudoers.

Il existe une autre commande similaire à sudo appelé su. Avec sudo, vous vous authentifiez à l’aide de votre propre mot de passe. Avec su, vous vous authentifiez à l’aide du mot de passe de l’utilisateur root. Ceci est significatif à deux égards. Premièrement, cela signifie que vous devez attribuer un mot de passe à l’utilisateur root à utiliser su. Par défaut, l’utilisateur root n’a pas de mot de passe, ce qui contribue à la sécurité. Si root n’a pas de mot de passe, vous ne pouvez pas vous connecter en tant que root.

Deuxièmement, si vous définissez un mot de passe root, tous ceux qui utiliseront le su commande doit connaître le mot de passe. Et le partage des mots de passe est un non-non de sécurité, et encore plus pour le mot de passe root. Toute personne connaissant le mot de passe root peut le dire à quelqu’un d’autre. Si vous devez changer le mot de passe root, vous devez communiquer le nouveau mot de passe à toutes les personnes qui ont besoin de le connaître.

Il est beaucoup plus sûr d’utiliser la liste sudoers pour restreindre qui peut utiliser sudo, et laissez chaque personne privilégiée utiliser ses mots de passe individuels pour s’authentifier.

Utiliser sudo

Le fichier « /etc/shadow » contient le nom d’utilisateur de chaque compte sur votre ordinateur Linux, ainsi que d’autres informations, y compris le mot de passe crypté de chaque compte, quand le mot de passe a été modifié pour la dernière fois et quand le mot de passe expire. Parce qu’il contient des informations sensibles, il ne peut être lu que par root.

Si nous essayons d’utiliser le wc commande pour lire les lignes, les mots et les caractères du fichier shadow, l’autorisation nous sera refusée.

wc /etc/shadow

Si nous sommes dans la liste sudoers et que nous utilisons la même commande avec sudo au début de la ligne, on nous demandera notre mot de passe et la commande sera exécutée pour nous. Si vous êtes le seul utilisateur sur votre ordinateur Linux, vous serez automatiquement ajouté à la liste des sudoers lors de l’installation du système.

sudo wc /etc/shadow

Parce que nous exécutons la commande en tant que root, le wc la commande est exécutée. Personne ne nie la racine.

le sudo La commande signifiait « super-utilisateur faire ». Il a été amélioré pour vous permettre d’exécuter une commande comme n’importe quel utilisateur, il a donc été renommé « utilisateur de remplacement à faire ». La commande est en fait exécutée comme si l’autre utilisateur l’avait exécutée. Si vous ne spécifiez pas de nom d’utilisateur, sudo utilise par défaut root. Si vous souhaitez utiliser un autre utilisateur, utilisez le -u option (utilisateur).

Nous pouvons voir que les commandes sont exécutées comme un autre utilisateur en utilisant le whoami commander.

whoami
sudo whoami
sudo -u mary whoami

Exécuter en tant que root sans utiliser su

L’accroc avec sudo est que vous devez utiliser « sudo » au début de chaque commande. Si vous ne tapez qu’une ou deux commandes, ce n’est pas grave. Si vous avez une séquence de commandes plus longue à exécuter, cela peut devenir fastidieux. Cela peut être fastidieux, mais il s’agit d’un cran de sécurité utile pour root, et vous devez consciemment retirer la sécurité à chaque fois.

Il existe un moyen de se « connecter » efficacement en tant que root qui n’utilise pas su et n’exige pas que l’utilisateur root ait un mot de passe.

Avertissement: Soyez prudent lorsque vous utilisez cette méthode. Chaque commande que vous émettez sera exécutée avec plaisir, sans poser de questions, même si elle est destructrice.

Utilisant sudo pour exécuter un shell Bash ouvre un nouveau shell avec root en tant qu’utilisateur.

sudo bash

Notez que l’invite de commande change. Le dernier caractère de l’invite est désormais un dièse « # » au lieu d’un caractère dollar « $ ».

L’affichage du corps de l’invite de commande varie d’une distribution à l’autre. Dans Ubuntu, nous sommes informés que l’utilisateur est rootet affiché le nom de l’ordinateur et le répertoire de travail actuel. La couleur de l’invite est également modifiée.

Parce que nous sommes root, nous pouvons exécuter des commandes qui nécessiteraient normalement l’utilisation de sudo .

wc /etc/shadow

Pour quitter le shell de l’utilisateur root, appuyez sur « Ctrl+D » ou tapez « exit » et appuyez sur « Entrée ».

exit

Moins de Superman, plus de Clark Kent

Si vous êtes dans la liste des sudoers, vous avez des super-pouvoirs sur votre système Linux. N’oubliez pas que Superman passe plus de temps en tant qu’alter-ego aux manières douces que dans sa cape rouge.

Utilisez autant que possible votre compte d’utilisateur habituel. Changer seulement en root quand vous en avez vraiment besoin.

★★★★★