Modifier l'appartenance d'un répertoire avec chown sous Linux

CompTIABeginner
Pratiquer maintenant

Introduction

Dans cet atelier, vous allez découvrir l'utilisation concrète de la commande chown pour modifier l'appartenance d'un répertoire sous Linux. La maîtrise de la gestion des propriétaires de fichiers et de répertoires est un pilier de l'administration système Linux, indispensable pour gérer les permissions et sécuriser l'accès aux ressources partagées. Cet exercice pratique vous accompagnera dans le processus de changement du groupe propriétaire d'un répertoire, une tâche courante pour organiser des projets collaboratifs.

Vous commencerez par configurer l'environnement nécessaire, ce qui inclut la création d'un nouveau groupe nommé research et l'ajout de votre utilisateur à celui-ci. Après cette configuration, vous créerez un répertoire et examinerez ses informations d'appartenance initiales. Le cœur de cet atelier consistera à utiliser la commande chown pour réattribuer le répertoire au groupe research. Pour conclure, vous utiliserez la commande ls -l afin de confirmer que les modifications ont bien été appliquées avec succès.

Préparer l'environnement et vérifier l'appartenance au groupe

Dans cette étape, vous allez préparer le groupe d'utilisateurs nécessaire pour les exercices suivants. Sous Linux, l'appartenance d'un fichier est définie par un utilisateur et un groupe, ce qui permet une gestion souple des permissions. Nous allons créer un nouveau groupe appelé research et y ajouter notre utilisateur actuel, labex. Cela nous permettra plus tard d'attribuer la propriété de fichiers et de répertoires à ce groupe spécifique.

Tout d'abord, créons le groupe research. Nous utiliserons la commande groupadd. Comme la création d'un groupe modifie les fichiers de configuration du système, nous devons utiliser sudo pour exécuter la commande avec des privilèges administratifs.

Exécutez la commande suivante dans votre terminal :

sudo groupadd research

Cette commande ne produit aucune sortie en cas de succès. Pour vérifier que le groupe a bien été créé, nous pouvons le rechercher dans le fichier /etc/group. Ce fichier contient les informations sur tous les groupes du système. Nous utiliserons la commande grep pour trouver la ligne correspondant à notre nouveau groupe.

grep 'research' /etc/group

Vous devriez voir un résultat similaire à celui-ci, bien que l'identifiant du groupe (le nombre) puisse différer :

research:x:5003:

Maintenant que le groupe existe, l'étape suivante consiste à y ajouter l'utilisateur labex. Nous utiliserons la commande usermod (pour "user modify"). Les options -aG sont cruciales : -a signifie ajouter (append) et -G spécifie le ou les groupes supplémentaires. Sans l'option -a, vous risqueriez de retirer l'utilisateur de tous ses autres groupes.

Lancez cette commande pour ajouter labex au groupe research :

sudo usermod -aG research labex

Là encore, cette commande ne produira aucune sortie si elle réussit. Vérifions le changement en consultant une nouvelle fois le fichier /etc/group.

grep 'research' /etc/group

La sortie devrait maintenant afficher labex à la fin de la ligne, indiquant que l'utilisateur est bien membre du groupe.

research:x:5003:labex

Avec le groupe research créé et l'utilisateur labex qui lui est assigné, notre environnement est maintenant correctement configuré pour les prochaines étapes de gestion de l'appartenance des fichiers et répertoires.

Créer un répertoire et inspecter son appartenance initiale

Dans cette étape, vous allez créer un nouveau répertoire dans votre dossier de projet, puis inspecter ses paramètres d'appartenance par défaut. Chaque fois qu'un nouveau fichier ou répertoire est créé sous Linux, le système lui attribue automatiquement un propriétaire. En règle générale, le propriétaire est l'utilisateur qui l'a créé, et le groupe propriétaire est le groupe principal de cet utilisateur.

Votre répertoire de travail actuel est /home/labex/project. Nous allons y créer un nouveau répertoire nommé RandD. La commande mkdir est utilisée à cet effet (elle signifie "make directory").

Exécutez la commande suivante pour créer le répertoire :

mkdir RandD

Maintenant que le répertoire RandD est créé, examinons ses propriétés, et plus particulièrement son appartenance. Nous pouvons le faire en utilisant la commande ls -l. L'option -l demande à ls d'utiliser un format de "liste longue", qui fournit des informations détaillées sur les fichiers et les répertoires.

