Introduction
Dans tout système d'exploitation multi-utilisateur comme Linux, les permissions de fichiers constituent une fonctionnalité de sécurité essentielle. Elles contrôlent qui peut lire, écrire ou exécuter des fichiers, garantissant que les utilisateurs n'accèdent qu'aux données pour lesquelles ils sont autorisés. Comprendre comment gérer ces permissions est une compétence fondamentale pour tout utilisateur, développeur ou administrateur système Linux.
Dans ce laboratoire, vous acquerrez une expérience pratique avec les commandes essentielles pour la gestion des permissions de fichiers. Vous apprendrez à :
- Créer un nouveau fichier en utilisant la commande
touch. - Modifier les permissions de fichiers en utilisant la commande
chmodavec la notation numérique (octale). - Changer le propriétaire et le groupe d'un fichier en utilisant la commande
chown. - Vérifier les changements en utilisant la commande
ls -l. - Définir les permissions standard pour un répertoire.
À la fin de ce laboratoire, vous serez à l'aise avec les principes de base des permissions de fichiers et de répertoires sous Linux.
Créer un Fichier de Test avec la Commande touch /tmp/testfile
Dans cette étape, vous commencerez par créer un fichier vide que nous utiliserons pour le reste du laboratoire. La commande standard pour créer un fichier vide sous Linux est touch. Cette commande crée le fichier s'il n'existe pas, ou met à jour son horodatage de modification s'il existe déjà.
Nous allons créer notre fichier de test dans le répertoire /tmp, qui est un emplacement standard pour les fichiers temporaires.
Exécutez la commande suivante dans votre terminal pour créer un fichier nommé testfile :
touch /tmp/testfile
La commande ne produira aucune sortie si elle réussit. Vous pouvez éventuellement vérifier que le fichier a été créé en le listant avec ls /tmp/testfile.
Définir les Permissions avec la Commande chmod 644 /tmp/testfile
Dans cette étape, vous apprendrez à modifier les permissions du fichier que vous venez de créer. La commande chmod (change mode) est utilisée à cette fin. Les permissions peuvent être définies en utilisant la notation symbolique ou numérique (octale). Ici, nous utiliserons la méthode numérique, qui est très courante.
En notation numérique, les permissions sont représentées par un nombre à trois chiffres, correspondant respectivement au propriétaire (owner), au groupe (group) et aux autres utilisateurs (other users). Chaque permission a une valeur :
4pour la lecture (r)2pour l'écriture (w)1pour l'exécution (x)
Nous allons définir les permissions à 644, ce qui est un réglage très courant pour les fichiers. Cela se traduit par :
- Propriétaire :
6(4+2) -> lecture et écriture (rw-) - Groupe :
4-> lecture seule (r--) - Autres :
4-> lecture seule (r--)
Exécutez maintenant la commande suivante pour appliquer ces permissions à votre fichier de test :
chmod 644 /tmp/testfile
Cette commande ne produira aucune sortie. Dans une étape ultérieure, nous vérifierons que les permissions ont été correctement appliquées.
Changer le Propriétaire avec la Commande chown root:root /tmp/testfile
Dans cette étape, vous allez changer la propriété du fichier. La commande chown (change owner) est utilisée pour modifier l'utilisateur et/ou le groupe propriétaire d'un fichier. La syntaxe est chown utilisateur:groupe nom_du_fichier.
Changer le propriétaire d'un fichier pour un autre utilisateur (comme root) est une opération privilégiée qui nécessite des droits administratifs. Vous devrez utiliser la commande sudo pour exécuter chown avec les permissions nécessaires. Dans cet environnement LabEx, l'utilisateur labex peut utiliser sudo sans mot de passe.
Changeons le propriétaire et le groupe de /tmp/testfile à root. Exécutez la commande suivante :
sudo chown root:root /tmp/testfile
Encore une fois, une commande réussie ne produira aucune sortie. Cette action garantit que le fichier est maintenant la propriété de l'utilisateur administratif du système.
Vérification avec la Commande ls -l /tmp/testfile
Dans cette étape, vous allez vérifier tous les changements que vous avez effectués jusqu'à présent. La commande ls -l fournit un format de "liste longue" (long listing) qui affiche des informations détaillées sur les fichiers, y compris les permissions, le propriétaire, le groupe, la taille et la date de modification.
Exécutez la commande suivante pour inspecter /tmp/testfile :
ls -l /tmp/testfile
Vous devriez voir une sortie similaire à celle-ci (la date et l'heure varieront) :
-rw-r--r-- 1 root root 0 Oct 22 15:13 /tmp/testfile
Décortiquons cette sortie :
-rw-r--r--: Ce sont les permissions du fichier. Le premier caractère-indique qu'il s'agit d'un fichier régulier.rw-montre que le propriétaire (root) a les permissions de lecture et d'écriture. Ler--suivant montre que le groupe (root) a la permission de lecture seule. Le dernierr--montre que tous les autres utilisateurs ont également la permission de lecture seule. Cela correspond au644que vous avez défini.root root: Ceci indique le propriétaire et le groupe du fichier, que vous avez changés àroot.
Vous avez maintenant réussi à créer un fichier, à définir ses permissions et à modifier sa propriété.
Sécuriser le Répertoire avec la Commande chmod 755 /tmp/testdir
Dans cette dernière étape, vous allez définir les permissions sur un répertoire. Les permissions de répertoire sont similaires aux permissions de fichier, mais le bit d'exécution (x) a une signification particulière : il accorde la capacité d'entrer dans le répertoire et d'accéder aux fichiers qu'il contient.
Un réglage de permission courant et sécurisé pour les répertoires est 755. Décortiquons-le :
- Propriétaire :
7(4+2+1) -> lecture, écriture et exécution (rwx). Le propriétaire peut lister, créer/supprimer des fichiers et entrer dans le répertoire. - Groupe :
5(4+1) -> lecture et exécution (r-x). Les membres du groupe peuvent lister les fichiers et entrer dans le répertoire, mais ne peuvent pas créer ou supprimer de fichiers. - Autres :
5(4+1) -> lecture et exécution (r-x). Les autres utilisateurs peuvent également lister les fichiers et entrer dans le répertoire.
Un répertoire nommé /tmp/testdir a été créé pour vous au début de ce Lab. Appliquez maintenant les permissions 755 à ce répertoire en utilisant la commande chmod.
chmod 755 /tmp/testdir
Vous pouvez vérifier le changement avec ls -ld /tmp/testdir. L'option -d est importante pour lister les détails du répertoire lui-même, et non son contenu.
Résumé
Félicitations pour avoir terminé ce Lab ! Vous avez réussi à pratiquer les compétences fondamentales pour gérer les permissions des fichiers et des répertoires dans un environnement Linux.
Dans ce Lab, vous avez appris à :
- Créer un fichier vide avec
touch. - Utiliser
chmodavec des codes numériques (octaux) comme644pour les fichiers et755pour les répertoires afin de contrôler l'accès. - Utiliser
sudo chownpour changer le propriétaire et le groupe d'un fichier. - Utiliser
ls -lpour inspecter et vérifier les permissions et la propriété des fichiers.
Ces commandes sont des outils essentiels pour sécuriser vos fichiers et maintenir un système bien organisé. Les maîtriser est une étape clé pour devenir compétent sous Linux.



