Changement de groupe Linux

LinuxLinuxBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Sous Linux, chaque fichier et répertoire est attribué à un utilisateur et à un groupe. Ce système de propriété est un aspect fondamental de la sécurité et du contrôle d'accès sous Linux. La capacité de changer la propriété de groupe est une compétence essentielle pour les administrateurs système qui doivent gérer efficacement les autorisations de fichiers et les droits d'accès.

Ce labo se concentre sur la commande chgrp, qui vous permet de changer la propriété de groupe des fichiers et des répertoires sous Linux. En maîtrisant cette commande, vous comprendrez mieux la gestion des autorisations de fichiers et apprendrez un aspect important de l'administration système.

Au cours de ce labo, vous allez pratiquer l'utilisation de la commande chgrp dans différents scénarios, à la fois pour des fichiers individuels et de manière récursive pour les répertoires. Vous apprendrez également à vérifier les changements de propriété de groupe et à comprendre pourquoi une bonne gestion des groupes est cruciale pour la sécurité du système.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux(("Linux")) -.-> linux/FileandDirectoryManagementGroup(["File and Directory Management"]) linux(("Linux")) -.-> linux/UserandGroupManagementGroup(["User and Group Management"]) linux/BasicFileOperationsGroup -.-> linux/touch("File Creating/Updating") linux/BasicFileOperationsGroup -.-> linux/chmod("Permission Modifying") linux/FileandDirectoryManagementGroup -.-> linux/cd("Directory Changing") linux/FileandDirectoryManagementGroup -.-> linux/mkdir("Directory Creating") linux/UserandGroupManagementGroup -.-> linux/groups("Group Displaying") linux/UserandGroupManagementGroup -.-> linux/chgrp("Group Changing") subgraph Lab Skills linux/touch -.-> lab-271239{{"Changement de groupe Linux"}} linux/chmod -.-> lab-271239{{"Changement de groupe Linux"}} linux/cd -.-> lab-271239{{"Changement de groupe Linux"}} linux/mkdir -.-> lab-271239{{"Changement de groupe Linux"}} linux/groups -.-> lab-271239{{"Changement de groupe Linux"}} linux/chgrp -.-> lab-271239{{"Changement de groupe Linux"}} end

Comprendre la propriété de groupe des fichiers

Sous Linux, chaque fichier a un propriétaire et un groupe. L'attribution de groupe détermine quels utilisateurs peuvent accéder au fichier en fonction des autorisations de groupe. Explorons comment afficher et changer la propriété de groupe.

Tout d'abord, accédez au répertoire du projet :

cd ~/project

Maintenant, créons un nouveau fichier sur lequel travailler :

touch defense_secrets.txt

Pour afficher la propriété et les autorisations actuelles du fichier, utilisez la commande ls -l :

ls -l defense_secrets.txt

Vous verrez une sortie similaire à celle-ci :

-rw-r--r-- 1 labex labex 0 Jan 12 16:20 defense_secrets.txt

La sortie affiche plusieurs informations :

  • La première colonne montre les autorisations de fichier
  • La troisième colonne montre le propriétaire (labex)
  • La quatrième colonne montre le groupe (labex)

Dans notre système, deux groupes ont été créés pour vous : defenders et strategists. Changeons la propriété de groupe de notre fichier du groupe par défaut labex au groupe defenders en utilisant la commande chgrp :

sudo chgrp defenders defense_secrets.txt

Maintenant, vérifions que le groupe a été changé avec succès :

ls -l defense_secrets.txt

La sortie devrait maintenant indiquer que le fichier appartient au groupe defenders :

-rw-r--r-- 1 labex defenders 0 Jan 12 16:20 defense_secrets.txt

La commande chgrp nécessite des privilèges administratifs lorsque vous changez de groupe pour un groupe dont vous n'êtes pas membre, c'est pourquoi nous avons utilisé sudo dans cet exemple.

Changement de la propriété de groupe de manière récursive

Souvent, les administrateurs système doivent changer la propriété de groupe non seulement d'un seul fichier, mais d'un répertoire entier et de tout son contenu. L'option -R (récursive) de la commande chgrp rend cette tâche simple.

Créons un répertoire avec plusieurs fichiers pour pratiquer :

mkdir -p ~/project/operational_plans
touch ~/project/operational_plans/plan1.txt
touch ~/project/operational_plans/plan2.txt

Tout d'abord, vérifions la propriété de groupe actuelle du répertoire et de ses fichiers :

ls -l ~/project/operational_plans

Vous verrez que les deux fichiers appartiennent au groupe par défaut labex :

-rw-r--r-- 1 labex labex 0 Jan 12 16:30 plan1.txt
-rw-r--r-- 1 labex labex 0 Jan 12 16:30 plan2.txt

Pour changer la propriété de groupe du répertoire et de tous les fichiers qu'il contient au groupe strategists, utilisez la commande chgrp avec l'option -R :

