Sous Linux, chaque fichier est associé à un propriétaire et à un groupe et dispose d'autorisations qui déterminent quels utilisateurs peuvent lire, écrire ou exécuter le fichier.
Cet article explique comment utiliser le chgrp
commande pour changer la propriété du groupe de fichiers donnés.
chgrp
Syntaxe de commande #
Le chgrp
commande prend la forme suivante :
chgrp [OPTIONS] GROUP FILE..
GROUP
, le nom du nouveau groupe ou l'ID de groupe (GID). Le GID numérique doit être précédé du+
symbole.FILE..
, nom d'un ou plusieurs fichiers.
Contrairement au chown
commande qui vous permet de modifier la propriété de l'utilisateur et du groupe, chgrp
modifie uniquement la propriété du groupe.
Pour savoir à quel groupe appartient le fichier, utilisez le ls -l
commande.
Les utilisateurs réguliers peuvent modifier le groupe du fichier uniquement s'ils sont propriétaires du fichier et uniquement vers un groupe dont ils sont membres. Les utilisateurs administratifs peuvent modifier la propriété du groupe de tous les fichiers.
Comment modifier le numéro de propriété du groupe de fichiers
Pour changer la propriété du groupe d'un fichier ou d'un répertoire, appelez le chgrp
commande suivie du nouveau nom du groupe et du fichier cible comme arguments.
Par exemple, pour changer le groupe du fichier filename
vers www-data
vous exécuteriez :
chgrp www-data filename
Si vous exécutez la commande avec un utilisateur non privilégié, vous obtiendrez une erreur "Opération non autorisée". Pour supprimer le message d'erreur, invoquez la commande avec le -f
option. Par défaut, en cas de succès, chgrp
ne produit aucune sortie et renvoie zéro.
Vous pouvez également passer plusieurs fichiers en tant qu'arguments au chgrp
commande :
chgrp www-data file1 file2 dir1
Utilisez le -v
option pour obtenir des informations sur les fichiers en cours de traitement :
chgrp www-data file1 file2
changed group of 'file1' from nginx to www-data
group of 'file2' retained as www-data
Pour imprimer des informations uniquement sur les fichiers dont le groupe change réellement, utilisez -c
au lieu de -v
.
L'ID de groupe numérique (GID) peut être utilisé à la place du nom d'utilisateur. L'exemple suivant change la propriété du groupe du fichier en un nouveau groupe avec GID de 1000 :
chgrp +1000 filename
Comment modifier le numéro de propriété du groupe Symlinks
Lorsqu'il ne fonctionne pas de manière récursive, le comportement par défaut de chgrp
commande est de changer la propriété du groupe des cibles du lien symbolique, pas les liens symboliques eux-mêmes.
Par exemple, si vous essayez de changer le groupe du lien symbolique symlink1
qui pointe vers /opt/file1
, chgrp
changera le propriétaire du fichier ou du répertoire vers lequel pointe le lien symbolique :
chgrp www-data symlink1
Il est probable qu'au lieu de modifier le groupe cible, vous obteniez une erreur "impossible de déréférencer 'symlink1' :autorisation refusée".
L'erreur se produit car, par défaut, sur la plupart des distributions Linux, les liens symboliques sont protégés et vous ne pouvez pas opérer sur les fichiers cibles. Cette option est spécifiée dans /proc/sys/fs/protected_symlinks
. 1
signifie activé et 0
désactivé. Nous vous recommandons de ne pas désactiver la protection des liens symboliques.
Pour changer la propriété du groupe du lien symbolique lui-même, utilisez le -h
choix :
chgrp -h www-data symlink1
Comment modifier de manière récursive le numéro de propriété du groupe
Pour modifier de manière récursive la propriété du groupe de tous les fichiers et répertoires sous un répertoire donné, utilisez le -R
option.
Par exemple, la commande suivante changera la propriété de tous les fichiers et répertoires sous le /var/www
répertoire vers le www-data
groupe :
chgrp -R www-data /var/www
Lorsque l'option récursive est spécifiée chgrp
ne traversera pas les liens symboliques et n'apportera aucune modification aux liens symboliques. Pour changer la propriété du groupe des liens symboliques, passez le -h
choix :
chgrp -hR www-data /var/www
Les autres options pouvant être utilisées lors de la modification récursive de la propriété du groupe sont -H
et -L
.
Si l'argument est passé à chgrp
commande est un lien symbolique, le -H
l'option fera que la commande la traversera. -L
indique chgrp
pour parcourir chaque lien symbolique vers un répertoire rencontré. Dans la plupart des cas, vous ne devez pas utiliser ces options car vous pourriez perturber votre système ou créer un risque pour la sécurité.
Conclusion #
chgrp
modifie la propriété du groupe des fichiers, répertoires et liens symboliques.
Bien que vous puissiez utiliser le plus populaire chown
commande pour changer de groupe, chgrp
a une syntaxe simple et facile à retenir.
Pour plus d'informations sur le chgrp
commande, visitez la page de manuel chgrp ou tapez man chgrp
dans votre terminal.
Si vous avez des questions ou des commentaires, n'hésitez pas à laisser un commentaire.