Gestion des utilisateurs et des groupes

Gestion des utilisateurs et des droits — NSI

NSI — Systèmes d'exploitation — Système Unix/Linux

Les systèmes de type Unix sont des systèmes multi-utilisateurs : plusieurs utilisateurs peuvent partager le même ordinateur, chacun disposant d'un environnement et de droits qui lui sont propres. Le système d'exploitation permet de gérer ces droits très finement, fichier par fichier.

1. Utilisateurs et groupes

Chaque utilisateur possède des droits qui lui permettent d'effectuer certaines opérations et pas d'autres. Un utilisateur particulier, appelé administrateur ou root, peut modifier les droits de tous les autres utilisateurs.

Plutôt que de gérer les utilisateurs un par un, l'administrateur peut créer des groupes et attribuer des droits à un groupe entier.

À retenir
  • L'utilisateur root a tous les droits sur le système.
  • Un groupe regroupe plusieurs utilisateurs partageant les mêmes droits sur un fichier.
  • Tout fichier appartient à un propriétaire et à un groupe.

2. Les trois types de droits

Chaque fichier ou répertoire possède trois types de droits :

Symbole Droit Pour un fichier Pour un répertoire
r Lecture Lire le contenu du fichier Lister le contenu du répertoire
w Écriture Modifier le contenu du fichier Créer, supprimer des fichiers dans le répertoire
x Exécution Exécuter le fichier (programme) Accéder (traverser) le répertoire

3. Les trois catégories d'utilisateurs

Pour chaque fichier, les droits sont définis séparément pour trois catégories d'utilisateurs :

👤
Propriétaire
u

Par défaut, la personne qui a créé le fichier. Symbolisé par u (user).

👥
Groupe
g

Tous les utilisateurs appartenant au groupe associé au fichier. Symbolisé par g (group).

🌐
Autres
o

Tous les autres utilisateurs (ni propriétaire, ni membre du groupe). Symbolisé par o (others).

4. Lire les droits avec ls -l

La commande ls -l affiche des informations détaillées sur les fichiers et répertoires, dont leurs permissions :

-rw-r--r-- 1 david david 0 avril 13 19:58 fic.txt
drwxr-xr-x 2 david david 4096 avril 13 20:05 info

Décomposer la chaîne de permissions

Prenons l'exemple -rw-r--r-- et décomposons les 10 caractères :

- Type
(fichier)
|
rw- Propriétaire
(u)
|
r-- Groupe
(g)
|
r-- Autres
(o)
|
1 david david 0 … Liens, propriétaire, groupe, taille, date, nom
Lecture de l'exemple
  • - → c'est un fichier (un d indiquerait un répertoire)
  • rw- → le propriétaire peut lire et écrire, mais pas exécuter
  • r-- → le groupe peut lire uniquement
  • r-- → les autres peuvent lire uniquement

Exemple avec un répertoire : drwxr-xr-x

d Type
(répertoire)
|
rwx Propriétaire
(u)
|
r-x Groupe
(g)
|
r-x Autres
(o)
Lecture de l'exemple
  • d → c'est un répertoire
  • rwx → le propriétaire peut lire, modifier et traverser le répertoire
  • r-x → le groupe peut lire et traverser, mais pas modifier le contenu
  • r-x → les autres peuvent lire et traverser, mais pas modifier le contenu

5. Modifier les droits avec chmod

Le propriétaire d'un fichier (ou root) peut modifier les permissions à l'aide de la commande chmod.

Syntaxe générale

chmod   [u | g | o | a] [+ | - | =] [r | w | x]   nom_du_fichier
Qui ? u=propriétaire   g=groupe   o=autres   a=tous Action ? +=ajouter   -=supprimer   ==réinitialiser Droit ? r=lecture   w=écriture   x=exécution

Exemples

chmod o+w toto.txt → ajoute le droit d'écriture aux autres utilisateurs chmod g-wx toto.txt → supprime écriture ET exécution pour le groupe chmod u+x script.sh → ajoute le droit d'exécution au propriétaire chmod a-w fic.txt → supprime l'écriture pour tout le monde (u, g et o)
Les opérateurs combinés

Il est possible de combiner plusieurs droits dans une même commande. Par exemple, chmod g-wx toto.txt supprime à la fois w et x pour le groupe en une seule instruction.

Remarque importante : L'utilisateur root a tous les droits sur l'ensemble des fichiers et des répertoires du système. Il peut utiliser chmod sur n'importe quel fichier, même s'il n'en est pas le propriétaire.

6. À retenir

Points clés du cours

  • Un système Unix est multi-utilisateurs : chaque utilisateur a des droits spécifiques.
  • Il existe trois types de droits : r (lecture), w (écriture), x (exécution).
  • Ces droits sont définis pour trois catégories : u (propriétaire), g (groupe), o (autres).
  • La commande ls -l permet de lire les permissions d'un fichier ou répertoire.
  • La commande chmod permet de modifier les permissions d'un fichier ou répertoire.
  • L'utilisateur root a tous les droits et peut modifier les permissions de n'importe quel fichier.