Skip to content

L'arborescence du système de fichier

Un système basé sur les droits utilisateur

Un système Gnu/Linux est basé sur un système très puissant de droits d'utilisateurs : chaque utilisateur a des droits précis en terme de lecture, écriture ou exécution d'un programme, d'un fichier. De ce point de vue, toutes les « zones » ne se valent pas.

L'utilisateur « root » et les autres utilisateurs

Sur un système Gnu/Linux, l'utilisateur qui a « tous les droits » et qui peut faire ce qu'il veut et où il veut (effacer, exécuter, modifier, etc..) s'appelle l'administrateur ou « root » : cet utilisateur est créé par défaut.

Généralement, par défaut, lorsque l'on installe un système Gnu/Linux, au moins un compte utilisateur est créé et c'est avec ce compte que la session démarre.

Lorsque l'on démarre une session Gnu/Linux, on s'enregistre à l'aide d'un mot de passe utilisateur : ce mot de passe permet d'activer une session pour l'utilisateur donné.

Les droits d'un utilisateur « non-root »

Afin de sécuriser le système, un utilisateur n'a pas tous les droits où il veut : il n'a tous les droits (exécuter, lire, écrire) uniquement dans une « zone » du système de fichier qui lui est réservée.

En dehors de cette zone, il n'a pas les droits en exécution et écriture : de cette façon, il ne peut pas modifier le système sans un accord explicite.

C'est ce système de droits et de comptes utilisateurs qui rend un système Gnu/Linux si sûr et sur lequel un anti-virus n'est pas vraiment nécessaire.

La « zone » des utilisateurs « non-root »

A l'intérieur du répertoire racine / , la zone « utilisateur » se trouve typiquement dans le répertoire /home : * /home : Répertoires personnels des utilisateurs du système

A l'intérieur de ce répertoire, chaque utilisateur a son propre répertoire qui contient toutes les ressources attachées à cet utilisateur.

En dehors de cette « zone », il ne pourra pas créer, copier, exécuter un programme.

Avoir les droits « root » de façon ponctuelle : la commande sudo

Le problème...

Vous allez me dire que la marge de manœuvre de l'utilisateur « non-root » va être limitée : et vous aurez raison !

Ceci a aussi son avantage : il est impossible de modifier le système et d'y réaliser des opérations « à risque » si on n'est pas « root ». Donc, quand on débute avec Gnu/Linux, on est à peu près sûr de ne pas faire de bêtises : on n'en n'aura pas le droit...

Ceci rend également les virus potentiellement inefficaces : même si un utilisateur télécharge un fichier avec un virus, ce virus ne pourra rien faire de sensible sur le système car il n'aura pas les « droits root ».

Mais cependant, il y a tout un tas de situations, notamment l'installation d'un nouveau programme, qui nécessite les droits « root » (ou « droits administrateur », c'est pareil...)

La mauvaise solution...

Une première solution serait de se logguer en tant que « root », mais ceci est à déconseiller car à ce moment là, on a les droits « root » en permanence et on peut vraiment faire des bêtises et le système n'est plus sûr : quelqu'un de malveillant peut potentiellement modifier le système... etc..

C'est cependant utile dans certaines situations assez rares cependant et cela se fera avec la commande

su

La bonne solution : la commande sudo

Sous certaines distributions, et notamment Ubuntu, il existe une commande très pratique : la commande sudo . Cette commande vous permet d'obtenir les « droits root » pendant une durée limitée et pour une tâche précise.

Le principe d'utilisation est le suivant : faire précéder la commande à exécuter de la commande sudo. Ce qui nous donne :

sudo nomcommande -options params

A ce moment là, le système va demander à l'utilisateur de saisir son mot de passe, ce qui sécurise la manip'

Une fois fait, la commande est exécutée avec les droits d'administrateur. Les droits sont accordés un certain temps et il faudra ressaisir le mot de passe une fois le délai écoulé.