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.
Comprendre la propriété des fichiers sous 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.
Changer 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ù :
USERest le nom d'utilisateur du nouveau propriétaireGROUP(optionnel) est le nom du nouveau groupeFILE(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.
Changer 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.
Changements de propriété récursifs
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 :
- Vous avez appris les concepts de propriété des fichiers sous Linux et à afficher les informations de propriété actuelles.
- Vous avez créé un nouvel utilisateur et modifié la propriété des fichiers à l'aide de la commande
chown. - Vous avez appris à créer et gérer des groupes, ainsi qu'à modifier la propriété de groupe des fichiers.
- 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.



