Comprendre chmod 644 et -rw-r–r– sous Linux : les permissions de fichiers expliquées clairement

目次

1. Introduction

Qu’est-ce que les « Permissions d’accès » dans Linux ?

Dans les systèmes Linux et similaires à Unix, la gestion appropriée des permissions d’accès aux fichiers et répertoires est extrêmement importante. Cela est essentiel non seulement du point de vue de la sécurité, mais aussi pour maintenir des opérations système stables.

De nombreuses personnes se sont probablement demandé ce que signifient des symboles comme -rw-r--r-- lors de la visualisation des listes de fichiers dans le terminal.

La Relation Entre chmod et -rw-r–r–

Ces symboles représentent les permissions d’accès aux fichiers en utilisant une notation symbolique. La commande chmod est utilisée pour définir et modifier ces permissions. En d’autres termes, lorsque vous utilisez chmod pour attribuer des permissions spécifiques à un fichier, le résultat s’affiche sous forme de symboles comme -rw-r--r--.

Objectif de Cet Article et Public Cible

Cet article explique ce que signifie réellement -rw-r--r-- et comment le définir ou le changer en utilisant chmod, de manière facile à comprendre pour les débutants. Nous couvrons également les considérations de sécurité et des exemples d’utilisation pratiques dans le monde réel.

Le contenu est destiné à tous, des débutants en Linux aux utilisateurs intermédiaires qui se familiarisent avec les opérations en terminal, dans le but de fournir des connaissances pratiques utilisables dans des environnements de travail réels.

2. Qu’est-ce que chmod ? (Compréhension de Base)

Le Rôle de la Commande chmod

chmod (prononcé « change mode ») est une commande utilisée dans les systèmes d’exploitation Linux et similaires à Unix pour modifier les permissions d’accès aux fichiers et répertoires.
L’utilisation de cette commande vous permet de contrôler de manière flexible qui peut effectuer quelles opérations (lecture, écriture, exécution).

Des paramètres de permissions appropriés sont cruciaux non seulement pour la sécurité, mais aussi pour prévenir les problèmes de partage et d’exécution de fichiers.

Syntaxe de Base de chmod

chmod [options] [permissions] filename

Par exemple :

chmod 644 sample.txt

Cette commande change 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 Façons de Spécifier les Permissions

Il existe deux méthodes pour spécifier les permissions avec chmod :

  • Mode numérique
  • Exemple : chmod 755 script.sh
  • Cette méthode assigne les permissions en utilisant des nombres.
  • Mode symbolique
  • Exemple : chmod u=rw,g=r,o=r file.txt
  • Cette méthode utilise des symboles tels que u (utilisateur), g (groupe), o (autres), et r/w/x.

Les deux méthodes produisent les mêmes résultats. Le mode numérique est rapide pour les changements en masse, tandis que le mode symbolique permet un contrôle plus flexible.

Différence Entre chmod et chown

Une commande souvent confondue est chown :

  • chmod : change les permissions d’accès
  • chown : change le propriétaire et le groupe du fichier

Puisque leurs objectifs diffèrent, il est important de comprendre clairement le rôle de chaque commande.

3. Comprendre la Signification de -rw-r–r–

Structure des Symboles de Permissions

Lorsque vous exécutez ls -l dans Linux, les informations sur les fichiers sont affichées dans le format suivant :

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

La partie la plus à gauche, -rw-r--r--, représente les permissions d’accès du fichier. Comprendre cela vous permet de savoir exactement qui peut faire quoi avec le fichier.

Décomposition Détaillée de Chaque Partie

① Premier caractère : type de fichier

SymbolMeaning
-Regular file
dDirectory
lSymbolic link
bBlock device
cCharacter device

Dans le cas de -rw-r--r--, le - en tête indique un fichier régulier.

② Caractères 2–10 : permissions (3 caractères × 3 ensembles)

  • Propriétaire (utilisateur) : rw- Lecture et écriture autorisées ; exécution non.
  • Groupe : r-- Lecture seule.
  • Autres : r-- Lecture seule.

Cela signifie que seul le propriétaire peut modifier le fichier, tandis que tout le monde d’autre ne peut que le visualiser.

Représentation Numérique : Que Signifie 644

Les permissions Linux peuvent également être exprimées en utilisant une notation numérique (octale).

