Permissions de fichiers sous Linux expliquées : chmod, -rw-r–r– et droits d’accès

目次

1. Introduction

Qu’est-ce que les « permissions d’accès » sous Linux ?

Dans les systèmes Linux et de type Unix, gérer correctement les « permissions d’accès » (permissions) des fichiers et répertoires est crucial. C’est un élément essentiel tant du point de vue de la sécurité que du bon fonctionnement du système.

Beaucoup de personnes, lorsqu’elles affichent une liste de fichiers dans le terminal, ont probablement vu des symboles inconnus comme -rw-r--r-- et se sont demandé « Que signifie cela ? ».

La relation entre chmod et -rw-r–r–

Ces symboles sont une représentation symbolique des permissions d’accès d’un fichier. La commande chmod sert à définir et modifier ces permissions d’accès. En d’autres termes, lorsque vous utilisez chmod pour accorder des permissions d’accès spécifiques à un fichier, le résultat s’affiche sous forme de symboles comme -rw-r--r--.

Objectif et public visé de cet article

Dans cet article, nous expliquerons de manière simple et accessible, même pour les débutants, ce que signifie précisément -rw-r--r-- et comment utiliser chmod pour le définir et le modifier. Nous aborderons également des aspects pratiques tels que les considérations de sécurité et des exemples d’utilisation concrets.

Cet article vise à fournir une compréhension solide de connaissances pratiques applicables dans des scénarios réels, s’adressant à tous, des novices sous Linux aux utilisateurs intermédiaires qui connaissent déjà un peu les opérations en terminal.

2. Qu’est‑ce que chmod ? [Compréhension de base]

Rôle de la commande chmod

chmod (prononcé « chom-mod » ou « change mode ») est une abréviation de « change mode » et est une commande utilisée sous Linux et les systèmes d’exploitation de type Unix pour modifier les permissions d’accès (permissions) des fichiers et répertoires.
En utilisant cette commande, vous pouvez contrôler de manière flexible « qui peut effectuer quelles opérations (lecture, écriture, exécution) ».

Configurer correctement les permissions des fichiers et répertoires est essentiel non seulement pour ensuring security mais aussi pour preventing troubles with file sharing and execution.

Syntaxe de base de chmod

chmod [options] [permissions] filename

Par exemple, il est utilisé comme suit :

chmod 644 sample.txt

Cette commande modifie les permissions de sample.txt comme suit :

-rw-r--r--  1 user group 1234 Apr 13 20:00 sample.txt
  • Propriétaire (utilisateur) : Lecture et écriture autorisées (rw-)
  • Groupe: Lecture seule (r–)
  • Autres: Lecture seule (r–)

Deux types de spécification : numérique et symbolique

Il existe deux manières de spécifier les permissions d’accès avec chmod :

  • Spécification numérique (Mode numérique)
  • Exemple: chmod 755 script.sh
  • Cette méthode spécifie les autorisations numériquement pour chaque type d’utilisateur.
  • Spécification Symbolique (Mode Symbolique)
  • Exemple: chmod u=rw,g=r,o=r file.txt
  • Cette méthode spécifie les autorisations en utilisant les symboles r (lecture), w (écriture) et x (exécution) pour u (utilisateur), g (groupe) et o (autres).

Les deux méthodes peuvent finalement définir les mêmes permissions, mais la spécification numérique est plus rapide pour les changements en masse, tandis que la spécification symbolique permet des modifications plus flexibles. Il est préférable de les utiliser en fonction de la situation.

Notez la différence entre chmod et chown

La commande chown est souvent confondue avec chmod.

  • chmod: Modifie les autorisations d’accès (permissions)
  • chown: Modifie le « propriétaire » et le « groupe » des fichiers et des répertoires

Puisque leurs objectifs sont différents, il est important de bien comprendre le rôle de chaque commande.

3. Comprendre la signification de -rw-r–r– en le décortiquant

Structure des symboles d’autorisation

Lorsque vous exécutez la commande ls -l sous Linux, les informations du fichier sont affichées au format suivant :

-rw-r--r--  1 user group  1234 Apr 13  2025 sample.txt