Lancez cette commande dans votre terminal :

ls -l

Vous verrez une liste des fichiers et répertoires présents dans votre emplacement actuel. Cherchez la ligne correspondant à RandD. Le résultat devrait ressembler à ceci :

drwxrwxr-x 2 labex labex 6 Jun 26 10:28 RandD

Analysons la partie relative à l'appartenance sur cette ligne. La troisième colonne indique l'utilisateur propriétaire, qui est labex. La quatrième colonne indique le groupe propriétaire, qui est également labex. Cela confirme que, par défaut, le nouveau répertoire appartient à l'utilisateur qui l'a créé (labex) et à son groupe principal (labex).

Dans l'étape suivante, vous apprendrez comment modifier ces paramètres d'appartenance par défaut.

Modifier l'appartenance du répertoire avec la commande chown

Dans cette étape, vous allez utiliser la commande chown pour modifier l'appartenance du répertoire RandD. C'est une tâche courante pour les administrateurs système lors de la gestion de répertoires de projets partagés. Notre objectif est de conserver labex comme utilisateur propriétaire, mais de changer le groupe propriétaire pour le groupe research que nous avons créé à la première étape. Cela permettra à tout membre du groupe research de collaborer dans ce répertoire, selon les permissions définies pour le groupe.

La commande pour changer de propriétaire est chown (pour "change owner"). La syntaxe générale est chown [utilisateur]:[groupe] [fichier/répertoire].

Pour changer l'appartenance du répertoire RandD au profit de l'utilisateur labex et du groupe research, vous allez exécuter la commande suivante. Nous utilisons sudo car la modification de l'appartenance à un groupe, même pour un répertoire qui vous appartient, nécessite souvent des privilèges élevés.

Exécutez cette commande dans votre terminal (toujours situé dans le répertoire ~/project) :

sudo chown labex:research RandD

Si la commande réussit, elle ne produira aucune sortie. Le changement est appliqué silencieusement.

Vous avez maintenant modifié avec succès l'appartenance du répertoire RandD. Dans la dernière étape, vous allez vérifier visuellement ce changement.

Vérifier la nouvelle appartenance du répertoire avec ls -l

Dans cette étape, vous allez confirmer que le changement d'appartenance effectué précédemment a bien été pris en compte. En administration système, il est crucial de toujours vérifier que vos commandes ont produit l'effet escompté. Nous utiliserons la même commande ls -l que précédemment pour inspecter les propriétés du répertoire.

Votre terminal doit toujours se trouver dans le répertoire ~/project. Pour voir les détails d'appartenance mis à jour pour le répertoire RandD, lancez à nouveau la commande ls -l.

ls -l

Examinez la ligne correspondant au répertoire RandD. Elle devrait maintenant refléter le nouveau groupe propriétaire. Le résultat ressemblera à ceci :

drwxrwxr-x 2 labex research 6 Jun 26 10:28 RandD

Comparez cela au résultat obtenu à l'étape 2. La troisième colonne, l'utilisateur propriétaire, est toujours labex. Cependant, la quatrième colonne, le groupe propriétaire, est passée de labex à research. Cela confirme que votre commande chown a fonctionné correctement.

Vous avez réussi à créer un répertoire, à modifier son groupe propriétaire pour faciliter la collaboration et à vérifier ce changement.

Résumé

Dans cet atelier, vous avez appris les étapes essentielles pour gérer l'appartenance des répertoires dans un environnement Linux. Vous avez commencé par préparer les paramètres d'utilisateur et de groupe nécessaires, ce qui a impliqué la création d'un nouveau groupe nommé research avec la commande sudo groupadd. Vous avez ensuite ajouté l'utilisateur actuel, labex, à ce nouveau groupe via sudo usermod -aG, et vérifié ces modifications en consultant le fichier /etc/group.

Après avoir configuré l'environnement, vous avez créé un nouveau répertoire et inspecté son appartenance par défaut à l'aide de la commande ls -l. La compétence clé pratiquée a été l'utilisation de la commande chown pour modifier le groupe propriétaire du répertoire vers le groupe research fraîchement créé. Enfin, vous avez confirmé la réussite de l'opération en exécutant à nouveau ls -l, affichant ainsi le nouveau groupe propriétaire du répertoire.