Modifier le propriétaire et/ou le groupe propriétaire d’un fichier ou répertoire avec chgrp et chown sous Linux

À quoi servent chgrp et chown ?

  • chown (change owner) : Modifie le propriétaire et/ou le groupe propriétaire d’un fichier ou répertoire.
  • chgrp (change group) : Modifie uniquement le groupe propriétaire d’un fichier ou répertoire.

Syntaxe de base

Commande chown

chown [options] [nouveau_propriétaire]:[nouveau_groupe] fichier(s)

Exemple :

chown utilisateur1:groupe1 fichier.txt

Change le propriétaire en utilisateur1 et le groupe en groupe1 pour fichier.txt.

Commande chgrp

chgrp [options] [nouveau_groupe] fichier(s)

Exemple :

chgrp groupe2 fichier.txt

Change uniquement le groupe en groupe2 pour fichier.txt.


Options courantes

Comparaison chown et chgrp

OptionDescription
-vAffiche un message pour chaque fichier modifié (mode verbeux).
-RApplique les changements récursivement (aux sous-répertoires et fichiers).
--reference=fichierUtilise les permissions d’un fichier de référence.


Exemple avec -R :

chown -R utilisateur1:groupe1 /dossier/

chgrp -R developpeurs /projet/

  • -R : Applique le changement récursivement à tous les fichiers et répertoires dans /projet/.
  • developpeurs : Le nouveau groupe propriétaire.
  • /projet/ : Le répertoire racine où le changement s’applique.

Copier le propriétaire et le groupe d’un fichier vers un autre.

Exemples d’utilisations de –reference avec chown :

chown --reference=modele.txt nouveau_fichier.txt
  • nouveau_fichier.txt aura désormais le même propriétaire et appartiendra au même groupe que modele.txt.
chown --reference=modele.txt *.txt
  • Tous les fichiers .txt dans le répertoire courant auront le même propriétaire et groupe que modele.txt.

Exemples d’utilisations de –reference avec chgrp :

chgrp --reference=modele.txt document.conf
  • document.conf appartiendra désormais au même groupe que modele.txt.
chgrp --reference=modele.txt -R config/
  • Le répertoire config/ et tous ses fichiers/sous-répertoires auront le même groupe que modele.txt.

Cas d’usage pratiques

Changer le propriétaire d’un fichier :

chown alice document.txt

alice devient la propriétaire de document.txt.

Dans ce cas on peut ne pas utiliser les :.

Changer le groupe d’un répertoire :

chgrp developpeurs /projet/

Le groupe developpeurs devient propriétaire de /projet/.

Utiliser un fichier de référence :

chown --reference=fichier_ref.txt nouveau_fichier.txt

nouveau_fichier.txt aura le même propriétaire et groupe que fichier_ref.txt.


Bonnes pratiques et avertissements

  • Seul root peut changer le propriétaire d’un fichier (sauf si vous êtes le propriétaire actuel).
  • Vérifiez les permissions avec ls -l avant/après les modifications.
  • Évitez d’utiliser -R sur / ou /home sans précaution (risque de briser le système).

Exemples avancés

Changer le propriétaire sans modifier le groupe :

chown alice: fichier.txt

Seul le propriétaire est modifié, le groupe reste inchangé.

Combiner chown et chgrp :

chown :groupe2 fichier.txt  # Équivalent à `chgrp groupe2 fichier.txt`

Seul le groupe est modifié.

Regardez bien l’emplacement des : .


Vérification des changements

Utilisez ls -l pour afficher les permissions et la propriété :

ls -l fichier.txt

Affiche :

-rw-r–r– 1 alice groupe1 4096 déc 6 12:00 fichier.txt


Résolution des erreurs courantes

  • « Operation not permitted » : Vous n’avez pas les droits. Utilisez sudo ou le compte administrateur root (su) :
sudo chown utilisateur1:groupe1 fichier.txt
  • « Invalid user/group » : Vérifiez que l’utilisateur/le groupe existe (id utilisateur1, getent group groupe1).

Tableau récapitulatif

CommandeAction principaleExemple
chownChange le propriétaire et/ou le groupe d’un fichierchown bob:dev fichier.txt
chgrpChange uniquement le groupe d’un fichierchgrp dev fichier.txt

Voir également

Ls – Lister les fichiers et dossiers dans un répertoire sous Linux

Chmod – Les bases des permissions

La gestion des droits sous Linux (sticky bit – sgid – suid)

La création et la suppression des utilisateurs et des groupes avec les commandes Shell Linux

Modifier les propriétés d’un compte utilisateur avec usermod sous Linux

Retour en haut