Objectifs
- Comprendre la différence entre un utilisateur et un groupe.
- Savoir qui vous êtes et à quels groupes vous appartenez avec
whoamietid. - Lister les utilisateurs actuellement connectés au système.
- Comprendre le rôle des fichiers
/etc/passwdet/etc/group.
Utilisateurs
Sous Linux, tout est lié à un propriétaire. Chaque fichier, chaque processus qui s’exécute appartient à un utilisateur. Un compte utilisateur définit une identité sur le système.
Chaque utilisateur possède :
- Un nom d’utilisateur (login name).
- Un User ID (UID), un numéro unique qui identifie l’utilisateur pour le système.
- Un groupe principal.
- Un dossier personnel (généralement dans
/home/nom_utilisateur). - Un shell de connexion (généralement
/bin/bash).
L’utilisateur root
L’utilisateur root est spécial. C’est l’super-administrateur du système. Il a l’UID 0 et a le droit de tout faire : lire n’importe quel fichier, arrêter n’importe quel processus, etc. Son pouvoir est immense, ce qui le rend dangereux à utiliser pour des tâches quotidiennes.
Groupes
Un groupe est une collection d’utilisateurs. Le but principal des groupes est de simplifier la gestion des permissions. Au lieu de donner des droits d’accès à un fichier à 10 utilisateurs individuellement, on peut les mettre tous dans un groupe dev et donner les droits d’accès à ce groupe.
Un utilisateur peut appartenir à plusieurs groupes simultanément.
Commandes d’identité
whoami: Affiche simplement votre nom d’utilisateur actuel.whoami # aliceid: Fournit des informations détaillées sur votre identité.
Cela nous apprend que l’UID d’Alice est 1001, son groupe principal est aussiid # uid=1001(alice) gid=1001(alice) groups=1001(alice),27(sudo),100(users)alice(une pratique courante), et qu’elle fait également partie des groupessudo(elle a le droit d’utilisersudo) etusers.
Voir qui est connecté
who: Affiche une liste simple des utilisateurs actuellement connectés, sur quel terminal, et depuis quand.w: Fait la même chose quewho, mais donne plus d’informations, notamment ce que chaque utilisateur est en train de faire (JCPU,PCPU,WHAT).
Les fichiers de la vérité
Les informations sur les utilisateurs et les groupes sont stockées dans des fichiers texte simples.
-
/etc/passwd: La base de données des utilisateurs. Chaque ligne représente un utilisateur et contient 7 champs séparés par des deux-points (:), dont le nom d’utilisateur, l’UID, le GID principal, le chemin du dossier personnel et le shell.Note : Malgré son nom, ce fichier ne contient plus les mots de passe. Ils sont stockés de manière chiffrée dans
/etc/shadow, un fichier lisible uniquement parroot. -
/etc/group: La base de données des groupes, qui liste les groupes et les utilisateurs qui en sont membres.
Vous pouvez inspecter ces fichiers avec less ou cat pour voir tous les utilisateurs (y compris les utilisateurs système) de votre machine.
Bonnes pratiques
- Le principe du moindre privilège : N’utilisez pas
rootpour vos tâches de tous les jours. Connectez-vous avec votre utilisateur normal et utilisez la commandesudolorsque vous avez besoin d’élever temporairement vos privilèges pour une tâche administrative. - Utilisez des groupes pour gérer les permissions d’un projet partagé. C’est plus propre et plus facile à maintenir.
Exercices
-
Votre identité :
- Ouvrez un terminal et exécutez
id. - Repérez votre UID, votre GID principal et la liste des groupes auxquels vous appartenez.
- Ouvrez un terminal et exécutez
-
Qui est là ?
- Exécutez la commande
wsur votre machine. Y a-t-il d’autres utilisateurs connectés ?
- Exécutez la commande
-
Explorer
/etc/passwd:- Utilisez
less /etc/passwdpour parcourir la liste des utilisateurs. Vous verrez de nombreux utilisateurs “système” utilisés par des services, en plus de votre propre compte. - Utilisez la commande suivante pour trouver uniquement la ligne qui vous concerne :
grep "$(whoami)" /etc/passwd.
- Utilisez
-
Explorer
/etc/group:- Affichez le contenu de
/etc/group. - Cherchez le groupe
sudo(ouwheelsur certains systèmes). Votre nom d’utilisateur devrait apparaître sur cette ligne si vous avez le droit d’utilisersudo.
- Affichez le contenu de