Linux est un système multi-utilisateurs. C'est-à-dire que tout est prévu dans le système pour que plusieurs personnes puissent l'utiliser, même simultanément (dans le cas de configurations en réseau), sans se gêner les uns les autres.
Chaque utilisateur est identifié par un nom, et doit fournir un mot de passe2.24 pour pouvoir utiliser le système. La procédure au cours de laquelle un utilisateur donne son nom et son mot de passe est appelée <<procédure de login>>, ou simplement <<login>>. Ce mot de passe est strictement personnel : théoriquement, vous ne devez communiquer le vôtre à personne, encore que cela ne prête pas beaucoup à conséquence sur une machine individuelle (sauf si vous possédez des fichiers confidentiels...)
De même, chaque utilisateur se voit attribué une certaine zone dans l'arborescence
des répertoires (typiquement, un sous-répertoire dont le nom est celui de l'utilisateur
dans le répertoire /home), que l'on appel parfois le <<répertoire
maison>>2.25 de l'utilisateur. L'utilisateur possède un pouvoir quasiment absolu de création,
modification et destruction sur les fichiers de son répertoire (fichiers dont
il est le propriétaire), mais normalement il ne peut pas
intervenir sur les répertoires des autres utilisateurs, et encore moins sur
les éléments constitutifs du système. Ceci confère à Linux un haut degré de
sécurité vis-à-vis des diverses manipulations et autres fausses man
uvres
de ceux qui l'utilisent.
Enfin, afin de faciliter le travail coopératif, les utilisateurs peuvent êtres regroupés par groupes. Il est ainsi possible d'autoriser tout un groupe à accéder à certains fichiers, mais pas les autres utilisateurs.
Comme indiqué plus haut, normalement les utilisateurs ne peuvent accéder aux éléments constitutifs du système. Comment, alors, accéder à ceux-ci quand le besoin s'en fait sentir, comme lors de l'installation d'un nouveau logiciel ?
Pour les opérations nécessitant une modification particulière du système, il existe un utilisateur particulier, privilégié, le super-utilisateur2.26, dont le nom est root. En fait, l'utilisateur root possède un pouvoir total sur l'intégralité du système, y compris celui de le détruire en quelques secondes. Il peut consulter, modifier et détruire n'importe quel fichier du système, et on peut estimer qu'en pratique, root est implicitement propriétaire de tous les fichiers du système.
Si vous êtes seul à utiliser Linux sur votre machine personnelle, l'utilisateur root, c'est vous. Donc lorsque vous utilisez votre machine en tant que root, il convient de prendre un luxe de précautions et de bien savoir ce que vous faites : la précipitation est le chemin le plus sûr vers le massacre de votre système, et la perte de vos données. C'est pourquoi il est vivement recommandé de créer au moins un autre utilisateur pour l'utilisation quotidienne du système : une erreur de manipulation n'aura alors que des conséquences limitées sur l'intégrité du système.
Pour réaliser la protection des fichiers évoquée plus haut, il existe un mécanisme de droits et de propriété, attribués à chacun des fichiers du système : tout fichier est la propriété d'un utilisateur, et les droits s'articulent autour de cette notion.
Linux (comme Unix) reconnaît trois droits fondamentaux.
.
Les droits fondamentaux qui viennent d'être exposés sont, pour chaque fichier, présents dans trois groupes de droits distincts.
),
normalement accessible à tout le monde, le fichier coorespondant possède le
droit en exécution du groupe other activé (de même que les droits en
exécution des deux autres groupes). Par contre, la commande dd (voir
2.6.8 page
) ne devrait avoir que le droit en exécution du
propriétaire (en l'occurence, root) d'activé.
Le propriétaire d'un fichier peut être modifié avec la commande chown,
exposée en 2.6.4 page
.
Lorsque le fichier considéré est un répertoire, les droits prennent une signification un peu différente.
Ce fichier contient la liste des utilisateurs qui peuvent utiliser le système. Attention, ne le supprimez pas ! Si vous le supprimez, il vous sera impossible de vous connecter au système, même en tant que root...