Présentation
Le chgrp
La commande modifie le propriétaire d'un répertoire ou d'un fichier sous Linux. Chaque fichier est associé à un utilisateur propriétaire ou à un groupe et possède des règles définissant quels utilisateurs ou groupes peuvent lire, écrire ou exécuter le fichier.
Dans ce didacticiel, vous apprendrez à utiliser le chgrp
commande pour modifier la propriété du groupe d'un fichier.
Prérequis
- Un système exécutant Linux
- Un compte utilisateur avec des privilèges sudo
- Accès à un terminal (Ctrl+Alt+T )
Qu'est-ce que la commande chgrp ?
Le chgrp
(changer de groupe) modifie le nom du groupe auquel appartient un fichier ou un répertoire. Chaque fichier sous Linux est créé par un utilisateur, tandis que chaque utilisateur appartient à des groupes. En modifiant la propriété du groupe d'un fichier, les autorisations d'accès et de modification d'un fichier changent également.
Depuis le chgrp
la commande nécessite des autorisations de superutilisateur, n'oubliez pas d'exécuter la commande avec le sudo
préfixe pour une exécution correcte.
Explication de la syntaxe de la commande chgrp
Le chgrp
la syntaxe de la commande est :
chgrp [OPTION] [GROUP_NAME] [DIRECTORY/FILE_NAME]
[OPTION]
- Options additionelles. Vous pouvez utiliser la commande sans eux.[GROUP_NAME]
- Le groupe auquel vous souhaitez attribuer le fichier.[DIRECTORY/FILE_NAME]
- Le répertoire/fichier cible.
Le [OPTIONS]
sont :
OPTION | DESCRIPTION |
---|---|
-f , --silent , --silent | Exécute la commande sans afficher de message d'erreur. |
-v , --verbose | Affiche les détails de l'action pour chaque fichier traité. |
-c , --changes | Similaire à --verbose , mais signale uniquement lors d'une modification. |
--dereference | Affecte le référent de chaque lien symbolique, plutôt que le lien symbolique lui-même. |
-h , --no-dereference | Affecte les liens symboliques au lieu des fichiers référencés. Utilisez cette option uniquement sur les systèmes qui peuvent modifier la propriété d'un lien symbolique. |
--no-preserve-root | Ne traite pas '/' spécialement (paramètre par défaut). |
--preserve-root | Échec du fonctionnement récursif sur '/'. |
--reference=RFILE | Remplace le nom de groupe d'un fichier par le nom de groupe du fichier référencé. |
-R , --recursive | Fonctionne sur les fichiers et les répertoires de manière récursive. |
-H | Si un argument de ligne de commande est un lien symbolique vers un répertoire, le parcourt. Utilisé en combinaison avec le -R option. |
-L | Dans un parcours récursif, parcourt chaque lien symbolique vers un répertoire rencontré. Utilisé en combinaison avec le -R option. |
-P | Ne traverse aucun lien symbolique. C'est la valeur par défaut si -H , -L , ou -P ne sont pas spécifiés. Utilisé en combinaison avec le -R option. |
--help | Affiche le fichier d'aide et quitte. |
--version | Affiche les informations de version et quitte. |
Le [GROUP_NAME]
L'attribut est le nouveau groupe que le fichier ou le répertoire acquiert lors de l'exécution. Vous pouvez également spécifier l'ID de groupe (GID ) au lieu du nom du groupe en l'ajoutant avec le + signe.
Le [DIRECTORY/FILE_NAME]
est le répertoire cible ou le nom de fichier dont vous souhaitez modifier l'affiliation au groupe.
Vous pouvez vérifier à quel groupe appartient un fichier ou un répertoire en exécutant la commande suivante :
ls -l
La sortie répertorie la propriété du groupe comme dans l'image ci-dessous :
Dans cette sortie, le ls
La commande affiche les détails de chaque fichier et sous-répertoire contenus dans le répertoire phoenixNAP. Le propriétaire et le groupe de chaque fichier et répertoire ici est bosko .
Commande chgrp :5 exemples
Jetez un œil à cinq exemples d'utilisation de chgrp
commande. Vous trouverez ci-dessous des commandes et des exemples de sorties permettant de modifier la propriété du groupe de répertoires, de modifier la propriété du groupe pour qu'elle corresponde à un fichier de référence, d'afficher les détails d'exécution et de masquer les erreurs de commande.
Modifier le groupe de répertoires
Si vous souhaitez modifier la propriété d'un groupe de répertoires, placez le nom du répertoire à la place du [FILE_NAME]
attribut dans la commande :
chgrp [GROUP_NAME] [DIRECTORY_NAME]
Jetez un œil au nom de groupe du répertoire exemple avant et après l'utilisation de chgrp
commande. Le groupe du répertoire a été modifié par défaut bosko à phoenixnap en utilisant la commande :
sudo chgrp phoenixnap example
Modifier récursivement la propriété du groupe
Le -R
L'option vous permet de modifier de manière récursive la propriété du groupe d'un répertoire, de l'un de ses sous-répertoires et de tout le contenu qu'il contient. La syntaxe est :
sudo chgrp -R [GROUP_NAME] [DIRECTORY_NAME]
Par exemple, la commande suivante modifie l'affiliation au groupe de l'exemple répertoire et tous ses fichiers :
sudo chgrp -R phoenixnap example
Dans l'image ci-dessus, vous voyez que les fichiers dans un sous-répertoire de example ont également phoenixnap propriété du groupe.
Modifier le groupe pour qu'il corresponde au fichier de référence
Si vous souhaitez modifier le groupe d'un fichier pour correspondre au groupe d'un autre fichier de référence , utilisez la syntaxe suivante :
chgrp [OPTION] --reference=[RFILE_NAME] [FILE_NAME]
Le [RFILE_NAME]
syntax est le nom du fichier de référence, tandis que [FILE_NAME]
est le nom du fichier cible.
Par exemple, pour changer la propriété du groupe du fichier atom_273.snap être le même que celui du test fichier, vous exécuteriez :
sudo chgrp --reference=test atom_273.snap
Afficher les détails d'exécution de chgrp
Le -c
l'option permet aux utilisateurs de voir une liste des modifications chgrp
a apporté à chaque fichier spécifié. La liste est utile si vous voulez vous assurer que les modifications sont correctes. Pour voir les modifications appliquées, utilisez la commande :
sudo chgrp -c -R [GROUP_NAME] [DIRECTORY/FILE_NAME]
Pour répertorier les changements qui se sont produits dans notre exemple répertoire, nous lancerions :
sudo chgrp -c -R bosko example
Dans ce cas, nous avons changé le groupe de l'exemple répertoire et tous les fichiers qu'il contient, et chgrp
répertorie toutes les modifications au fur et à mesure qu'elles se produisent.
Masquer les erreurs de commande chgrp
Le -f
L'option permet aux utilisateurs de supprimer les messages d'erreur potentiels lors de l'exécution de chgrp
commande. La syntaxe pour masquer les erreurs de commande est :
sudo chgrp -f [GROUP_NAME] [DIRECTORY/FILE_NAME]
Par exemple, ici nous avons utilisé le chgrp
commande sur un fichier inexistant :
sudo chgrp phoenixnap nonexistentfile
La sortie affiche qu'il ne peut pas accéder au fichier car il n'y a pas un tel fichier ou répertoire.
Cependant, exécuter la même commande avec le -f
l'option supprime cette erreur :