Comment utiliser la commande chgrp sous Linux

La commande chgrp sous Linux modifie la propriété de groupe d’un fichier ou d’un répertoire. Pourquoi l’utiliser au lieu de chown? Parfois, un couteau suisse est génial, mais lorsque vous avez vraiment besoin d’un scalpel, seul un scalpel fera l’affaire.

Quand utiliser chgrp

Vous utilisez la commande chgrp pour modifier la propriété de groupe d’un fichier ou d’un répertoire. La commande chown vous permet de changer le propriétaire de l’utilisateur et le propriétaire du groupe d’un fichier ou d’un répertoire. Alors, pourquoi auriez-vous besoin ou utiliser chgrp?

Eh bien, pour une chose, c’est facile. Utiliser chown pour modifier uniquement le paramètre du propriétaire du groupe est un peu contre-intuitif. Vous devez être très prudent avec la syntaxe. Cela dépend de la mise en place correcte d’un deux-points «:». Égarez cela, et vous n’effectuez pas le changement que vous pensiez être.

La syntaxe de chgrp est tout à fait plus simple. Il possède également une fonctionnalité intéressante qui vous indique en termes simples les modifications qu’il vient d’apporter.

C’est un outil spécialement conçu et dédié à la tâche à accomplir. chgrp embrasse complètement le principe de conception Unix de faire une chose et de bien la faire. Voyons ce qu’il a à offrir.

Modification de la propriété de groupe d’un fichier

Changer la propriété de groupe d’un fichier est très simple. Vous devez utiliser sudo avec chgrp. Les groupes n’appartenant pas aux utilisateurs, le déplacement d’un fichier ou d’un répertoire d’un groupe à un autre n’est donc pas une décision qui appartient à l’utilisateur moyen. C’est un travail pour quelqu’un avec des privilèges root.

  Comment utiliser l'interface Web PocketCasts sous Linux

Nous allons modifier la propriété du groupe d’un fichier source C appelé «gc.c». Nous allons le changer pour le groupe «devteam».

Nous pouvons vérifier les valeurs de propriété actuelles en utilisant ls avec l’option -l (liste longue).

ls -l

Il s’agit de la commande pour changer la propriété du groupe. Tapez sudo, un espace, chgrp, un espace, le nom du groupe que nous allons définir comme propriétaire du groupe, un espace et le nom du fichier.

sudo chgrp devteam gc.c

Nous vérifierons que la modification a été effectuée en utilisant à nouveau ls -l.

ls -l

sudo chgrp devteam gc.c dans une fenêtre de terminal

Nous pouvons voir que la propriété du groupe est passée de « dave » à « devteam ».

Pour modifier la propriété du groupe pour un ensemble de fichiers en une seule fois, vous pouvez utiliser des caractères génériques. Modifions la propriété du groupe pour tous les fichiers source C dans le répertoire actuel. Nous utiliserons cette commande:

sudo chgrp devteam *.c

Nous pouvons vérifier que le changement a été effectué comme prévu en utilisant ls -l.

ls -l

sudo chgrp devteam * .c dans une fenêtre de terminal

Tous les fichiers source C de ce répertoire ont été modifiés afin que leur propriété de groupe soit «devteam».

En utilisant l’option -c (changes), chgrp listera les modifications qu’il a apportées à chaque fichier. Supposons que nous ayons fait une erreur, nous voulions que les fichiers source C aient la propriété de groupe définie sur « researchlab ». Corrigeons cela maintenant. Nous utiliserons cette commande:

sudo chgrp -c researchlab *.c

sudo chgrp -c researchlab * .c dans une fenêtre de terminal

Les changements sont faits pour nous, et chacun est répertorié au fur et à mesure, ce qui nous permet de vérifier que ce que nous avons changé est correct.

  Afficher légalement les informations publiques pour une connexion de 3e degré sur LinkedIn

Modification de la propriété de groupe d’un annuaire

La modification de la propriété de groupe d’un annuaire est tout aussi simple. Nous pouvons utiliser cette commande pour modifier la propriété du groupe pour le répertoire «sauvegarde».

sudo chgrp -c devteam ./backup