Parmi ceux‑ci, le -rw-r--r-- le plus à gauche représente les autorisations (droits d’accès) du fichier. Comprendre cela vous permet de saisir correctement qui peut effectuer quelles opérations.

Explication détaillée de chaque partie

① Le premier caractère : type de fichier

SymbolSignification
-Fichier régulier
dRépertoire
lLien symbolique
bBloc de périphérique
cPériphérique de caractères

Dans le cas de -rw-r--r--, le - initial indique qu’il s’agit d’un « fichier ordinaire ».
② Caractères 2 à 10 : autorisations d’accès (3 caractères × 3 ensembles)

  • Propriétaire (utilisateur)rw-
    → La lecture (r) et l’écriture (w) sont autorisées, l’exécution (x) ne l’est pas.
  • Grouper--
    → Lecture seule. L’écriture et l’exécution ne sont pas autorisées.
  • Autresr-- → Lecture seule.

Ainsi, l’état est que seul le propriétaire peut modifier, et les autres utilisateurs ne peuvent que consulter.

Correspondance avec la notation numérique : signification de 644

Sous Linux, les mêmes autorisations peuvent également être représentées par la notation numérique (octale).
La notation numérique correspondant à -rw-r--r-- est 644.

Type d’utilisateurSymbolic NotationNumericSignification
Propriétairerw-6Lire + Écrire
Groupr--4Lecture seule
Autresr--4Lecture seule

Ce nombre est obtenu à partir du calcul suivant :

  • Lire (r) = 4
  • Écrire (w) = 2
  • Exécuter (x) = 1

Ainsi, rw- = 4 + 2 = 6, r-- = 4, r-- = 4 → ce qui donne au total 644.

Pourquoi utilise‑t‑on cette autorisation ?

-rw-r--r-- (644) est une autorisation souvent utilisée pour les fichiers publics et les fichiers statiques (HTML, CSS, etc.) sur les serveurs web.
Les raisons sont les suivantes :

  • Seul le propriétaire peut modifier → Empêche les modifications non intentionnelles
  • La lecture est autorisée pour les autres utilisateurs → Prend en charge le partage de fichiers et la publication

Lorsqu’elle est utilisée correctement, elle permet une gestion des fichiers qui équilibre sécurité et commodité.

4. Comment définir -rw-r–r– avec chmod [Édition pratique]

Modification des permissions avec la commande chmod

Les permissions d’accès des fichiers et répertoires peuvent être modifiées librement à l’aide de la commande chmod. Par exemple, si vous souhaitez définir l’état à -rw-r--r--, il suffit de régler la permission sur « 644 ».

Méthode de définition avec spécification numérique

Utilisez le format chmod 644 filename.

chmod 644 document.txt

Cette commande modifie les permissions de document.txt comme suit :

-rw-r--r--  1 user group 1234 Apr 13 20:00 document.txt
  • Propriétaire (utilisateur): Lecture et écriture autorisées (rw-)
  • Groupe: Lecture seule (r–)
  • Autres : Lecture seule (r–)

Méthode de définition avec spécification symbolique

Si vous souhaitez manipuler les permissions de façon plus flexible, la spécification symbolique est efficace.

chmod u=rw,g=r,o=r document.txt

Cette commande est interprétée comme suit :

  • u=rw → Définir les permissions de lecture et d’écriture pour le propriétaire
  • g=r → Autoriser uniquement la permission de lecture pour le groupe
  • o=r → Autoriser uniquement la permission de lecture pour les autres utilisateurs

Le résultat est exactement le même que la spécification numérique 644.

Points à retenir lors de l’application aux répertoires

Contrairement aux fichiers, les répertoires nécessitent la « permission d’exécution (x) » pour accéder à leur contenu.
Par exemple, faire ce qui suit peut restreindre l’accès :

chmod 644 my_folder

Avec ce réglage, seule la permission de lecture est accordée, mais l’opération d’« ouvrir » le contenu du répertoire (qui nécessite la permission d’exécution) devient impossible.
Exemple de réglage correct :

chmod 755 my_folder
  • Propriétaire : Lire, écrire, exécuter
  • Groupe et Autres : Lecture, exécution

En faisant cela, les autres utilisateurs pourront lister les fichiers du répertoire.

