Permissions et Propriétaires des Fichiers et Répertoires sous Linux

Permissions et Propriétaires des Fichiers et Répertoires sous Linux

Dans les systèmes Linux, les permissions d'accès aux fichiers et répertoires contrôlent qui peut effectuer des opérations spécifiques. Ces permissions s'appliquent à trois types d'utilisateurs : le propriétaire du fichier, les membres du groupe associé, et tous les autres utilisateurs du système. Chaque utilisateur se voit attribuer des droits de lecture, écriture ou exécution.

Visualisation des Permissions

Pour afficher les détails des permissions, utilisez la commande ls -l. La sortie montre une chaîne de caractères où les positions 2 à 10 sont divisées en trois groupes : les trois premiers pour le propriétaire, les suivants pour le groupe, et les trois derniers pour les autres utilisateurs.


$ ls -l /home/projets
total 12
drwxr-xr-x 2 developpeur equipe 4096 fév  5 09:30 src
-rw-r--r-- 1 developpeur equipe 1024 fév  5 10:15 readme.md
-rwx------ 1 admin      equipe  512 fév  4 14:20 deploy.sh

Chaque groupe de permissions se compose de :

  • r (lecture) : pour un fichier, permet de voir le contenu ; pour un répertoire, permet de lister son contenu.
  • w (écriture) : pour un fichier, permet de modifier ou d'ajouter des données ; pour un répertoire, permet de créer ou supprimer des éléments.
  • x (exécution) : pour un fichier, permet de l'exécuter ; pour un répertoire, permet d'y accéder.
  • - : indique l'absence de permission correspondante.

Exemples de combinaisons courantes :

  • -rwxr-xr-x : propriétaire a tous les droits, groupe et autres ont lecture et exécution.
  • drwx------ : répertoire avec accès complet uniquement pour le propriétaire.

Modification des Permissions

Seuls l'administrateur système ou le propriétaire peuvent modifier les permissions, via la commande chmod.

Méthode Symbolique

Syntaxe : chmod [cible][opérateur][droits] fichier

Cibles : u (propriétaire), g (groupe), o (autres), a (tous).

Opérateurs : + pour ajouter, - pour retirer, = pour définir.

Exemple : supprimer le droit d'écriture pour le groupe sur le fichier config.yaml :


$ ls -l config.yaml
-rw-rw-r-- 1 developpeur equipe 2048 fév  5 11:00 config.yaml
$ chmod g-w config.yaml
$ ls -l config.yaml
-rw-r--r-- 1 developpeur equipe 2048 fév  5 11:00 config.yaml

Méthode Octale

Les droits sont représentés par des valeurs numériques : 4 pour lecture, 2 pour écriture, 1 pour exécution. En additionnant ces valeurs, on obtient un chiffre de 0 à 7 pour chaque catégorie (propriétaire, groupe, autres).

Exemple : chmod 755 script.sh attribue rwx pour le propriétaire et rx pour le groupe et les autres.


$ chmod 644 document.txt
$ ls -l document.txt
-rw-r--r-- 1 utilisateur groupe 1536 fév  5 12:30 document.txt

Permissions Spéciales

Des bits supplémentaires peuvent être définis pour un contrôle avancé, comme SUID, SGID et le bit sticky. Ils remplacent parfois le bit d'exécution dans l'affichage.

  • SUID (valeur 4) : pour les fichiers exécutables, le processus s'exécute avec les privilèges du propriétaire.
  • SGID (valeur 2) : similaire au SUID mais pour le groupe ; sur les répertoires, les nouveaux fichiers héritent du groupe.
  • Sticky (valeur 1) : sur les répertoires, empêche la suppression par des utilisateurs non propriétaires.

Configuraton avec la méthode octale : utilisez un quatrième chiffre (par exemple chmod 4755 programme pour SUID).


$ chmod 2755 /shared_dir
$ ls -ld /shared_dir
drwxr-sr-x 2 admin equipe 4096 fév  5 13:00 /shared_dir

Modification des Propriétaires

Pour changer le propriétaire ou le groupe d'un fichier ou répertoire, utilisze la commande chown.

Syntaxe : chown [options] utilisateur:roupe cible

Options courantes : -R pour appliquer les changements de manière récursive, -v pour afficher les détails.


$ chown -R nouveau_prop: nouveau_groupe /chemin/vers/répertoire
$ chown utilisateur1 fichier_archive.tar.gz

Étiquettes: Linux chmod chown permissions système de fichiers

Publié le 22 juillet à 18h38