Linux, en tant que système d'exploitation multi-utilisateurs, offre un système robuste de gestion des utilisateurs et des groupes qui constitue un élément fondamental de sa structure de sécurité.
Dans l'environnement Linux, chaque utilisateur possède une identité unique représentée par un nom d'utilisateur et un identifiant numérique (UID). Cette identité détermine ses privilèges, ses ressources accessibles et son espace personnel sur le système.
La gestion des utilisateurs s'articule autour de plusieurs concepts clés :
Le but de la gestion des utilisateurs est :
Pour répondre à ces impératifs, un nom d’utilisateur (login) est affecté à chaque personne qui doit travailler sur un ordinateur.
Le compte root (ou superutilisateur) représente l'autorité ultime dans un système Linux. Voici une vue d'ensemble de ses caractéristiques essentielles :
su
permet de basculer temporairement vers le compte root.Dans l'écosystème Linux, le compte root incarne la philosophie Unix du contrôle total mais tempéré par la responsabilité. Sa puissance illustre parfaitement le principe fondamental "avec de grands pouvoirs viennent de grandes responsabilités", encourageant une utilisation réfléchie et prudente des privilèges d'administration.
UTILISATEUR
GROUPE
Le fichier /etc/passwd
est l'un des fichiers de configuration les plus fondamentaux dans les systèmes Linux et Unix. Il contient les informations essentielles sur tous les comptes utilisateurs du système.
Ce fichier texte, lisible par tous les utilisateurs, stocke chaque compte sur une ligne distincte avec sept champs séparés par des deux-points (:) :
/etc/shadow
)Exemple d'entrée :
pablo:x:1001:1001:Pablo TheKing:/home/pablo:/bin/bash
Bien que critique pour le fonctionnement du système, le fichier /etc/passwd
ne contient plus directement les mots de passe des utilisateurs dans les distributions modernes pour des raisons de sécurité. Cette fonction a été déléguée au fichier /etc/shadow
, accessible uniquement par root.
La manipulation directe de ce fichier est généralement déconseillée - il est préférable d'utiliser les commandes dédiées comme useradd
, usermod
et passwd
pour gérer les comptes utilisateurs.
Le fichier /etc/group
est un composant essentiel du système de gestion des utilisateurs sous Linux. Il stocke les informations sur tous les groupes définis dans le système, permettant l'organisation collective des permissions et des privilèges.
Ce fichier texte lisible contient une ligne par groupe, avec quatre champs séparés par des deux-points (:) :
/etc/gshadow
)Exemple d'entrée :
developers:x:1003:pablo,theking,alice
Le format de chaque ligne est le suivant:
Le fichier /etc/group
fonctionne en tandem avec /etc/passwd
pour définir la structure complète des permissions du système. Chaque utilisateur a un groupe principal (défini dans /etc/passwd
) et peut appartenir à plusieurs groupes supplémentaires (définis dans /etc/group
).
Pour des raisons de sécurité et de cohérence, il est recommandé de modifier ce fichier via les commandes dédiées comme groupadd
, groupmod
et usermod
plutôt que par édition directe.
Le fichier /etc/shadow
est un élément crucial de la sécurité des systèmes Linux modernes. Il a été introduit pour renforcer la protection des mots de passe qui étaient autrefois stockés dans le fichier /etc/passwd
accessible à tous.
Contrairement à /etc/passwd
, le fichier /etc/shadow
est uniquement accessible par l'utilisateur root et les processus privilégiés, offrant ainsi une couche de sécurité supplémentaire. Il stocke les informations sensibles relatives aux mots de passe des utilisateurs sous forme chiffrée.
Chaque entrée du fichier contient neuf champs séparés par des deux-points (:) :
/etc/passwd
Exemple d'entrée (tronquée) :
La manipulation directe de ce fichier est fortement déconseillée - les commandes comme passwd
, chage
et usermod
doivent être utilisées pour modifier les informations relatives aux mots de passe de manière sécurisée.
1- Créez deux nouveaux utilisateurs : "Pablo" et "TheKing".
sudo adduser Pablo
sudo adduser TheKing
sudo useradd TheGod
2- Créez un groupe nommé "GroupeABC".
sudo groupadd GroupeABC
3- Ajoutez "Pablo" et "TheKing" au groupe "GroupeABC".
sudo usermod -a -G GroupeABC Pablo
sudo usermod -a -G GroupeABC TheKing
4- Créez un dossier nommé "myfolder" dans le répertoire personnel de "Pablo" et définnissez Pablo comme propriétaire du répertoire (hint: commande chown)
sudo mkdir /home/Pablo/myfolder
sudo chown Pablo:Pablo /home/Pablo/myfolder
5- Modifiez les permissions du dossier "myfolder" de sorte que le groupe "GroupeABC" ait le droit d'écriture sur le dossier.
sudo chgrp GroupeABC /home/Pablo/myfolder
sudo chmod g+w /home/Pablo/myfolder
6- Connectez-vous en tant que "TheKing" et vérifiez que vous pouvez accéder au dossier "myfolder".
su - TheKing
cd /home/Pablo/myfolder
Note: Vous devriez pouvoir y accéder car TheKing fait partie du groupe GroupeABC qui a des droits d'écriture.
7- Connectez-vous à nouveau en tant que "Pablo".
su - Pablo
8- Créez un fichier dans le dossier "myfolder".
touch ~/myfolder/myfile.txt
echo "Contenu test" > ~/myfolder/myfile.txt
9-Modifiez les propriétés du fichier de sorte que "TheKing" puisse le lire mais pas l'écrire.
chgrp GroupeABC ~/myfolder/myfile.txt
chmod 640 ~/myfolder/myfile.txt
Note: 640 signifie que le propriétaire peut lire/écrire (6), le groupe peut lire (4), et les autres n'ont aucun droit (0).
10- Connectez-vous à nouveau en tant que "TheKing" et essayez de lire le fichier avec nano.
su - TheKing
nano /home/Pablo/myfolder/myfile.txt