Modification récursive des permissions : l’option -R

Si vous souhaitez modifier plusieurs fichiers et sous‑répertoires en même temps, utilisez l’option -R (récursive).

chmod -R 644 my_folder

Cette opération applique les permissions 644 à tous les fichiers sous my_folder. Cependant, il y a des points à retenir avec cette méthode.

5. Comment vérifier les permissions avec la commande ls -l

Comment vérifier les permissions de fichiers ?

Pour vérifier les permissions d’accès (permissions) des fichiers et répertoires, utilisez la commande Linux standard ls -l. Elle signifie « format d’affichage long » et affiche des informations détaillées telles que les permissions, le propriétaire, la taille et la date de dernière modification.

Utilisation de base

ls -l

L’exécution de cette commande affichera une sortie similaire à ce qui suit :

-rw-r--r--  1 naoya devs  2048 Apr 13 20:00 index.html

Chaque élément a la signification suivante :

ItemSignification
-rw-r--r--Permissions (droits d’accès)
1Nombre de liens durs (généralement 1)
naoyaPropriétaire (utilisateur)
devsGroup
2048Taille du fichier (octets)
Apr 13 20:00Date et heure de la dernière modification
index.htmlFilename

Comment lire la colonne des permissions

Concentrons‑nous sur la partie -rw-r--r--, qui est le sujet principal de ce chapitre. Elle peut être décomposée comme suit :

  • Le premier caractère : type de fichier
  • -: Fichier régulier
  • d: Répertoire
  • l: Lien symbolique
  • Les 9 caractères restants : Permissions d’accès (3 caractères × 3 ensembles)
  • Propriétaire (utilisateur): rw- → Lecture + Écriture
  • Groupe: r-- → Lecture seule
  • Autres: r-- → Lecture seule

En d’autres termes, à partir de cet affichage, vous pouvez lire que « seul le propriétaire peut modifier ce fichier, et les autres utilisateurs ne peuvent que le lire ».

Vérifier uniquement des fichiers spécifiques

Si vous souhaitez vérifier les permissions d’un seul fichier spécifique, indiquez le nom du fichier.

ls -l index.html

Cela vous permet de vérifier uniquement le fichier ciblé. C’est utile dans les répertoires contenant de nombreux fichiers.

Il est également possible de vérifier les répertoires

Vous pouvez également vérifier les répertoires avec ls -l. Cependant, si vous voulez lister le contenu du répertoire, utilisez l’option -d en même temps.

ls -ld my_folder

Cela affichera uniquement les informations de permission pour my_folder lui‑même (la liste des fichiers qu’il contient ne sera pas affichée).

Gérer en toute sécurité tout en vérifiant les permissions

Après avoir défini les permissions avec chmod, il est recommandé de toujours vérifier le résultat avec ls -l.
Si des réglages incorrects restent en place, ils peuvent entraîner des incidents de sécurité ou un comportement inattendu.
De plus, si vous souhaitez vérifier plusieurs fichiers à la fois, vous pouvez les combiner avec un pipe comme ceci :

ls -l | grep '.sh'

Cela filtrera et affichera uniquement les fichiers avec l’extension .sh (script shell).

6. Comment vérifier et modifier les permissions avec des outils d’interface graphique (pour les débutants)

Options pour ceux qui ne sont pas à l’aise avec les commandes

Linux operation is mainly command-line operation using the terminal, but many beginners find the « text-only screen difficult » or are « afraid of making careless mistakes. »
For such people, you can also check and change file permissions using a méthode GUI (Interface Graphique Utilisateur).

Utilisation du gestionnaire de fichiers d’Ubuntu (Nautilus)

Linux distributions such as Ubuntu come standard with a file manager called « Nautilus. » This is a tool equivalent to « File Explorer » in Windows.

Comment vérifier :

  1. Cliquez avec le bouton droit sur le fichier ou le répertoire cible
  2. Sélectionnez ‘Propriétés’
  3. Ouvrez l’onglet « Permissions » (il peut être affiché comme « Droits d’accès » selon la version)