sudo chgrp -R strategists ~/project/operational_plans

L'option -R indique à chgrp d'opérer de manière récursive, appliquant le changement au répertoire et à tout ce qu'il contient.

Maintenant, vérifions que la propriété de groupe a été changée pour le répertoire et son contenu :

ls -l ~/project
ls -l ~/project/operational_plans

La sortie devrait montrer que le répertoire et les deux fichiers appartiennent maintenant au groupe strategists :

drwxr-xr-x 2 labex strategists 4096 Jan 12 16:30 operational_plans
...

-rw-r--r-- 1 labex strategists 0 Jan 12 16:30 plan1.txt
-rw-r--r-- 1 labex strategists 0 Jan 12 16:30 plan2.txt

L'option récursive est particulièrement utile lorsqu'il s'agit de grandes structures de répertoires où changer manuellement chaque fichier serait impraticable.

Comprendre les informations et les autorisations de groupe

Maintenant que vous savez comment changer la propriété de groupe, explorons comment afficher les informations de groupe et comprendre pourquoi les autorisations de groupe sont importantes.

Sous Linux, les informations sur les groupes sont stockées dans le fichier /etc/group. Vous pouvez afficher les groupes existants sur le système avec la commande getent :

getent group

Cela affichera une longue liste de tous les groupes sur le système. Pour voir seulement les groupes avec lesquels nous avons travaillé, vous pouvez filtrer la sortie :

getent group | grep -E 'defenders|strategists'

Vous devriez voir une sortie similaire à :

defenders:x:1001:
strategists:x:1002:

Pour voir à quels groupes votre utilisateur actuel appartient, utilisez la commande groups :

groups

La sortie affiche tous les groupes dont votre utilisateur est membre :

labex adm cdrom sudo dip plugdev lpadmin sambashare

Maintenant, comprenons pourquoi les autorisations de groupe sont importantes. Sous Linux, les autorisations de fichier sont définies pour trois catégories : propriétaire, groupe et autres. Créons un nouveau fichier et modifions ses autorisations pour illustrer cela :

touch ~/project/group_example.txt
ls -l ~/project/group_example.txt

La sortie affichera les autorisations par défaut :

-rw-r--r-- 1 labex labex 0 Jan 12 16:40 group_example.txt

La chaîne d'autorisations -rw-r--r-- peut être décomposée comme suit :

  • Premier caractère : Type de fichier (- signifie fichier ordinaire)
  • Trois caractères suivants (rw-) : Autorisations du propriétaire (lecture, écriture, pas d'exécution)
  • Trois caractères suivants (r--) : Autorisations du groupe (lecture seulement)
  • Trois derniers caractères (r--) : Autorisations des autres (lecture seulement)

Changeons les autorisations du groupe pour permettre l'accès en écriture :

chmod g+w ~/project/group_example.txt
ls -l ~/project/group_example.txt

La sortie montre maintenant :

-rw-rw-r-- 1 labex labex 0 Jan 12 16:40 group_example.txt

Remarquez que les autorisations du groupe sont passées de r-- à rw-.

Enfin, combinons ce que nous avons appris en changeant à la fois la propriété de groupe et les autorisations de groupe :

sudo chgrp defenders ~/project/group_example.txt
chmod g+x ~/project/group_example.txt
ls -l ~/project/group_example.txt

Le résultat devrait être :

-rw-rwxr-- 1 labex defenders 0 Jan 12 16:40 group_example.txt

Maintenant, le fichier appartient au groupe defenders et a des autorisations de lecture, d'écriture et d'exécution pour les membres de ce groupe.

Résumé

Dans ce laboratoire, vous avez appris à gérer la propriété de groupe sous Linux en utilisant la commande chgrp. Vous avez commencé par changer le groupe d'un seul fichier, puis vous êtes passé à la modification récursive des groupes pour les répertoires et leur contenu. Enfin, vous avez exploré comment afficher les informations de groupe et compris l'importance des autorisations de groupe dans la sécurité des fichiers Linux.

Concepts clés abordés dans ce laboratoire :

  1. Utilisation de chgrp pour changer la propriété de groupe des fichiers
  2. Utilisation de l'option -R pour les modifications récursives de la propriété de groupe
  3. Affichage de la propriété et des autorisations des fichiers avec ls -l
  4. Examen des informations de groupe avec getent group et groups
  5. Compréhension de la relation entre la propriété de groupe et les autorisations de fichier
  6. Modification des autorisations de groupe avec chmod

Ces compétences sont essentielles pour l'administration système Linux, en particulier lors de la gestion des ressources partagées et de la mise en œuvre de contrôles d'accès appropriés. La capacité à attribuer et à gérer correctement la propriété de groupe contribue à maintenir la sécurité tout en permettant un accès approprié aux fichiers et aux répertoires.