L’équivalent numérique de -rw-r--r-- est 644.

User TypeSymbolicNumberMeaning
Ownerrw-6Read + Write
Groupr--4Read only
Othersr--4Read only

Les valeurs numériques sont calculées comme suit :

  • Lecture (r) = 4
  • Écriture (w) = 2
  • Exécution (x) = 1

.Ainsi, rw- = 4 + 2 = 6, et chaque r-- = 4, ce qui donne 644.

Pourquoi cette permission est couramment utilisée

-rw-r--r-- (644) est une permission très courante pour les fichiers publics et le contenu statique de serveur web tel que HTML et CSS.

  • Seul le propriétaire peut modifier le fichier, évitant les modifications non intentionnelles
  • Les autres utilisateurs peuvent lire le fichier, permettant le partage et l’accès public

Lorsqu’elle est utilisée correctement, ce paramètre équilibre sécurité et convivialité.

4. Comment définir -rw-r–r– avec chmod (Guide pratique)

Modifier les permissions avec la commande chmod

Les permissions d’accès aux fichiers et répertoires peuvent être modifiées librement à l’aide de la commande chmod. Par exemple, si vous souhaitez définir les permissions à -rw-r--r--, appliquez simplement la permission 644.

Définir les permissions en mode numérique

Utilisez le format chmod 644 nom_de_fichier.

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–)

Définir les permissions en mode symbolique

Si vous avez besoin d’un contrôle plus flexible, le mode symbolique est utile.

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

Cette commande signifie :

  • u=rw : accorder les permissions de lecture et d’écriture au propriétaire
  • g=r : accorder la permission de lecture seule au groupe
  • o=r : accorder la permission de lecture seule aux autres

Le résultat est exactement le même que celui obtenu avec le mode numérique 644.

Notes importantes lors de l’application des permissions aux répertoires

Contrairement aux fichiers, les répertoires nécessitent la permission d’exécution (x) pour être accessibles.

Par exemple, le réglage suivant peut restreindre l’accès :

chmod 644 my_folder

Avec cette configuration, la permission de lecture est accordée, mais les utilisateurs ne peuvent pas entrer dans le répertoire car la permission d’exécution est manquante.

Exemple correct :

chmod 755 my_folder
  • Propriétaire : lecture, écriture, exécution
  • Groupe et autres : lecture et exécution

Cela permet aux autres utilisateurs de lister et d’accéder aux fichiers à l’intérieur du répertoire.

Modifier les permissions de façon récursive : l’option -R

Si vous souhaitez modifier les permissions de nombreux fichiers et sous‑répertoires en une fois, utilisez l’option -R (récursive).

chmod -R 644 my_folder

Cela applique la permission 644 à tous les fichiers sous my_folder. Cependant, cette approche comporte des mises en garde importantes.

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

Comment afficher les permissions des fichiers

Pour vérifier les permissions des fichiers et répertoires sous Linux, utilisez la commande standard ls -l. Celle‑ci affiche des informations détaillées telles que les permissions, le propriétaire, la taille du fichier et la date de dernière modification.

Utilisation de base

ls -l

La sortie ressemble à ceci :

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

Chaque colonne a la signification suivante :

FieldDescription
-rw-r--r--Permissions
1Number of hard links
naoyaOwner (user)
devsGroup
2048File size (bytes)
Apr 13 20:00Last modified date
index.htmlFile name

Comment lire le champ des permissions

Concentrez‑vous sur la partie -rw-r--r--. Elle peut être décomposée comme suit :

  • Premier caractère : type de fichier
  • - : fichier ordinaire
  • d : répertoire
  • l : lien symbolique
  • Les neuf caractères restants : permissions (3 × 3 ensembles)
  • Propriétaire : rw- → lecture et écriture
  • Groupe : r-- → lecture seule
  • Autres : r-- → lecture seule

Cela indique que seul le propriétaire peut modifier le fichier, tandis que les autres ne peuvent que le lire.

Vérifier un fichier spécifique

Pour vérifier les permissions d’un fichier spécifique, indiquez le nom du fichier :

ls -l index.html

Ceci est utile lorsqu’on travaille dans des répertoires contenant de nombreux fichiers.

Vérifier les permissions d’un répertoire