Pour être clair, cette commande changera la propriété du groupe du répertoire lui-même, pas les fichiers à l’intérieur du répertoire. Nous utiliserons ls -l avec l’option -d (répertoire) pour vérifier que c’est bien le cas.

ls -l -d

sudo chgrp -c devteam ./backup dans une fenêtre de terminal

La propriété du groupe de l’annuaire lui-même a été modifiée en «devteam».

L’option récursive

Si nous voulons changer la propriété du groupe pour les fichiers et répertoires stockés dans un répertoire, nous pouvons utiliser l’option -R (récursive). Cela entraînera chgrp de changer la propriété du groupe pour tous les fichiers et sous-répertoires sous le répertoire cible.

Essayons ceci avec le répertoire «backup». Voici la commande:

sudo chgrp -R devteam ./backup

Nous examinerons les fichiers dans l’un des sous-répertoires imbriqués avec la commande ls, et nous vérifierons également les paramètres de l’un des sous-répertoires imbriqués à l’aide de ls.

ls -l ./backup/images
ls -l -d ./backup/images

sudo chgrp -R devteam ./backup dans une fenêtre de terminal

Nous pouvons voir que la propriété du groupe a été modifiée à la fois pour les fichiers dans les sous-répertoires imbriqués et pour les sous-répertoires imbriqués.

Utilisation d’un fichier de référence

Jusqu’à présent, nous avons explicitement indiqué à chgrp le nom du groupe que nous souhaitons utiliser. Nous pouvons également utiliser chgrp de manière à indiquer « définir la propriété de groupe de ce fichier sur la même propriété de groupe que ce fichier. »

Définissons la propriété de groupe de «gc.h» comme étant la même que «gc.c».

  Comment installer un skin de lecteur VLC sur Windows 10

Nous pouvons vérifier les paramètres actuels de «gc.c» et «gc.h» en utilisant ls.

ls -l gc.c
ls -l gc.h

L’option que nous devons utiliser est l’option –reference. La propriété du groupe est copiée du fichier de référence vers l’autre fichier. Veillez à ce que les fichiers soient dans le bon sens.

sudo chgrp --reference=gc.c gc.h

Nous utiliserons ls pour vérifier que les paramètres ont été transférés vers «gc.h».

ls -l gc.h

sudo chgrp --reference = gc.c gc.h dans une fenêtre de terminal

Le fichier «gc.h» a désormais la même propriété de groupe que «gc.c».

Utilisation de chgrp avec des liens symboliques

Nous pouvons utiliser chgrp pour changer la propriété du groupe des liens symboliques, ou du fichier pointé par le lien symbolique.

Pour cet exemple, nous avons créé un lien symbolique appelé « button_link ». Cela pointe vers un fichier appelé « ./backup/images/button_about.png. » Pour modifier la propriété de groupe du fichier, nous devons utiliser l’option –dereference. Cela modifiera les paramètres du fichier et laissera le lien symbolique inchangé.

Vérifions les paramètres du lien symbolique à l’aide de ls -l.

ls -l button_link

La commande pour changer le fichier est:

sudo chgrp --dereference devteam button_link

Nous vérifierons que le lien symbolique est inchangé à l’aide de ls, et nous vérifierons également les paramètres de propriété du groupe pour le fichier.

ls -l button_link
ls -l ./backup/images/button_about.png

sudo chgrp --dereference devteam button_link dans une fenêtre de terminal

Le lien symbolique est inchangé et le fichier «button_about.png» a vu sa propriété de groupe modifiée.

Pour modifier la propriété du groupe du lien symbolique lui-même, nous devons utiliser l’option –no-dereference.

La commande à utiliser est:

sudo chgrp --no-dereference devteam button_link

Nous utiliserons ls -l pour vérifier que la nouvelle propriété du groupe a été définie pour le lien symbolique.

ls -l button-link

sudo chgrp --no-dereference devteam button_link dans une fenêtre de terminal

Cette fois, l’élément concerné était le lien symbolique lui-même, pas le fichier vers lequel il pointe.

Agréable et simple

Simple c’est bien. Cela signifie qu’il y a moins à retenir et moins à confondre. Cela devrait signifier moins d’erreurs.