Modification de la propriété sous 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

Dans les systèmes Linux, la propriété des fichiers est un aspect crucial de la sécurité et du contrôle d'accès. Chaque fichier et répertoire a un propriétaire et une attribution de groupe qui déterminent qui peut lire, écrire ou exécuter le fichier. Comprendre comment gérer la propriété des fichiers est essentiel pour les administrateurs de systèmes et les utilisateurs Linux afin de maintenir une sécurité et une organisation appropriées au sein de leurs systèmes.

Ce lab (atelier) se concentre sur l'apprentissage de la modification et de la gestion de la propriété des fichiers dans Linux en utilisant la commande chown. Vous apprendrez à afficher la propriété actuelle, à changer le propriétaire des fichiers, à modifier les attributions de groupe et à appliquer ces modifications de manière récursive aux répertoires.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/UserandGroupManagementGroup(["User and Group Management"]) linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux(("Linux")) -.-> linux/FileandDirectoryManagementGroup(["File and Directory Management"]) linux/BasicFileOperationsGroup -.-> linux/ls("Content Listing") linux/BasicFileOperationsGroup -.-> linux/touch("File Creating/Updating") linux/BasicFileOperationsGroup -.-> linux/chown("Ownership Changing") linux/FileandDirectoryManagementGroup -.-> linux/cd("Directory Changing") linux/FileandDirectoryManagementGroup -.-> linux/mkdir("Directory Creating") linux/UserandGroupManagementGroup -.-> linux/useradd("User Adding") linux/UserandGroupManagementGroup -.-> linux/usermod("User Modifying") linux/UserandGroupManagementGroup -.-> linux/groupadd("Group Adding") linux/UserandGroupManagementGroup -.-> linux/whoami("User Identifying") subgraph Lab Skills linux/ls -.-> lab-271243{{"Modification de la propriété sous Linux"}} linux/touch -.-> lab-271243{{"Modification de la propriété sous Linux"}} linux/chown -.-> lab-271243{{"Modification de la propriété sous Linux"}} linux/cd -.-> lab-271243{{"Modification de la propriété sous Linux"}} linux/mkdir -.-> lab-271243{{"Modification de la propriété sous Linux"}} linux/useradd -.-> lab-271243{{"Modification de la propriété sous Linux"}} linux/usermod -.-> lab-271243{{"Modification de la propriété sous Linux"}} linux/groupadd -.-> lab-271243{{"Modification de la propriété sous Linux"}} linux/whoami -.-> lab-271243{{"Modification de la propriété sous Linux"}} end

Comprendre la propriété des fichiers dans Linux

Dans Linux, chaque fichier et répertoire a un propriétaire et une attribution de groupe. Ces attributs de propriété sont fondamentaux pour le système de permissions Linux.

Commençons par examiner la structure du répertoire actuel et comprendre la propriété des fichiers :

cd ~/project
ls -l

La sortie devrait afficher une liste de fichiers et de répertoires (le cas échéant) avec leurs informations de propriété. Dans la sortie de la commande ls -l, la troisième colonne indique le propriétaire et la quatrième colonne indique le groupe.

Maintenant, créons un nouveau fichier et examinons sa propriété par défaut :

touch data_file.txt
ls -l data_file.txt

Vous devriez voir une sortie similaire à celle-ci :

-rw-r--r-- 1 labex labex 0 Jan 1 12:00 data_file.txt

Cela montre que le fichier data_file.txt est propriété de l'utilisateur labex et appartient au groupe labex. La première partie (-rw-r--r--) indique les permissions du fichier.

Pour savoir sous quel utilisateur vous êtes actuellement connecté, exécutez :

whoami

Cette commande affiche votre nom d'utilisateur actuel, qui devrait être labex. Cela explique pourquoi les fichiers nouvellement créés sont propriété de l'utilisateur labex.

Modifier la propriété des fichiers avec chown

La commande chown est utilisée pour modifier le propriétaire d'un fichier ou d'un répertoire. Elle nécessite des privilèges root (sudo) pour changer la propriété en faveur d'un autre utilisateur.

Commençons par créer un nouvel utilisateur que nous utiliserons comme nouveau propriétaire de notre fichier :

sudo adduser --disabled-password --gecos "" datauser

