Linux / Commande chown : changer le propriétaire et le groupe d’un fichier
chown change le propriétaire d'un fichier ou d'un répertoire, ainsi que son groupe si vous le précisez. La forme alice conserve le groupe existant ; alice:editors fixe les deux attributs. Vérifiez les comptes et le chemin avant l'opération, particulièrement pour des fichiers utilisés par un service.
Choisir ce qui doit changer
chown [options] propriétaire[:groupe] fichier…
Le propriétaire et le groupe sont des identités associées au fichier. Les droits de lecture, d'écriture et d'exécution se règlent avec chmod et les permissions de fichiers. Une modification du propriétaire peut néanmoins modifier les droits effectivement applicables et certains bits spéciaux selon le système.
| Forme GNU | Attributs demandés |
|---|---|
alice |
Propriétaire alice ; groupe inchangé. |
alice:editors |
Propriétaire alice et groupe editors. |
:editors |
Groupe editors uniquement. |
alice: |
Propriétaire alice et groupe de connexion d'alice : le deux-points final a donc un effet. |
Il n'y a pas d'espace autour du deux-points. N'utilisez pas le point comme séparateur dans un nouveau script : il peut appartenir au nom du compte et cette ancienne notation n'est pas portable.
Vérifier les identités et le fichier ciblé
Les exemples supposent que le compte alice, le groupe editors et le fichier report.txt existent. Remplacez-les par les valeurs adaptées ; ne créez pas un compte simplement pour exécuter une ligne d'exemple.
id alice
ls -l report.txt
stat -c '%U:%G %n' report.txt
stat -c '%u:%g %a %n' report.txt
%U et %G affichent les noms résolus ; %u et %g, leurs identifiants numériques UID et GID. Le champ %a relève le mode. Ces formats sont ceux de GNU stat. Le compte rendu numérique est utile si les noms ne sont pas résolus ou s'ils correspondent à des identifiants différents selon la machine.
Dans un conteneur ou sur un système de fichiers réseau, ne déduisez donc pas une identité numérique du seul nom affiché. Comparez le résultat d'id pour le compte concerné à celui de stat dans le contexte où l'application accède réellement aux données.
Modifier puis contrôler le résultat
La modification du propriétaire nécessite généralement les privilèges administrateur. Pour ne changer que le propriétaire :
sudo chown alice report.txt
stat -c '%U:%G %n' report.txt
Pour affecter simultanément le propriétaire et le groupe :
sudo chown alice:editors report.txt
stat -c '%U:%G %n' report.txt
Si les noms sont résolus, un résultat attendu pour cette seconde opération est :
alice:editors report.txt
Le changement réussit habituellement sans message. Si chown signale une erreur, ne considérez pas l'opération comme terminée ; relisez le diagnostic puis contrôlez le fichier. Un système de fichiers en lecture seule ou des restrictions d'un stockage distant ne se corrigent pas en répétant la même commande avec un chemin plus large.
Avant une intervention importante, conservez les propriétaires, groupes, modes et autres attributs nécessaires à la restauration. Revenir à l'ancien propriétaire et à l'ancien groupe peut se faire avec les valeurs relevées et les droits appropriés, mais cela ne rétablit pas automatiquement des bits spéciaux qui auraient été retirés. Un changement récursif portant sur des propriétaires différents exige un relevé par fichier ou une sauvegarde adaptée.
Comprendre les options et les liens symboliques
| Option | Utilité |
|---|---|
-R |
Change aussi les contenus des répertoires parcourus. Un chemin erroné peut affecter de nombreux fichiers. |
-h |
Demande d'agir sur le lien symbolique lui-même, plutôt que sur sa cible. |
--reference=fichier |
Prend le propriétaire et le groupe du fichier de référence. |
-v |
Affiche une information pour chaque fichier traité. |
Hors récursion, GNU chown suit par défaut un lien symbolique donné comme argument pour agir sur sa cible. Le comportement d'une traversée récursive et celui du déréférencement sont des choix distincts : consultez les options -H, -L et -P de votre version avant une intervention sur une arborescence contenant des liens.
Inspectez d'abord un périmètre précis avec ls ou find et confirmez l'identité attendue par le service. Modifier tous les fichiers d'une racine web pour résoudre un seul refus d'accès peut empêcher d'autres processus de fonctionner. La prise en charge des changements de propriétaire de liens et le retrait éventuel de bits setuid ou setgid dépendent aussi du système.
Le manuel officiel de GNU chown décrit les formes propriétaire:groupe, les options et les règles des liens. Consultez également man chown pour les possibilités réellement installées.




