À Nous la ScienceCulture & éducation scientifique Nous écrire

Univers & matière

Espace & astronomiePhysique & quantiqueTerre & géosciencesMathématiques

Le vivant

Biologie & génétiqueSanté & médecineCerveau & psychologie

Planète & tech

Climat & environnementÉnergieIA & numériqueTechnologies & innovation

Sciences & société

Histoire des sciencesSciences & sociétéÀ proposContact Nous écrire
IA & numérique

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

21 juin 202615 min de lecture

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.

Checklist avant chmod ou chown

Vérifiez ces points avant de modifier un fichier ou un dossier.

Éléments de la liste :

  • Observer l’état actuel — Utilisez ls -l pour lire propriétaire, groupe et permissions.
  • Identifier l’utilisateur et le groupe — Vérifiez les noms avec id avant de les utiliser.
  • Vérifier le chemin ciblé — Relisez le fichier ou dossier visé, surtout avec sudo.
  • Choisir le changement minimal — Modifiez seulement le propriétaire, le groupe ou le droit nécessaire.
  • Éviter chmod 777 — Préférez des permissions aussi restrictives que possible.
  • Tester avant une opération récursive — Commencez sur une copie ou un dossier limité.
  • Contrôler le résultat — Relancez ls -l après chaque modification.

Ces vérifications ne remplacent pas une validation sur un système de production. Une commande sudo ou récursive mal ciblée peut modifier des fichiers sensibles.


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 : chown et chmod ré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.

Schéma des permissions Linux avec propriétaire, groupe, autres et valeurs chmod 644 et 755
Le mode octal additionne lecture 4, écriture 2 et exécution 1 pour le propriétaire, le groupe et les autres utilisateurs.

É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é.

  1. Ajoutez l’exécution au propriétaire : chmod u+x script.sh.
  2. Retirez l’écriture aux autres utilisateurs : chmod o-w fichier.conf.
  3. Ajoutez l’écriture au groupe : chmod g+w projet.txt.
  4. 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.

Schéma chmod Linux séparant les permissions des dossiers en 755 et des fichiers en 644.
Pour un répertoire de site, find applique 755 aux dossiers et 644 aux fichiers afin d’éviter de rendre tous les fichiers exécutables.

É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 777 pour débloquer un accès : tous les utilisateurs obtiennent lecture, écriture et exécution. Préférez un droit ciblé, comme g+w, après identification du groupe réellement concerné.
  • Lancer sudo chmod -R sur un chemin incertain : une faute de chemin peut affecter un arbre de fichiers beaucoup plus large que prévu. Exécutez d’abord pwd et ls -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_utilisateur avant de changer les permissions.
  • Employer sudo par réflexe : sudo augmente 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 par ls -l.
  • id : contrôle de l’utilisateur courant et de ses groupes.

À retenir

  • 🔍 Vérifiez toujours propriétaire, groupe et droits avec ls -l avant toute modification.
  • 👤 Utilisez chown pour le propriétaire et chgrp pour le groupe seul.
  • 🔐 Utilisez chmod pour régler précisément lecture, écriture et exécution.
  • ⚠️ Évitez 777 et les commandes récursives sur un chemin non vérifié.
  • ✅ Contrôlez le résultat après chaque commande avec ls -l ou ls -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.

Version PDF à téléchargerEmportez l'essentiel de cet article au format PDF.

Télécharger le PDF

Laisser un commentaire