Cela crée un nouvel utilisateur nommé datauser sans mot de passe (uniquement à des fins d'atelier). L'option --gecos "" permet de sauter les invites pour les informations utilisateur.

Maintenant, modifions la propriété de data_file.txt de labex à datauser :

sudo chown datauser data_file.txt
ls -l data_file.txt

La sortie devrait maintenant afficher datauser comme propriétaire :

-rw-r--r-- 1 datauser labex 0 Jan 1 12:00 data_file.txt

La syntaxe de base de la commande chown est :

chown [OPTIONS] USER[:GROUP] FILE(s)

Où :

  • USER est le nom d'utilisateur du nouveau propriétaire
  • GROUP (optionnel) est le nom du nouveau groupe
  • FILE(s) sont les fichiers ou les répertoires pour lesquels il faut modifier la propriété

Créons un autre fichier pour pratiquer :

touch config_file.txt
sudo chown datauser config_file.txt
ls -l config_file.txt

Vérifiez que la propriété a été correctement modifiée.

Modifier la propriété de groupe

Dans Linux, les fichiers appartiennent également à un groupe spécifique. L'attribution de groupe détermine ce que les utilisateurs appartenant à ce groupe peuvent faire avec le fichier en fonction des permissions de groupe.

Créons un nouveau groupe, puis assignons nos fichiers à ce groupe :

sudo groupadd datagroup
groups

La commande groups affiche les groupes auxquels l'utilisateur actuel appartient. Maintenant, ajoutons l'utilisateur actuel au nouveau groupe :

sudo usermod -a -G datagroup labex

Cette commande ajoute (-a) l'utilisateur labex au groupe (-G) datagroup. Notez que pour que les modifications de groupe prennent effet, vous devez généralement vous déconnecter puis vous reconnecter. Pour les besoins de cet atelier, nous continuerons sans nous déconnecter.

Maintenant, modifions la propriété de groupe de notre fichier :

sudo chown :datagroup data_file.txt
ls -l data_file.txt

La sortie devrait maintenant afficher :

-rw-r--r-- 1 datauser datagroup 0 Jan 1 12:00 data_file.txt

Remarquez que nous avons utilisé :datagroup pour spécifier uniquement le groupe sans modifier le propriétaire. Vous pouvez également modifier à la fois le propriétaire et le groupe en une seule commande :

sudo chown datauser:datagroup config_file.txt
ls -l config_file.txt

Cela modifie respectivement le propriétaire et le groupe de config_file.txt en datauser et datagroup.

Modifications récursives de la propriété

Souvent, vous avez besoin de modifier la propriété d'un répertoire et de tout son contenu. L'option -R (récursive) de chown vous permet de faire cela.

Créons un répertoire avec quelques fichiers à l'intérieur :

mkdir -p data_directory/subdirectory
touch data_directory/file1.txt
touch data_directory/file2.txt
touch data_directory/subdirectory/file3.txt

Examinons la propriété actuelle du répertoire et de son contenu :

ls -l data_directory
ls -l data_directory/subdirectory

Maintenant, modifions récursivement la propriété du répertoire et de tout ce qu'il contient :

sudo chown -R datauser:datagroup data_directory

Vérifions les résultats :

ls -l data_directory
ls -l data_directory/subdirectory

Tous les fichiers et répertoires à l'intérieur de data_directory devraient maintenant être propriété de datauser et appartenir au groupe datagroup.

L'option récursive est très puissante et doit être utilisée avec prudence, en particulier lors de la modification de la propriété de répertoires système, car elle pourrait affecter le fonctionnement du système si elle est utilisée de manière incorrecte.

Résumé

Dans cet atelier, vous avez appris à gérer la propriété des fichiers sous Linux, ce qui est une compétence essentielle pour l'administration système et la gestion de la sécurité. Voici un récapitulatif de ce que vous avez accompli :

  1. Vous avez appris les concepts de propriété des fichiers sous Linux et à afficher les informations de propriété actuelles.
  2. Vous avez créé un nouvel utilisateur et modifié la propriété des fichiers à l'aide de la commande chown.
  3. Vous avez appris à créer et gérer des groupes, ainsi qu'à modifier la propriété de groupe des fichiers.
  4. Vous avez exploré comment modifier récursivement la propriété des répertoires et de leur contenu.

Ces compétences sont fondamentales pour la gestion des systèmes Linux, en particulier dans les environnements multi-utilisateurs où les permissions et la propriété appropriées des fichiers sont cruciales pour la sécurité et le bon fonctionnement.

N'oubliez pas que la modification de la propriété nécessite des privilèges de superutilisateur (en utilisant sudo), et que les modifications récursives doivent être effectuées avec prudence pour éviter des conséquences non intentionnelles, en particulier dans les environnements de production.