Changer le propriétaire et les permissions d’un fichier avec chmod et chown : guide Linux simple et sécurisé

Changer le propriétaire et les permissions d’un fichier avec chmod et chown : guide Linux simple et sécurisé
Pour changer le propriétaire et les permissions d’un fichier sous Linux, utilisez chown pour l’utilisateur et le groupe, puis chmod pour les droits d’accès. La syntaxe courante est sudo chown utilisateur:groupe fichier et chmod 644 fichier ou chmod u+x fichier, selon le résultat attendu.
Les commandes chmod et chown règlent deux variables différentes : qui possède un fichier, puis qui peut le lire, le modifier ou l’exécuter. Le bon réflexe consiste à observer l’état actuel avec ls -l, à modifier un seul élément à la fois et à vérifier le résultat avant toute commande récursive.
Sommaire
En bref
🔍 ls -l affiche le propriétaire, le groupe et les droits sous la forme rwx pour trois catégories d’utilisateurs.
👤 chown change le propriétaire, tandis que chgrp modifie seulement le groupe.
🔐 chmod modifie les permissions en mode symbolique, comme u+x, ou en mode octal, comme 644 et 755.
⚠️ chmod 777 donne tous les droits à tous les utilisateurs et ne doit pas servir de correctif automatique à une erreur d’autorisation.
Comprendre propriétaire, groupe et permissions sous Linux
Les droits de fichier Linux reposent sur un mécanisme simple : chaque fichier ou dossier possède un utilisateur propriétaire, un groupe propriétaire et une catégorie appelée « autres ». Une permission Linux est une règle qui détermine si chacune de ces catégories peut lire, écrire ou exécuter un élément du système de fichiers.
Les trois catégories d’utilisateurs
Le propriétaire, souvent noté u pour user, contrôle généralement le fichier qu’il a créé. Le groupe, noté g, rassemble plusieurs comptes auxquels des droits communs peuvent être accordés. Les autres utilisateurs, notés o, représentent tous les comptes qui ne sont ni le propriétaire ni membres du groupe concerné.
- Utilisateur propriétaire : compte associé au fichier ou au dossier.
- Groupe propriétaire : groupe Linux auquel les droits peuvent être attribués collectivement.
- Autres utilisateurs : tous les comptes restant sur la machine.
Les trois permissions principales
Les permissions standard sont r pour la lecture, w pour l’écriture et x pour l’exécution. Sur un fichier, le droit d’exécution autorise notamment le lancement d’un script ; sur un dossier, le droit x permet de le traverser et d’accéder à son contenu si les autres droits le permettent.
Un changement de propriétaire ne corrige pas automatiquement les permissions :
chownetchmodrépondent à deux problèmes distincts.
Lire l’état actuel avec ls -l
La commande ls -l fichier affiche les droits, le propriétaire et le groupe avant toute modification. Une sortie comme -rw-r--r-- 1 olivia partageur 2400 manuel.odt indique un fichier ordinaire, accessible en lecture et écriture par olivia, puis en lecture seule pour le groupe partageur et les autres utilisateurs.
ls -l manuel.odt
-rw-r--r-- 1 olivia partageur 2400 manuel.odt
| Élément affiché | Exemple | Signification pratique |
|---|---|---|
| Type | - ou d |
Fichier ordinaire ou dossier. |
| Droits du propriétaire | rw- |
Lire et modifier, sans exécuter. |
| Droits du groupe | r-- |
Lire, sans modifier. |
| Droits des autres | r-- |
Lecture seule pour les autres comptes. |
| Propriétaire et groupe | olivia partageur |
Compte et groupe associés au fichier. |
Comment vérifier puis changer un propriétaire de fichier avec chown ?
Pour changer le propriétaire d’un fichier Linux, commencez par vérifier son état avec ls -l, puis appliquez chown au chemin exact du fichier. La forme sudo chown olivia:partageur manuel.odt attribue le fichier à l’utilisateur olivia et au groupe partageur.
Étape 1 : vérifier le chemin et le propriétaire actuel
Placez-vous dans le bon dossier avec pwd, puis affichez le fichier avec ls -l. Cette vérification évite de modifier un fichier portant le même nom dans un autre répertoire, ce qui arrive facilement avec des commandes exécutées depuis le mauvais emplacement.
pwd
ls -l manuel.odt
Étape 2 : changer seulement le propriétaire
La commande sudo chown olivia manuel.odt remplace le propriétaire du fichier par olivia sans modifier explicitement le groupe. L’usage de sudo est souvent requis lorsque le fichier appartient à un autre utilisateur ou à un compte système.
sudo chown olivia manuel.odt
ls -l manuel.odt
Étape 3 : changer le propriétaire et le groupe
La syntaxe sudo chown utilisateur:groupe fichier modifie les deux informations en une commande. La commande suivante attribue le fichier manuel.odt à olivia et au groupe partageur, à condition que ces identifiants existent sur le système.
sudo chown olivia:partageur manuel.odt
Étape 4 : changer uniquement le groupe avec chgrp
La commande chgrp constitue une alternative plus lisible lorsque seul le groupe doit évoluer. La commande sudo chgrp devs projet.txt conserve le propriétaire actuel de projet.txt et remplace seulement son groupe par devs.
sudo chgrp devs projet.txt
Comment modifier les permissions d’un fichier avec chmod ?
Pour modifier les permissions d’un fichier avec chmod, choisissez le mode symbolique pour ajouter ou retirer un droit précis, ou le mode octal pour définir les trois catégories d’un coup. La commande chmod u+x script.sh ajoute l’exécution au propriétaire ; chmod 644 notes.txt définit une configuration complète et courante pour un fichier texte.

