Polarys

Droits & utilisateurs

Comprendre et modifier les droits fichiers (chmod, chown)

Comprendre et modifier les droits fichiers

Sous Linux, chaque fichier appartient à un utilisateur et à un groupe, et trois niveaux de droits s'appliquent : le propriétaire, le groupe, et tous les autres. C'est le mécanisme fondamental de sécurité du système : comprendre les droits vous évitera des erreurs "Permission denied" et des failles de sécurité.

Lire les droits avec ls -l

ls -l /etc/passwd
# -rw-r--r-- 1 root root 1872 juin 15 09:00 /etc/passwd

Décomposons -rw-r--r-- :

- rw- r-- r--
│ │   │   └── Autres (others) : lecture seule
│ │   └────── Groupe (group)  : lecture seule
│ └────────── Propriétaire    : lecture + écriture
└──────────── Type : - fichier, d dossier, l lien

Les trois droits sont :

  • r (read) : lire le fichier / lister le dossier
  • w (write) : modifier le fichier / créer des fichiers dans le dossier
  • x (execute) : exécuter le fichier / traverser le dossier

chmod : modifier les droits

Notation symbolique (plus lisible)

chmod u+x script.sh      # ajoute l'exécution au propriétaire (user)
chmod g-w config.conf    # retire l'écriture au groupe
chmod o-r secret.key     # retire la lecture aux autres
chmod a+r README.txt     # tous (all) peuvent lire

Notation octale (plus rapide)

Chaque droit vaut un chiffre : r=4, w=2, x=1. On additionne par triplet.

OctalBinaireDroits
7111rwx
6110rw-
5101r-x
4100r--
0000---
chmod 644 fichier.conf   # propriétaire rw-, groupe r--, autres r--
chmod 755 script.sh      # propriétaire rwx, groupe r-x, autres r-x
chmod 600 private.key    # propriétaire rw-, groupe ---, autres ---

Règle de sécurité : les clés SSH privées doivent être en 600 : SSH refusera de les utiliser si elles sont lisibles par d'autres.

chown : changer propriétaire et groupe

chown alice fichier.txt           # change le propriétaire
chown alice:webadmin fichier.txt  # change propriétaire ET groupe
chown -R www-data:www-data /var/www/glpi/  # récursif sur tout un dossier

Cas concret

Après avoir déployé GLPI, Apache ne peut pas lire les fichiers du site :

ls -la /var/www/glpi/
# drwxr-x--- 5 technicien technicien 4096 juin 19 10:00 .

# Le problème : Apache tourne en tant que www-data, pas technicien
chown -R www-data:www-data /var/www/glpi/
chmod -R 755 /var/www/glpi/
chmod 640 /var/www/glpi/config/config_db.php  # config DB en lecture seule pour www-data
graph LR
  FILE["fichier.conf<br/>-rw-r--r--"] --> U["Propriétaire (u)<br/>alice : rw-"]
  FILE --> G["Groupe (g)<br/>webadmin : r--"]
  FILE --> O["Autres (o)<br/>: r--"]
  U --> PERM["chmod 644<br/>chown alice:webadmin"]

Erreurs fréquentes

  • Mettre 777 (tout le monde peut tout faire) pour "régler" une erreur de permission : c'est une faille de sécurité majeure.
  • Oublier -R avec chown ou chmod sur un dossier : les sous-dossiers gardent les anciens droits.
  • Confondre les droits sur un dossier : le droit x sur un dossier permet d'y entrer (cd), pas d'exécuter des programmes.

À retenir

  • ls -l → lire les droits : type + propriétaire(rwx) + groupe(rwx) + autres(rwx).
  • chmod 755 → rwxr-xr-x (script exécutable public) ; chmod 600 → rw------- (fichier privé).
  • chown -R www-data:www-data → Apache peut lire le site web.

Mini-exercice

Créez un fichier test.sh dans /tmp/. Vérifiez ses droits avec ls -l. Rendez-le exécutable pour le propriétaire uniquement avec chmod u+x /tmp/test.sh. Vérifiez à nouveau avec ls -l et notez le changement.

Quiz de validation

Quiz - 8 questions

1. Dans la sortie 'ls -l', que représentent les 9 caractères '-rwxr-xr--' ?

2. Que signifie le droit 'x' (execute) appliqué à un dossier ?

3. Quelle valeur octale correspond aux droits rw-r--r-- (propriétaire lecture+écriture, groupe et autres lecture seule) ?

4. Quelle commande change le propriétaire ET le groupe du dossier /var/www/glpi/ et de tout son contenu pour www-data ?

5. Pourquoi faut-il éviter 'chmod 777' pour résoudre une erreur de permission ?

6. Une clé SSH privée (id_ed25519) est refusée par SSH avec 'Permissions too open'. Quel chmod résout le problème ?

7. Quelle commande ajoute uniquement le droit d'exécution pour le propriétaire sans toucher aux autres droits ?

8. Après 'chown alice:webadmin rapport.pdf', qui peut modifier ce fichier si les droits sont -rw-r--r-- ?

Suis ta progression

Crée un compte gratuit pour suivre ta progression et accéder à toutes les leçons.