Ce que vous pouvez faire ici :

  • Vérifiez et modifiez le propriétaire et le groupe (privilèges d’administrateur requis)
  • Changer les autorisations de lecture, d’écriture et d’exécution
  • Les modifications des autorisations d’accès sont appliquées immédiatement.

In the GUI, instead of symbols like rw- and r--, des expressions faciles à comprendre such as « Lecture seule » and « Lecture et écriture » are displayed, so even beginners can operate with peace of mind.

WinSCP (client SFTP pour les utilisateurs Windows)

When connecting to a remote Linux server from Windows, you can set permissions on the GUI using an SFTP client called WinSCP.

Procédure d’utilisation :

  1. Connectez-vous au serveur avec WinSCP
  2. Cliquez avec le bouton droit sur le fichier souhaité → « Propriétés »
  3. Modifiez la valeur numérique (par ex., 644) ou les cases à cocher dans « Access Rights (Permissions) ».
  4. Cliquez sur « OK » pour appliquer

Avantages :

  • Vous pouvez vérifier avec à la fois des représentations numériques et symboliques
  • Les modifications de permissions récursives sont également possibles via l’interface graphique (pour les répertoires).

Remarque :

  • Les fichiers nécessitant des privilèges root peuvent ne pas être modifiables sans privilèges sudo.