Les répertoires peuvent également être vérifiés avec ls -l. Pour afficher le répertoire lui‑même plutôt que son contenu, utilisez l’option -d.

ls -ld my_folder

Cela affiche les informations de permission uniquement pour my_folder.

Gestion sécurisée des permissions

Après avoir modifié les permissions avec chmod, il est recommandé de toujours vérifier le résultat à l’aide de ls -l.

Des réglages incorrects peuvent entraîner des problèmes de sécurité ou un comportement inattendu.

French.Vous pouvez également le combiner avec des pipes pour filtrer :

ls -l | grep '.sh'

Cela filtre et n’affiche que les fichiers de script shell.

6. Vérification et modification des permissions à l’aide d’outils GUI (convivial pour les débutants)

Une option pour ceux qui ne sont pas à l’aise avec la ligne de commande

Linux est souvent utilisé via le terminal et la ligne de commande, mais de nombreux débutants trouvent les interfaces textuelles difficiles ou sujettes aux erreurs.
Pour ces utilisateurs, les permissions de fichiers peuvent également être vérifiées et modifiées à l’aide d’outils GUI (interface graphique).

Utilisation du gestionnaire de fichiers Ubuntu (Nautilus)

Les distributions Linux comme Ubuntu incluent un gestionnaire de fichiers par défaut appelé Nautilus, similaire à l’Explorateur Windows.

Comment vérifier les permissions :

  1. Faites un clic droit sur le fichier ou le répertoire cible
  2. Sélectionnez « Propriétés »
  3. Ouvrez l’onglet « Permissions » (l’intitulé peut varier selon la version)

Ce que vous pouvez faire à cet endroit :

  • Voir et modifier le propriétaire et le groupe (privilèges d’administrateur requis)
  • Basculer les permissions de lecture, écriture et exécution
  • Les modifications sont appliquées immédiatement

Au lieu des notations symboliques comme rw- ou r--, les permissions sont affichées sous forme de descriptions en langage clair telles que « Lecture seule » ou « Lecture et écriture », ce qui les rend faciles à comprendre pour les débutants.

WinSCP (client SFTP pour les utilisateurs Windows)

Lors de la connexion depuis Windows vers un serveur Linux distant, WinSCP permet la gestion des permissions via une interface graphique.

Étapes :

  1. Connectez‑vous au serveur en utilisant WinSCP
  2. Faites un clic droit sur un fichier et sélectionnez « Propriétés »
  3. Modifiez les valeurs de permission (par ex., 644) ou utilisez les cases à cocher
  4. Cliquez sur « OK » pour appliquer les modifications

Avantages :

  • Les permissions peuvent être affichées à la fois en formats numériques et symboliques
  • Les changements de permissions récursifs sont pris en charge via l’interface graphique

Remarques :

  • Les fichiers nécessitant des privilèges root peuvent ne pas être modifiables sans permissions sudo
WinSCP - Free SFTP and FTP client

WinSCP is a popular free file manager for Windows supporting…

FileZilla (client SFTP multiplateforme)

Le client SFTP multiplateforme FileZilla, disponible pour macOS et Linux, permet également de modifier les permissions.

Étapes :

  1. Connectez‑vous au serveur
  2. Faites un clic droit sur le fichier cible
  3. Sélectionnez « Permissions de fichier »
  4. Ajustez les permissions à l’aide des cases à cocher ou des valeurs numériques et cliquez sur « OK »

Avantages et limites des opérations basées sur l’interface graphique

Avantages :

  • Moins sujet aux erreurs pour les débutants
  • Les modifications peuvent être confirmées visuellement immédiatement
  • Pas besoin de mémoriser la syntaxe des commandes

Limites :

  • Certains environnements serveur n’autorisent pas les changements de permissions via des outils GUI
  • Les valeurs affichées ne reflètent pas toujours les permissions réellement appliquées, il est donc recommandé de vérifier avec ls -l

FileZilla - The free FTP solution for both client and server…

7. Notes importantes et dépannage pour chmod

Ça ne fonctionne toujours pas — pourquoi ?

Même après avoir modifié les permissions avec chmod, les fichiers peuvent ne pas se comporter comme prévu. Dans la plupart des cas, cela est dû à des permissions mal configurées ou à des malentendus.
Voici des problèmes courants rencontrés en pratique et leurs solutions.

