Sur un poste de travail comme sur un serveur, savoir quels comptes existent aide à comprendre qui peut accéder au système et à repérer une configuration inhabituelle. Quelques commandes suffisent pour distinguer les comptes locaux, les utilisateurs connectés et les dernières connexions, sans confondre ces informations.
L’article en bref
Les commandes Linux permettent d’examiner les comptes enregistrés, les sessions en cours et l’historique des connexions. Le bon réflexe consiste à croiser ces informations plutôt qu’à se fier à une seule liste.
- Voir les comptes : Consultez le fichier système ou interrogez les sources de comptes configurées.
- Filtrer les résultats : Extrayez les noms et repérez les comptes selon leur UID.
- Contrôler les sessions : Comparez les utilisateurs actifs et les connexions récentes.
- Auditer avec méthode : Distinguez comptes humains, comptes système et services.
Une vérification méthodique aide à mieux maîtriser la gestion des comptes utilisateurs.
Utilisateurs Linux : comprendre le fichier /etc/passwd
Le fichier /etc/passwd répertorie les comptes locaux connus du système. Une ligne correspond à un compte, qu’il s’agisse de root, d’un compte de service ou d’une personne utilisant la machine.
Ses champs sont séparés par des deux-points : nom du compte, marqueur de mot de passe, UID, GID, informations descriptives, répertoire personnel et shell. La valeur x indique généralement que les informations de mot de passe sont conservées dans /etc/shadow, un fichier dont l’accès est protégé.
Pour consulter le fichier dans le terminal, utilisez less afin de parcourir les lignes sans faire défiler toute la sortie d’un coup. La commande cat convient aussi pour un affichage direct.
- Afficher le contenu :
cat /etc/passwd - Parcourir le fichier :
less /etc/passwd - Repérer un compte précis :
grep '^nom:' /etc/passwd
La commande passwd sert principalement à définir ou modifier un mot de passe ; elle ne remplace pas la consultation de ce fichier. Pour mieux comprendre son rôle dans l’administration des identifiants, vous pouvez aussi lire ce guide sur l’installation d’un module PowerShell pour Python, qui illustre une autre tâche d’administration à effectuer avec méthode.
Afficher et filtrer la liste des utilisateurs Linux
Pour obtenir uniquement les noms de comptes locaux, il est possible d’extraire le premier champ de chaque ligne. cut et awk produisent ici un résultat équivalent : choisissez la forme que vous trouvez la plus lisible.
- Avec cut :
cut -d: -f1 /etc/passwd - Avec awk :
awk -F: '{print $1}' /etc/passwd - Avec sed :
sed 's/:.*//' /etc/passwd
Pour vérifier un nom sans obtenir de correspondances partielles, associez l’extraction à grep et utilisez une expression qui encadre le nom. Par exemple, grep -E '^flo$' ne confondra pas le compte « flo » avec un compte dont le nom contient ces lettres.
Le fichier local n’est pas toujours la seule source de comptes : un système peut aussi consulter un annuaire ou un autre service d’authentification. La commande getent interroge les sources configurées par le système, ce qui en fait un choix pratique pour afficher les comptes connus par le mécanisme standard.
getent passwd affiche les entrées disponibles. Pour n’en garder que les noms, reprenez les mêmes outils de filtrage, par exemple getent passwd | cut -d: -f1. À la différence d’une simple lecture de /etc/passwd, cette méthode peut inclure des comptes provenant d’une source réseau.
Différencier les comptes humains et les comptes système
L’UID, ou identifiant numérique de l’utilisateur, aide à classer les comptes. Les comptes créés pour des personnes reçoivent souvent un UID à partir d’une valeur définie par la distribution ; le seuil et la plage disponibles ne sont pas identiques partout.
Pour afficher les comptes dont l’UID est au moins égal à 1000, vous pouvez filtrer les résultats de getent avec awk. Ce seuil est courant sur de nombreuses distributions, mais il faut vérifier la configuration de votre machine avant d’en tirer une conclusion.
getent passwd | awk -F: '$3 >= 1000 {print $1, $3}'
Cette sélection donne un point de départ, pas une preuve qu’un compte appartient à une personne : certains services ou comptes techniques peuvent aussi avoir un UID élevé. Pour examiner un compte particulier, la commande id affiche son UID, son GID et ses groupes ; commande groups indique les groupes auxquels il appartient.
- Identité et groupes numériques :
id nom_utilisateur - Groupes associés :
groups nom_utilisateur - Nombre d’entrées locales :
cut -d: -f1 /etc/passwd | wc -l
Le comptage fondé sur /etc/passwd concerne les entrées locales, comptes système compris. Avec getent passwd | wc -l, le total porte sur les comptes renvoyés par les sources configurées ; ce nombre peut donc varier selon l’environnement.
Vérifier les utilisateurs connectés et l’historique
Une liste de comptes ne révèle pas qui utilise la machine à l’instant présent. Pour observer les sessions ouvertes, commande who affiche notamment le nom, le terminal et l’heure de connexion ; une origine réseau peut apparaître lorsqu’elle est disponible.
users donne une liste plus courte des noms connectés. La commande w ajoute des informations sur l’activité des sessions et l’état général de la machine, utiles pour comprendre si un compte est simplement connecté ou effectivement actif.
| Commande | Information principale | Usage courant |
|---|---|---|
who |
Sessions ouvertes et heure de connexion | Identifier les connexions en cours |
users |
Noms des utilisateurs connectés | Obtenir un aperçu rapide |
w |
Sessions, activité et charge du système | Examiner l’usage actuel de la machine |
last |
Historique des connexions enregistrées | Contrôler les accès récents |
lastlog |
Dernière connexion enregistrée par compte | Repérer des comptes jamais utilisés récemment |
La commande last consulte l’historique conservé par le système ; la commande lastlog présente le dernier accès connu pour les comptes. Les données dépendent des journaux disponibles et de leur durée de conservation : une absence d’entrée ne suffit pas, à elle seule, à conclure qu’un compte est suspect.
Pour un contrôle régulier, imaginez le cas d’un petit serveur associatif : comparer les comptes enregistrés avec les sessions actives et les dernières connexions permet de repérer une activité inattendue avant de modifier quoi que ce soit. C’est ce croisement des indices qui rend un audit utile.
Choisir les commandes selon le contrôle à effectuer
La gestion des comptes utilisateurs gagne en clarté lorsque chaque commande répond à une question précise. Avant de désactiver ou supprimer un compte, vérifiez son propriétaire, ses groupes, les services qui en dépendent et son historique de connexion.
- Pour connaître les comptes locaux : lisez /etc/passwd ou utilisez
getent passwdselon le périmètre recherché. - Pour isoler les noms : utilisez
cut,awkoused. - Pour contrôler les droits : examinez les résultats de
id nometgroups nom. - Pour voir les sessions ouvertes : comparez
whoetw. - Pour consulter les connexions précédentes : vérifiez
lastetlastlog.
Ces commandes s’utilisent sur de nombreuses distributions Linux, même si les outils graphiques et certains réglages changent. Dans GNOME, la rubrique des paramètres consacrée aux utilisateurs permet généralement de consulter les comptes ; son accès et les options affichées dépendent de la version et des droits disponibles.
Pour compléter vos repères sur l’automatisation de tâches techniques, retrouvez également ce dossier consacré à l’intégration de modules Python dans PowerShell. Dans les deux cas, une vérification préalable évite d’appliquer une modification au mauvais compte ou au mauvais environnement.
Questions courantes sur les utilisateurs Linux
Quelle commande affiche tous les utilisateurs Linux ?
Utilisez getent passwd pour interroger les sources de comptes configurées. Pour afficher uniquement les comptes locaux, consultez /etc/passwd avec cat ou less.
Comment afficher seulement les noms des comptes ?
La commande cut -d: -f1 /etc/passwd extrait les noms locaux. Pour interroger les sources configurées par le système, utilisez getent passwd | cut -d: -f1.
Quelle différence entre who et w ?
who résume les sessions ouvertes, tandis que w fournit aussi des détails sur l’activité des utilisateurs et l’état du système.
La commande passwd sert-elle à lister les utilisateurs ?
Non. passwd sert principalement à gérer les mots de passe. Pour consulter les comptes, utilisez plutôt getent passwd ou examinez le fichier /etc/passwd.
Comment savoir si un compte est actif ?
Croisez who ou w pour les sessions en cours avec last et lastlog pour les connexions enregistrées. Une activité passée ou une absence d’entrée doit être interprétée selon la configuration des journaux.





