GNU/Linux >> Tutoriels Linux >  >> Linux

Introduction aux commandes Linux chgrp et newgrp

Dans un article récent, j'ai présenté le chown commande, qui est utilisée pour modifier la propriété des fichiers sur les systèmes. Rappelez-vous que la propriété est la combinaison de l'utilisateur et du groupe attribué à un objet. Le chgrp et newgrp Les commandes fournissent une aide supplémentaire pour la gestion des fichiers qui doivent conserver la propriété du groupe.

Utiliser chgrp

Le chgrp La commande change simplement la propriété du groupe d'un fichier. C'est la même chose que le chown : commande. Vous pouvez utiliser :

$chown :alan mynotes

ou :

$chgrp alan mynotes

Récursif

Quelques arguments supplémentaires à chgrp peuvent être utiles à la fois sur la ligne de commande et dans un script. Comme beaucoup d'autres commandes Linux, chgrp a un argument récursif, -R . Vous en aurez besoin pour opérer sur un répertoire et son contenu de manière récursive, comme je le démontrerai ci-dessous. J'ai ajouté le -v (verbeux ) pour que chgrp me dise ce qu'il fait :

$ ls -l . conf
.:
drwxrwxr-x 2 alan alan 4096 Aug  5 15:33 conf

conf:
-rw-rw-r-- 1 alan alan 0 Aug  5 15:33 conf.xml
# chgrp -vR delta conf
changed group of 'conf/conf.xml' from alan to delta
changed group of 'conf' from alan to delta

Référence

Plus de ressources Linux

  • Aide-mémoire des commandes Linux
  • Aide-mémoire des commandes Linux avancées
  • Cours en ligne gratuit :Présentation technique de RHEL
  • Aide-mémoire sur le réseau Linux
  • Aide-mémoire SELinux
  • Aide-mémoire sur les commandes courantes de Linux
  • Que sont les conteneurs Linux ?
  • Nos derniers articles Linux

Un fichier de référence (--reference=RFILE ) peut être utilisé lors de la modification du groupe sur des fichiers pour correspondre à une certaine configuration ou lorsque vous ne connaissez pas le groupe, comme cela peut être le cas lors de l'exécution d'un script. Vous pouvez dupliquer le groupe d'un autre fichier (RFILE ), appelé fichier de référence. Par exemple, pour annuler les modifications apportées ci-dessus (rappelez-vous qu'un point [. ] fait référence au répertoire de travail actuel) :

$ chgrp -vR --reference=. conf

Signaler les modifications

La plupart des commandes ont des arguments pour contrôler leur sortie. Le plus courant est -v pour activer le mode verbeux, et la commande chgrp a un mode verbeux. Il a également un -c (--modifications ), qui indique à chgrp de signaler uniquement lorsqu'une modification est apportée. Chgrp signalera toujours d'autres choses, comme si une opération n'est pas autorisée.

L'argument -f (--silencieux , --silencieux ) est utilisé pour supprimer la plupart des messages d'erreur. Je vais utiliser cet argument et -c dans la section suivante afin de n'afficher que les modifications réelles.

Conserver la racine

La racine (/ ) du système de fichiers Linux doit être traité avec beaucoup de respect. Si une erreur de commande est commise à ce niveau, les conséquences peuvent être terribles et rendre un système complètement inutile. Particulièrement lorsque vous exécutez une commande récursive qui apportera tout type de modification, ou pire, des suppressions. La commande chgrp a un argument qui peut être utilisé pour protéger et préserver la racine. L'argument est --preserve-root . Si cet argument est utilisé avec une commande chgrp récursive à la racine, rien ne se passera et un message apparaîtra à la place :

[root@localhost /]# chgrp -cfR --preserve-root a+w /
chgrp: it is dangerous to operate recursively on '/'
chgrp: use --no-preserve-root to override this failsafe

L'option n'a aucun effet lorsqu'elle n'est pas utilisée conjointement avec récursif. Cependant, si la commande est exécutée par l'utilisateur root, les autorisations de / changera, mais pas ceux des autres fichiers ou répertoires qu'il contient :

[alan@localhost /]$ chgrp -c --preserve-root alan /
chgrp: changing group of '/': Operation not permitted
[root@localhost /]# chgrp -c --preserve-root alan /
changed group of '/' from root to alan

Étonnamment, semble-t-il, ce n'est pas l'argument par défaut. L'option --no-preserve-root est la valeur par défaut. Si vous exécutez la commande ci-dessus sans l'option "preserve", elle passera par défaut en mode "no preserve" et modifiera éventuellement les autorisations sur les fichiers qui ne doivent pas être modifiés :

[alan@localhost /]$ chgrp -cfR alan /
changed group of '/dev/pts/0' from tty to alan
changed group of '/dev/tty2' from tty to alan
changed group of '/var/spool/mail/alan' from mail to alan

À propos de newgrp

Le nouveau groupe La commande permet à un utilisateur de remplacer le groupe principal actuel. newgrp peut être pratique lorsque vous travaillez dans un répertoire où tous les fichiers doivent appartenir au même groupe. Supposons que vous ayez un répertoire appelé share sur votre serveur intranet où différentes équipes stockent des photos marketing. Le groupe est partagé . Au fur et à mesure que différents utilisateurs placent des fichiers dans le répertoire, les groupes principaux des fichiers peuvent être mélangés. Chaque fois que de nouveaux fichiers sont ajoutés, vous pouvez exécuter chgrp pour corriger toute confusion en définissant le groupe sur partager :

$ cd share
ls -l
-rw-r--r--. 1 alan share 0 Aug  7 15:35 pic13
-rw-r--r--. 1 alan alan 0 Aug  7 15:35 pic1
-rw-r--r--. 1 susan delta 0 Aug  7 15:35 pic2
-rw-r--r--. 1 james gamma 0 Aug  7 15:35 pic3
-rw-rw-r--. 1 bill contract  0 Aug  7 15:36 pic4

J'ai couvert setgid mode dans mon article sur le chmod commande. Ce serait une façon de résoudre ce problème. Mais supposons que le bit setgid n'ait pas été défini pour une raison quelconque. La commande newgrp est utile dans cette situation. Avant que les utilisateurs ne placent des fichiers dans le partage répertoire, ils peuvent exécuter la commande newgrp share . Cela fait passer leur groupe principal à partager ainsi tous les fichiers qu'ils mettront dans le répertoire auront automatiquement le groupe share , plutôt que le groupe principal de l'utilisateur. Une fois qu'ils ont terminé, les utilisateurs peuvent revenir à leur groupe principal habituel avec (par exemple) :

newgrp alan

Conclusion

Il est important de comprendre comment gérer les utilisateurs, les groupes et les autorisations. Il est également bon de connaître quelques méthodes alternatives pour contourner les problèmes que vous pourriez rencontrer, car tous les environnements ne sont pas configurés de la même manière.


Linux
  1. Regardez les commandes et les tâches avec la commande Linux watch

  2. Introduction à la commande Linux chown

  3. Commandes de redémarrage et d'arrêt de Linux

  4. Comprendre les commandes de contrôle des tâches sous Linux - bg, fg et CTRL + Z

  5. Exemples de commandes chgrp sous Linux

Introduction au système de fichiers Linux

Commande Chgrp sous Linux (changer de groupe)

Commande Linux Chgrp avec exemples

Comment lister les membres d'un groupe sous Linux

Les 40 commandes de serveur Linux utiles pour les débutants et les professionnels

Commandes de gestion de groupe sous Linux