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.