Étape 1 : utiliser le mode symbolique pour une correction ciblée
Le mode symbolique associe une catégorie, un opérateur et une permission : u, g ou o ; puis +, - ou = ; enfin r, w ou x. Cette écriture limite les changements non voulus quand un seul droit doit être corrigé.
- Ajoutez l’exécution au propriétaire :
chmod u+x script.sh. - Retirez l’écriture aux autres utilisateurs :
chmod o-w fichier.conf. - Ajoutez l’écriture au groupe :
chmod g+w projet.txt. - Définissez exactement les droits du groupe :
chmod g=rw rapport.txt.
Étape 2 : comprendre le mode octal chmod
Le mode octal encode chaque permission par une valeur : lecture = 4, écriture = 2 et exécution = 1. Chaque chiffre est une somme ; 6 signifie donc lecture et écriture, tandis que 7 correspond à lecture, écriture et exécution.
| Valeur | Droits | Usage courant |
|---|---|---|
644 |
Propriétaire : lecture/écriture ; groupe et autres : lecture | Fichiers de texte, documents et fichiers web non exécutables. |
755 |
Propriétaire : tous droits ; groupe et autres : lecture/exécution | Dossiers accessibles et scripts qui doivent être exécutables. |
700 |
Propriétaire : tous droits ; aucun droit pour groupe et autres | Dossier ou script strictement privé. |
775 |
Propriétaire et groupe : tous droits ; autres : lecture/exécution | Dossier de travail partagé par un groupe identifié. |
Étape 3 : appliquer la permission adaptée au type de fichier
Un fichier ordinaire et un dossier n’ont pas toujours besoin des mêmes droits. Un réglage fréquent pour un arbre de site consiste à réserver 755 aux dossiers et 644 aux fichiers, mais la configuration réellement nécessaire dépend du service exécuté, de son utilisateur et de son groupe.
chmod 644 notes.txt
chmod 755 scripts/deploiement.sh
chmod 700 sauvegarde-privee.sh
La permission la plus sûre n’est pas la plus large : elle accorde seulement les droits nécessaires à la tâche prévue.
Comparer chmod, chown et chgrp : quelle commande choisir ?
chmod, chown et chgrp ne se remplacent pas. La bonne commande dépend de la cause : un mauvais utilisateur propriétaire se traite avec chown, un mauvais groupe avec chgrp ou chown, et un droit de lecture, d’écriture ou d’exécution insuffisant avec chmod.
| Commande | Modifie | Exemple | À utiliser quand |
|---|---|---|---|
chown |
Le propriétaire, avec ou sans groupe | sudo chown olivia:devs projet.txt |
Un fichier appartient au mauvais compte. |
chgrp |
Le groupe seulement | sudo chgrp devs projet.txt |
Un travail collaboratif doit passer par un autre groupe. |
chmod |
Les droits r, w, x |
chmod g+w projet.txt |
Le bon utilisateur ne peut pas lire, écrire ou exécuter. |
Les distributions GNU/Linux utilisent les mêmes commandes de base, mais les interfaces et les outils d’administration autour du terminal peuvent varier. Pour situer ces commandes dans un environnement de bureau, le guide sur l’utilisation de Manjaro Linux apporte un repère utile sur la gestion quotidienne d’une distribution.
Modifier les droits d’un dossier et de son contenu sans tout ouvrir
L’option -R applique une commande à un dossier et à son contenu, y compris les sous-dossiers. Une commande récursive est utile après une copie de fichiers ou pour réattribuer un projet entier, mais elle peut aussi écraser des droits volontairement différents ; vérifiez donc le chemin avec pwd et ls avant validation.