[https://winscp.net/eng/index.php](https://winscp.net/eng/index.php)

FileZilla (client SFTP multiplateforme)

You can also change permissions in the same way with the SFTP client « FileZilla, » which can be used on Mac and Linux as well.

Procédure :

  1. Après vous être connecté au serveur, faites un clic droit sur le fichier concerné.
  2. Sélectionnez ‘Permissions de fichier…’
  3. Définir avec des cases à cocher ou des valeurs numériques et cliquer sur « OK » pour appliquer

Avantages et inconvénients de l’utilisation de l’interface graphique

Avantages :

  • Les débutants sont moins susceptibles de commettre des erreurs.
  • Les changements peuvent être confirmés visuellement immédiatement
  • Facile à gérer même pour ceux qui ne sont pas familiers avec les commandes

Inconvénients :

  • En fonction des paramètres du serveur et de l’environnement, les modifications peuvent ne pas être possibles avec les outils GUI.
  • Le statut affiché et la réflexion réelle peuvent différer, il est donc recommandé d’utiliser ls -l pour confirmation en conjonction

[https://filezilla-project.org/](https://filezilla-project.org/)

7. Notes et dépannage pour les paramètres chmod

Ça ne fonctionne pas même si vous pensez l’avoir configuré correctement ? Quelle pourrait être la raison ?

Après avoir modifié les permissions d’accès avec la commande chmod, cela peut ne pas fonctionner comme prévu. Dans la plupart des cas, cela est dû à des erreurs de configuration des permissions ou à des malentendus concernant les permissions.
Ici, nous présenterons des exemples courants de dépannage en pratique ainsi que leurs solutions.

Causes et solutions pour l’erreur « Permission denied »

Symptôme :

bash: ./script.sh: Permission denied

Cause :

  • The file you are trying to execute does not have « execute permission (x) » granted

Solution :

chmod +x script.sh

Ou, si vous utilisez une spécification numérique :

chmod 755 script.sh

Il est important de noter que « vous pouvez lire et écrire, mais vous ne pouvez pas exécuter ».

Impossible d’accéder au répertoire sans permission d’exécution

Si vous définissez chmod 644 pour un répertoire, vous ne pourrez peut-être pas lire son contenu.

Raison :

  • Permission d’exécution (x) pour un répertoire est essentielle pour pouvoir « entrer » et « voir le contenu ».

Exemple :

chmod 644 my_folder
ls my_folder

→ Dans le cas ci‑dessus, vous ne pourrez peut-être pas afficher le contenu et une erreur peut survenir.

Solution :

chmod 755 my_folder

Pièges des changements récursifs (-R)

Bien que chmod -R soit pratique, il applique les mêmes permissions aux fichiers et aux répertoires, ce qui peut entraîner des problèmes inattendus.

Exemple d’échec courant :

chmod -R 644 /var/www/html

→ Le répertoire perd la permission d’exécution, et vous ne pouvez pas accéder à son contenu.

Utilisation correcte :

# Directories with execute permission
find /var/www/html -type d -exec chmod 755 {} ;

# Files with 644
find /var/www/html -type f -exec chmod 644 {} ;

Erreurs de combinaison avec le propriétaire et le groupe

En plus de chmod, vous devez également faire attention au « propriétaire (utilisateur) » et au « groupe » du fichier.
Par exemple, si l’utilisateur apache doit lire un fichier, mais que le propriétaire est un utilisateur ordinaire et que les autres utilisateurs n’ont pas la permission de lecture, l’affichage web échouera.

Solution :

  • Changer le propriétaire: sudo chown www-data:www-data index.html
  • Accorder l’autorisation de groupe : chmod 640 index.html (si le groupe est approprié)

777 est dangereux ! Le risque des permissions trop permissives

Certaines personnes peuvent penser « Si ça ne fonctionne pas, mettez simplement 777 », mais c’est une pratique très dangereuse.

Raison :

  • Tout le monde peut lire, écrire et exécuter
  • Augmente le risque de falsification par des tiers et d’utilisation malveillante de scripts

Règles de base recommandées :

  • Files: 644 or 600
  • Répertoires: 755 or 700
  • Scripts et Binaries: 755 (selon les besoins)

8. Exemples d’utilisation et scénarios courants

Comment le paramètre d’autorisation chmod est‑il utilisé dans des situations réelles ?

La commande chmod et l’autorisation d’accès -rw-r--r-- présentées jusqu’à présent sont fréquemment utilisées dans les opérations réelles de serveur et les environnements de développement.
Ici, à travers trois scénarios typiques, voyons comment les réglages d’autorisations sont utilisés.

1. Gestion des fichiers HTML sur un serveur web

Scénario :
Lorsque vous publiez des fichiers HTML sur un serveur web tel qu’Apache ou Nginx, les permissions attribuées à ces fichiers sont généralement -rw-r--r-- (644).

chmod 644 index.html

Pourquoi 644 ?

  • Le propriétaire (administrateur web) doit apporter des modifications → Permission d’écriture (w)
  • Le serveur web (www-data, etc.) n’a besoin que de lire → Permission de lecture (r)
  • Il n’est pas nécessaire de permettre à d’autres utilisateurs d’écrire

Avec ce réglage, vous pouvez publier en toute sécurité du contenu web avec le minimum d’autorisations nécessaires.

2. Accorder l’autorisation d’exécution aux fichiers de script

Scénario :
Vous avez créé votre propre script shell backup.sh, mais lorsque vous essayez de l’exécuter, vous obtenez « Permission denied. »

chmod 755 backup.sh

Signification de ce réglage :

  • Le propriétaire peut lire, écrire et exécuter (rwx)
  • Le groupe et les autres peuvent lire et exécuter (rx)

Cela permet à d’autres utilisateurs d’exécuter le script alors que seul le propriétaire peut le modifier.

3. Restreindre l’accès en lecture aux fichiers confidentiels

Scénario :
Vous gérez secrets.txt, qui contient des clés d’API et des mots de passe. Vous ne voulez pas que quiconque, à part vous, le voie.

chmod 600 secrets.txt

Signification de ce réglage :

  • Seul le propriétaire peut lire et écrire (rw-)
  • Groupe et autres n’ont aucun accès (—)

C’est un réglage très important du point de vue de la sécurité, et il est recommandé de toujours gérer les informations privées avec 600 ou 400 (lecture seule).

4. Partager les répertoires en toute sécurité

Scénario :
Vous créez un répertoire partagé shared_folder auquel plusieurs développeurs auront accès.

chmod 770 shared_folder

Signification de ce réglage :

  • Propriétaire et Groupe : Toutes les permissions (rwx)
  • Autres : Aucun accès (—)

En définissant le groupe sur l’équipe de développement, vous pouvez permettre une collaboration sécurisée et efficace. Vous pouvez contrôler de façon flexible les utilisateurs cibles en modifiant le groupe avec la commande chgrp.

5. Problèmes dus à des réglages incorrects et exemples d’évitement

Scénario :
Vous avez accidentellement exécuté chmod -R 777 . et tous les fichiers sont devenus modifiables.

Mesures d’évitement recommandées :

  • 常に find でファイル種別を指定してパーミッションを変更
  • 変更前に ls -l で権限を確認しておく
  • test 用の仮環境で先に試す

9. FAQ

Q1. Quelle est la différence entre chmod 644 et -rw-r–r– ?

A. Ce sont des façons différentes de représenter exactement la même chose.

  • chmod 644: Une commande pour définir les permissions numériquement.
  • -rw-r--r--: La notation symbolique que vous voyez après avoir défini les autorisations, par exemple, avec ls -l.

Les état où le propriétaire a les permissions de lecture et d’écriture, et tous les autres n’ont que la permission de lecture.

Q2. Que se passe-t-il si un fichier n’a pas la permission d’exécution ?

A. Vous obtiendrez une erreur si vous essayez d’exécuter directement des scripts ou des binaires.

Par exemple, pour exécuter des fichiers .sh ou .py, la permission d’exécution (x) est nécessaire. Sans elle, vous verrez une erreur comme celle‑ci :

bash: ./script.sh: Permission denied

Solution :

chmod +x script.sh

Q3. Est‑il correct de définir un répertoire à 644 ?

A. En général, ce n’est pas approprié.

Les répertoires nécessitent la « permission d’exécution (x) ». Sans permission d’exécution, vous ne pouvez pas accéder aux fichiers à l’intérieur du répertoire.

Paramètre correct :

chmod 755 directory_name

Q4. Quels sont les réglages de permission les plus courants ?

A. Voici quelques réglages de permission courants et leurs utilisations :

  • 644 (-rw-r–r–): Pour la plupart des fichiers statiques tels que HTML, CSS, images. Permet au propriétaire de lire et d’écrire, et à tout le monde de lire.
  • 755 (-rwxr-xr-x): Pour les répertoires et les scripts exécutables. Permet au propriétaire de lire, écrire et exécuter ; et à tout le monde de lire et d’exécuter (mais pas d’écrire).
  • 600 (-rw——-): Pour les fichiers sensibles que seul le propriétaire doit pouvoir lire et écrire.
  • 700 (-rwx——): Pour les répertoires privés que seul le propriétaire devrait pouvoir y accéder.

Q5. Comment changer le propriétaire ou le groupe d’un fichier ?

A. Vous pouvez utiliser la commande chown pour changer le propriétaire et la commande chgrp pour changer le groupe.
Exemple pour changer le propriétaire :

sudo chown new_owner filename

Exemple pour changer le groupe :

sudo chgrp new_group filename

Vous pourriez avoir besoin de sudo pour ces commandes car elles nécessitent souvent des privilèges administratifs.

Q6. Les permissions de fichiers sont‑elles les mêmes sur tous les systèmes d’exploitation ?

A. Non, les permissions de fichiers peuvent différer de manière significative selon les systèmes d’exploitation.

Linux et les systèmes de type Unix possèdent un système de permissions détaillé basé sur l’utilisateur, le groupe et les autres, avec des permissions de lecture, d’écriture et d’exécution. Windows, en revanche, utilise un système différent basé sur les listes de contrôle d’accès (ACL) qui sont plus granulaires et peuvent définir les permissions pour des utilisateurs et groupes spécifiques de manière plus détaillée.

10. Conclusion

Comprendre et configurer correctement les permissions de fichiers sous Linux est une compétence fondamentale pouricon gère un serveur ou travaille avec le système. Bien que la notation -rw-r--r-- et la commande chmod puissent sembler intimidantes au premier abord, saisir les concepts de base améliorera considérablement votre capacité à maintenir un système sécurisé et bien organisé.

En comprenant les différents types de permissions, comment interpréter les notations symboliques et numériques, et comment utiliser efficacement la commande chmod, vous pouvez vous assurer que vos fichiers répertoires sont protégés et accessibles uniquement aux utilisateurs prévus.

N’oubliez pas de toujours vérifier vos paramètres de permission avec la commande ls -l et soyez prudent lors de l’utilisation des options récursives. Avec la pratique, la gestion des permissions de fichiers deviendra une partie naturelle et essentielle de votre flux de travail.