Aller au contenu

Gestion des autorisations d'accès utilisateur

Dans cet article

Permissions : Types

Linux utilise un système d'autorisations flexible qui permet de contrôler qui peut interagir avec les fichiers et répertoires et comment. Cela améliore considérablement la sécurité du système.

Seul le superutilisateur root a le contrôle total sur l'ensemble du système, c'est pourquoi l'utilisation de root pour les tâches quotidiennes est considérée comme risquée : toute erreur peut causer des dommages graves. Les utilisateurs réguliers, par défaut, ne peuvent travailler qu'avec leurs répertoires personnels et n'ont aucun accès aux fichiers système, ce qui empêche les modifications accidentelles ou malveillantes.

Pour chaque fichier ou répertoire, trois types d'autorisations sont définis :

  • r (read) – lecture,
  • w (write) – écriture (changement de contenu),
  • x (execute) – exécution (pour les fichiers) ou entrée (pour les répertoires).

Ces autorisations s'appliquent à trois catégories d'utilisateurs :

  1. Propriétaire – l'utilisateur qui possède le fichier (généralement le créateur).
  2. Groupe – un ensemble d'utilisateurs dans un groupe ; ils reçoivent des autorisations partagées sur le fichier.
  3. Autres – tous les autres utilisateurs qui ne sont pas dans les deux premières catégories.

Chaque catégorie peut avoir son propre ensemble d'autorisations indépendant.

Les autorisations sont exprimées de deux manières :

  • Format alphanumérique : par ex., rwxr-xr--.
  • Format numérique : chaque autorisation est encodée en tant que nombre (lecture = 4, écriture = 2, exécution = 1), et la somme donne la valeur finale.
    Par ex., 7 = 4+2+1 = rwx.

La valeur numérique est écrite dans l'ordre propriétaire, groupe, autres.
Ainsi, 755 ( rwxr-xr-x) signifie :

  • Le propriétaire peut lire, écrire et exécuter (ou entrer dans le répertoire).
  • Tout le monde d'autre peut lire et exécuter (ou voir le contenu du répertoire et y entrer).

Exemples d'autorisations typiques :

  • 600 (rw-------) – seul le propriétaire peut lire et modifier le fichier.
  • 644 (rw-r--r--) – le propriétaire peut modifier ; les autres ne peuvent que lire.
  • 700 (rwx------) – accès complet uniquement pour le propriétaire.
  • 755 (rwxr-xr-x) – le propriétaire peut tout faire ; les autres ne peuvent que voir et utiliser (exécuter des fichiers ou entrer dans des répertoires).

Note

Faites une attention particulière aux autorisations des répertoires : pour permettre à un utilisateur de voir non seulement la liste des fichiers mais aussi leurs attributs (par ex., taille ou propriétaire), il a besoin au moins de lecture + exécution r-x (c’est‑à‑dire 5). La lecture seule r-- lui permet de voir les noms de fichiers mais pas leurs propriétés, et sans l’exécution x il ne peut même pas cd dans le répertoire.

Configuration des autorisations

Configuration des autorisations via SSH

Les autorisations de fichiers et de répertoires sous Linux sont gérées avec la commande chmod. Il existe deux façons principales de l'utiliser.

Méthode 1 : Mode numérique (absolu)

Dans cette méthode, vous définissez immédiatement l'ensemble complet des autorisations pour les trois catégories d'utilisateurs — propriétaire, groupe et autres — en utilisant un nombre à trois chiffres.

Format de la commande :

chmod XXX object_name

Exemples :

  • chmod 755 test.php – le propriétaire obtient les droits complets rwx, tandis que le groupe et les autres n'ont que r-x (lecture et exécution).
  • chmod 644 test.php – le propriétaire peut lire et modifier ; les autres ne peuvent que lire.
  • chmod 755 dir – droits similaires pour un répertoire.

Pour appliquer les autorisations de façon récursive à tous les fichiers et sous-répertoires d'un dossier, utilisez le drapeau -R :

chmod -R 755 *

Note

Faites attention à -R — la commande changera les autorisations sur tout le contenu du répertoire, y compris les dossiers et fichiers imbriqués.

Method 2: Symbolic (Relative) Mode

Ici, vous modifiez seulement la partie nécessaire des autorisations sans toucher le reste. C’est pratique pour de petits ajustements.

Format de la commande:

chmod [category][operation][permissions] object_name

Catégories:

  • u – propriétaire (utilisateur)
  • g – groupe
  • o – autres
  • a – tous

Opérations:

  • + – ajouter une autorisation
  • - – supprimer une autorisation
  • = – définir une valeur exacte (en supprimant les autres)

Permissions sont spécifiées comme r, w, x (ex. rx, pas r-x).

Exemples :

  • chmod g+rx test.php – autoriser le groupe à lire et exécuter le fichier.
  • chmod g-w test.php – refuser l’accès en écriture au groupe.
  • chmod o-rw test.php – retirer la lecture et l’écriture aux autres.
  • chmod go+rx dir1 – donner au groupe et aux autres la permission de voir et d’entrer dans le répertoire.
  • chmod -R go+r new_directory – autoriser récursivement le groupe et les autres à lire tous les fichiers et répertoires dans new_directory.

Cette méthode est plus flexible et plus sûre, surtout lorsqu’il est important de ne pas perturber les autorisations existantes.

Configuration des autorisations via un client FTP

Changer et définir les autorisations est également très pratique avec un client FTP. Passons en revue le processus en utilisant le client gratuit FileZilla.

  1. Connectez‑vous au serveur et sélectionnez le fichier ou le répertoire souhaité.
  2. Faites un clic droit et choisissez File Permissions… dans le menu contextuel.
  3. Définissez les autorisations requises.

Affichage des autorisations actuelles

Pour afficher les autorisations attribuées, utilisez la commande ls.

Autorisations pour les fichiers dans le répertoire courant :

username@server:~/my_directory$ ls -l

Autorisations pour un fichier ou un répertoire spécifique (ex. text.doc ou dir1) :

ls -l text.doc
ls -l dir1

Autorisations pour les fichiers dans tous les sous‑répertoires imbriqués du répertoire courant :

ls -Rl

Note

Ne fermez pas la session SSH actuelle tant que vous n’avez pas vérifié que la nouvelle fonctionne. Sinon, vous risquez de perdre l’accès au serveur.