Erreurs « Permission denied »

Symptôme :

bash: ./script.sh: Permission denied

Cause :

  • Le fichier n’a pas la permission d’exécution (x)

Solution :

chmod +x script.sh

Ou en utilisant le mode numérique :

chmod 755 script.sh

Notez que le fait d’avoir la permission de lecture ou d’écriture n’implique pas la permission d’exécution.

Les répertoires sans permission d’exécution ne peuvent pas être accédés

Appliquer chmod 644 à un répertoire peut empêcher l’accès à son contenu.

Raison :

  • La permission d’exécution (x) sur les répertoires est requise pour y entrer et lister leur contenu.

Exemple :

chmod 644 my_folder
ls my_folder

Cela peut entraîner une erreur.

Correction :

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.

Erreur courante :

chmod -R 644 /var/www/html

Cela supprime les permissions d’exécution des répertoires, les rendant inaccessibles.

Approche correcte :

# Apply execute permissions to directories
find /var/www/html -type d -exec chmod 755 {} \;

# Apply file permissions
find /var/www/html -type f -exec chmod 644 {} \;

Incohérence entre Propriétaire et Groupe

Les permissions seules ne suffisent pas ; la propriété des fichiers et les paramètres de groupe comptent également.
Par exemple, si un utilisateur de serveur web tel que apache doit lire un fichier, mais que le propriétaire est un utilisateur régulier et que les autres n’ont pas de permission de lecture, le fichier ne sera pas servi correctement.

Solutions :

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

Pourquoi chmod 777 Est Dangereux

Certains utilisateurs tentent de résoudre les problèmes en définissant les permissions à 777, mais cela est extrêmement dangereux.

Raisons :

  • Tout le monde peut lire, écrire et exécuter le fichier
  • Risque élevé de falsification ou d’exécution de scripts malveillants

Meilleures pratiques recommandées :

  • Fichiers : 644 ou 600
  • Répertoires : 755 ou 700
  • Scripts/Binaires : 755 (au besoin)

8. Cas d’Utilisation Pratiques et Scénarios Courants

Comment Les Permissions chmod Sont-Elles Utilisées Dans Des Environnements Réels ?

La commande chmod et les permissions telles que -rw-r--r-- sont fréquemment utilisées dans les opérations réelles de serveurs et les environnements de développement.
Voici plusieurs scénarios représentatifs illustrant comment les permissions sont appliquées en pratique.

1. Gestion des Fichiers HTML sur un Serveur Web

Scénario :
Lors de la publication de fichiers HTML sur un serveur web tel qu’Apache ou Nginx, la permission typique est -rw-r--r-- (644).

chmod 644 index.html

Pourquoi 644 ?

  • Le propriétaire (administrateur du site) a besoin d’un accès en écriture
  • L’utilisateur du serveur web (par ex., www-data) n’a besoin que d’un accès en lecture
  • L’accès en écriture pour les autres est inutile et dangereux

Cette configuration permet une publication sécurisée du contenu web en utilisant le principe du moindre privilège.

2. Accorder la Permission d’Exécution aux Fichiers de Script

Scénario :
Vous avez créé un script shell backup.sh, mais l’exécution échoue avec une erreur « Permission denied ».

chmod 755 backup.sh

Signification de ce paramétrage :

  • Propriétaire : lecture, écriture, exécution (rwx)
  • Groupe et autres : lecture et exécution (rx)

Cela permet aux autres d’exécuter le script tout en restreignant la modification au propriétaire.

3. Restreindre l’Accès aux Fichiers Sensibles

Scénario :
Vous gérez un fichier secrets.txt contenant des clés API ou des mots de passe et voulez empêcher quiconque d’autre d’y accéder.

chmod 600 secrets.txt

Signification :

  • Propriétaire : lecture et écriture seulement
  • Groupe et autres : aucun accès

Ceci est une meilleure pratique de sécurité critique. Les fichiers sensibles doivent toujours être gérés avec 600 ou 400 (lecture seule).

4. Partager Sécuritairement un Répertoire

Scénario :
Vous créez un répertoire partagé shared_folder accessible par plusieurs développeurs.

chmod 770 shared_folder

Signification :

  • Propriétaire et groupe : permissions complètes (rwx)
  • Autres : aucun accès

