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 passe 2.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-utilisateur 2.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...