Étape 1 : réattribuer un dossier à son utilisateur
La commande sudo chown -R $USER dossier attribue le dossier et son contenu à l’utilisateur courant. La variable $USER évite de saisir son nom de compte à la main, mais son résultat doit rester adapté à la situation : un dossier utilisé par un service peut nécessiter une propriété différente.
sudo chown -R $USER mon-projet
ls -ld mon-projet
Étape 2 : éviter chmod -R 755 comme réglage universel
La commande sudo chmod -R 755 mon-projet donne l’exécution à tous les fichiers du dossier, alors que des documents, des images ou des fichiers de configuration n’ont généralement pas besoin d’être exécutables. Une récursion uniforme est rapide, mais elle ne distingue pas les fichiers des dossiers.
Une approche plus précise consiste à traiter les dossiers et les fichiers séparément avec find. Les commandes suivantes constituent un exemple pour un répertoire de site dont les dossiers doivent être traversables et les fichiers simplement lisibles par les autres utilisateurs ; adaptez le chemin et vérifiez l’environnement avant emploi.
find /var/www/html/monsite -type d -exec chmod 755 {} \;
find /var/www/html/monsite -type f -exec chmod 644 {} \;
Étape 3 : partager un dossier avec un groupe
Un dossier collaboratif peut être attribué à un groupe, puis rendu modifiable par ses membres avec chmod g+w. Le bit setgid, représenté par le premier chiffre 2 dans 2775, peut faire hériter aux nouveaux éléments du groupe du dossier ; ce réglage mérite un test dans un répertoire non critique avant déploiement.
sudo chgrp devs dossier-partage
sudo chmod g+w dossier-partage
sudo chmod 2775 dossier-partage
Erreurs fréquentes avec chmod et chown : comment les éviter ?
Les erreurs d’autorisation Linux viennent souvent d’un mauvais diagnostic : le propriétaire est modifié alors que le problème porte sur le groupe, ou les droits sont élargis alors qu’un service attend un autre compte. La vérification par ls -l avant et après commande réduit fortement ces changements inutiles.
- Utiliser
chmod 777pour débloquer un accès : tous les utilisateurs obtiennent lecture, écriture et exécution. Préférez un droit ciblé, commeg+w, après identification du groupe réellement concerné. - Lancer
sudo chmod -Rsur un chemin incertain : une faute de chemin peut affecter un arbre de fichiers beaucoup plus large que prévu. Exécutez d’abordpwdetls -ld chemin. - Appliquer 755 à tous les fichiers : les fichiers ordinaires deviennent exécutables sans nécessité. Séparez les dossiers et les fichiers lorsque les droits doivent être homogènes.
- Ignorer le groupe : plusieurs utilisateurs peuvent appartenir à plusieurs groupes. Vérifiez les groupes du compte avec
id nom_utilisateuravant de changer les permissions. - Employer sudo par réflexe :
sudoaugmente les conséquences d’une erreur de frappe. Utilisez-le seulement lorsque la propriété ou les droits actuels l’exigent.
Résoudre une erreur « opération non permise » ou « accès refusé »
Une erreur Operation not permitted avec chmod ou chown indique souvent que le compte courant ne possède pas le fichier ou ne dispose pas des privilèges nécessaires. La réponse prudente consiste à identifier le propriétaire, le groupe et les droits, puis à employer sudo uniquement si l’action est justifiée sur ce chemin précis.
Contrôles à effectuer avant sudo
La commande ls -ld chemin affiche les droits d’un dossier, tandis que ls -l fichier fait le même travail pour un fichier. La commande id affiche l’utilisateur courant et ses groupes, ce qui permet de vérifier si un accès de groupe devrait déjà fonctionner.
ls -ld dossier-partage
ls -l dossier-partage/projet.txt
id
Quand sudo est nécessaire
La commande sudo exécute une instruction avec des privilèges administrateur après authentification, selon la configuration du système. La documentation GNU de la commande chown et celle de la commande chmod détaillent les options disponibles ; les pages de manuel locales restent également accessibles avec man chown et man chmod.
Exemples pratiques pour changer propriétaire et permissions de fichiers
Les exemples suivants montrent des actions limitées et vérifiables. Chaque commande vise un fichier ou un dossier nommé explicitement ; remplacez les noms d’utilisateur, de groupe et les chemins par ceux de votre machine, sans copier une commande récursive sur un dossier système.
Rendre un script exécutable pour son propriétaire
La commande suivante ajoute le droit d’exécution au propriétaire du script sans modifier les droits du groupe ni ceux des autres utilisateurs. Le résultat attendu est la présence du caractère x dans le premier bloc de permissions affiché par ls -l.
chmod u+x sauvegarde.sh
ls -l sauvegarde.sh
Protéger un fichier de configuration privé
La permission 600 donne lecture et écriture au propriétaire, sans droit pour le groupe ni les autres utilisateurs. Cette configuration peut convenir à un fichier contenant des informations sensibles, à condition que l’application qui doit le lire s’exécute sous le même compte ou dispose d’un accès légitime.
chmod 600 configuration-privee.conf
Réattribuer un projet à un utilisateur et à son groupe
La commande suivante associe un dossier de projet et son contenu à un utilisateur et à un groupe définis. La commande peut être utile après une extraction d’archive ou une copie exécutée avec un autre compte, mais le chemin doit être contrôlé avant l’ajout de l’option -R.
sudo chown -R olivia:devs /home/olivia/projet
Sources utiles à consulter
Les pages de manuel installées sur votre système constituent la référence la plus proche de votre environnement : utilisez man chmod, man chown, man chgrp et man ls. Les manuels GNU Coreutils expliquent également les options générales, mais les droits effectifs peuvent rester influencés par le système de fichiers, le montage ou la configuration d’un service.
- GNU Coreutils — chmod : syntaxe, mode symbolique et mode numérique.
- GNU Coreutils — chown : changement de propriétaire et de groupe.
man ls: lecture locale des colonnes affichées parls -l.id: contrôle de l’utilisateur courant et de ses groupes.
À retenir
- 🔍 Vérifiez toujours propriétaire, groupe et droits avec
ls -lavant toute modification. - 👤 Utilisez
chownpour le propriétaire etchgrppour le groupe seul. - 🔐 Utilisez
chmodpour régler précisément lecture, écriture et exécution. - ⚠️ Évitez
777et les commandes récursives sur un chemin non vérifié. - ✅ Contrôlez le résultat après chaque commande avec
ls -louls -ld.
Questions fréquentes sur chmod et chown
Quelle est la différence entre chmod et chown ?
chmod modifie les permissions de lecture, écriture et exécution. chown change le propriétaire d’un fichier et peut aussi changer son groupe.
Comment connaître le propriétaire actuel d’un fichier Linux ?
La commande ls -l nom-du-fichier affiche le propriétaire puis le groupe après les permissions. La commande stat nom-du-fichier fournit aussi ces informations sous une forme plus détaillée.
Que signifie chmod 644 ?
chmod 644 donne lecture et écriture au propriétaire du fichier. Le groupe et les autres utilisateurs conservent un droit de lecture seul.
Pourquoi chown renvoie-t-il « opération non permise » ?
Un utilisateur ne peut généralement pas attribuer un fichier à un autre propriétaire sans privilèges administrateur. Vérifiez d’abord le propriétaire actuel, puis utilisez sudo seulement si vous êtes autorisé à effectuer ce changement.
Comment éviter les erreurs avec chmod -R ou chown -R ?
Vérifiez le répertoire cible avec pwd, ls et ls -ld avant une action récursive. Traitez séparément les fichiers et les dossiers lorsque leurs permissions attendues diffèrent.