En assignant l’équipe de développement comme groupe, vous permettez une collaboration sécurisée et efficace. L’appartenance au groupe peut être ajustée en utilisant chgrp.

5. Éviter les Problèmes Causés par une Mauvaise Configuration

Scénario :
Vous exécutez accidentellement chmod -R 777 ., rendant tous les fichiers modifiables par n’importe qui.

Précautions recommandées :

  • Utilisez toujours find pour différencier les fichiers et les répertoires
  • Vérifiez les permissions au préalable avec ls -l
  • Testez les changements dans un environnement de staging d’abord

9. Questions Fréquemment Posées (FAQ)

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

R. Ils représentent la même permission ; seule la notation diffère.

  • chmod 644 : spécification de permission numérique
  • -rw-r--r-- : représentation symbolique affichée par ls -l

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

R. L’exécution de scripts ou de binaires échouera.

bash: ./script.sh: Permission denied

Correction :

chmod +x script.sh

Q3. Est-il sûr de définir 644 sur les répertoires ?

A. En général, non.

Les répertoires nécessitent l’autorisation d’exécution (x) pour être accessibles.

Paramètre correct :

chmod 755 directory_name

Q4. Existe-t-il des risques lors de l’utilisation de chmod -R ?

R. Oui. Les mêmes autorisations sont appliquées aux fichiers et aux répertoires.

chmod -R 644 my_project/

Cela supprime les autorisations d’exécution des répertoires.

Approche plus sûre :

find my_project/ -type d -exec chmod 755 {} \;
find my_project/ -type f -exec chmod 644 {} \;

Q5. Je reçois constamment « Permission denied ». Que devrais-je vérifier ?

R. Vérifiez les points suivants :

  • Le fichier possède l’autorisation d’exécution s’il est exécuté
  • Vous êtes le propriétaire ou vous avez l’autorisation d’écriture
  • Le répertoire possède l’autorisation d’exécution
  • Vous disposez des privilèges sudo si nécessaire

Q6. Je veux partager un fichier mais empêcher la modification. Que faire ?

R. Utilisez les autorisations 644 ou 444.

chmod 644 share.txt
  • 644 : les autres ne peuvent que lire
  • 444 : tout le monde a un accès en lecture seule

Q7. J’ai accidentellement modifié les autorisations. Comment les restaurer ?

R. Comparez avec un fichier correctement configuré.

ls -l /path/to/correct_file

Réappliquez les autorisations avec chmod. Idéalement, documentez les autorisations par défaut pour votre projet.

10. Résumé

Pourquoi comprendre chmod et les autorisations est important

Cet article a expliqué la commande chmod et la signification des autorisations symboliques telles que -rw-r--r--, largement utilisées sous Linux et les systèmes de type Unix.

Ces concepts sont essentiels pour garantir la sécurité du système, la stabilité opérationnelle et le partage précis des fichiers.

Points clés à retenir

  • chmod modifie les autorisations d’accès aux fichiers et aux répertoires
  • -rw-r--r-- signifie que le propriétaire peut lire et écrire, les autres ne peuvent que lire
  • Les représentations numériques ( 644 ) et symboliques ( -rw-r--r-- ) sont équivalentes
  • Les autorisations peuvent être définies en mode numérique ou symbolique
  • ls -l est utilisé pour vérifier les autorisations
  • Les outils graphiques tels que Nautilus, WinSCP et FileZilla peuvent également gérer les autorisations
  • Des autorisations incorrectes provoquent souvent des erreurs « Permission denied »
  • Il y a toujours une raison derrière les modèles d’autorisations couramment utilisés

La « meilleure » autorisation dépend du contexte

Il n’existe pas de paramètre d’autorisation universel qui convienne à tous les cas.
Les autorisations doivent toujours être choisies en fonction du but, des utilisateurs et du niveau de sécurité requis.

Conseils finaux

Bien que les autorisations puissent sembler complexes au départ, maîtriser chmod vous permet de prévenir les problèmes de manière proactive et de faire fonctionner les systèmes en toute sécurité.

Demandez-vous toujours :
Qui doit accéder à ce fichier, et dans quel but ?
Garder cette perspective vous aidera à créer des environnements Linux sûrs et fiables.

年収訴求