Afficher la liste des utilisateurs Linux sans se tromper
25 février 20265 min de lectureHanaé Aubert
Pour lister les utilisateurs Linux, évitez de commencer par un script compliqué. Dans la plupart des cas, une commande suffit pour afficher les comptes connus du système, puis une seconde pour distinguer les comptes humains, les comptes système et les utilisateurs réellement connectés.
La nuance compte : un utilisateur déclaré n’est pas forcément connecté, et un compte présent dans /etc/passwd n’est pas toujours un compte humain.
À retenir
✓getent passwd est la commande la plus propre pour lister les comptes connus du système.
✓/etc/passwd décrit les comptes locaux, mais peut ignorer LDAP, SSSD ou d’autres sources NSS.
✓who et w affichent les utilisateurs actuellement connectés, pas tous les comptes.
✓Les UID aident à distinguer comptes système et comptes utilisateurs, mais le seuil peut varier selon la distribution.
✓Ne supprimez jamais un compte seulement parce qu’il apparaît dans la liste.
Quelle commande utiliser pour afficher les utilisateurs Linux ?
Utilisez d’abord getent passwd pour afficher les comptes utilisateurs connus par Linux. Cette commande interroge la base système configurée, pas seulement le fichier local. Pour afficher uniquement les noms, utilisez getent passwd | cut -d: -f1. Pour les sessions ouvertes, utilisez plutôt who ou w.
Comptes pouvant potentiellement ouvrir une session shell
La bonne commande dépend de ce que vous cherchez : tous les comptes, les comptes locaux ou les sessions connectées.
Comprendre rapidement les champs de /etc/passwd
Chaque ligne de /etc/passwd contient des champs séparés par deux-points : nom du compte, marqueur de mot de passe, UID, GID, commentaire, répertoire personnel et shell. Le mot de passe réel n’est normalement pas stocké ici, mais dans /etc/shadow, lisible seulement par les droits adaptés.
Exemple simplifié : alice:x:1001:1001:Alice:/home/alice:/bin/bash. Ici, alice est le nom du compte, 1001 son UID, /home/alice son dossier personnel et /bin/bash son shell. Ces champs aident à repérer le type de compte, mais ils ne suffisent pas à décider qu’un compte est légitime ou suspect.
Pourquoi /etc/passwd ne suffit pas toujours
Sur un poste isolé, /etc/passwd donne souvent une image correcte des comptes locaux. Sur un serveur d’entreprise, ce n’est pas toujours assez. La machine peut interroger un annuaire LDAP, SSSD, NIS ou Active Directory via la configuration NSS. Dans ce cas, cat /etc/passwd ne montre qu’une partie du paysage.
C’est précisément pour cela que getent passwd est préférable en premier réflexe. La commande respecte la configuration du système et renvoie les comptes que Linux sait résoudre. Pour un audit, cette différence évite de passer à côté d’utilisateurs centralisés.
Filtrer les comptes humains sans se tromper
Sur beaucoup de distributions, les comptes utilisateurs commencent autour de l’UID 1000, tandis que les comptes système utilisent des UID plus bas. C’est un repère pratique, pas une loi universelle. Certaines entreprises utilisent des seuils différents, des comptes de service dédiés ou une gestion centralisée.
Cette commande affiche les comptes dont l’UID est supérieur ou égal à 1000, avec leur UID, leur répertoire personnel et leur shell. Elle donne un bon premier tri, mais vérifiez toujours la politique locale avant d’en déduire qu’un compte est humain.
Repérer les comptes avec droits sensibles
Une liste d’utilisateurs devient vraiment utile quand elle est croisée avec les groupes. Sur Debian ou Ubuntu, vérifiez par exemple les membres du groupe sudo. Sur d’autres distributions, regardez aussi wheel ou les règles présentes dans /etc/sudoers et /etc/sudoers.d. Le but n’est pas de modifier tout de suite, mais de repérer qui peut élever ses privilèges.
getent group sudo
getent group wheel
Si un compte inconnu apparaît dans ces groupes, notez-le et vérifiez son usage : propriétaire, dernière connexion, clés SSH, processus associés et tickets internes. Un compte administrateur oublié est plus critique qu’un simple compte système sans shell.
Voir les utilisateurs connectés maintenant
Pour savoir qui est actuellement connecté, utilisez who. Pour une vue plus détaillée, w ajoute l’activité, le terminal et la charge. Ces commandes ne remplacent pas la liste des comptes : elles indiquent seulement les sessions ouvertes au moment où vous les lancez.
who : utile pour voir les sessions actives.
w : plus bavard, avec activité et charge.
last : utile pour consulter l’historique des connexions récentes.
Les erreurs à éviter en audit rapide
Avant action
Contrôles utiles
Lister les utilisateurs est une étape de diagnostic, pas une décision de suppression.
✓Ne confondez pas compte système et compte suspect.
✓Ne vous limitez pas à /etc/passwd si la machine utilise LDAP, SSSD ou Active Directory.
✓Ne supprimez pas un compte sans vérifier ses services, fichiers et processus.
✓Regardez les UID, le shell, le répertoire personnel et les groupes.
✓Vérifiez les comptes sudo ou administrateurs séparément.
✓Documentez les comptes inconnus avant toute correction.
Le risque classique consiste à nettoyer trop vite. Un compte backup, postgres, www-data ou deploy peut être indispensable à un service. La bonne méthode consiste à documenter, vérifier l’usage, puis désactiver prudemment si le compte n’a plus de raison d’exister.
Une méthode courte pour auditer la liste
Pour un audit rapide, commencez par exporter la liste brute, puis annotez les comptes inconnus. Regroupez-les en trois familles : comptes humains, comptes de service et comptes système. Ensuite seulement, regardez les groupes sensibles, les shells autorisés, les répertoires personnels et les connexions récentes.
Listez les comptes avec getent passwd.
Filtrez les UID élevés et les shells interactifs.
Contrôlez les groupes sudo ou wheel.
Vérifiez les sessions avec who, w et l’historique avec last.
Documentez chaque compte douteux avant toute désactivation.
Cette approche évite les deux erreurs opposées : ignorer un compte réellement risqué ou casser un service en supprimant un compte technique indispensable. La traçabilité compte autant que la commande.
Le bon réflexe pour une PME
Commencez par getent passwd, filtrez ensuite les UID élevés, puis vérifiez les sessions avec who ou w. Si vous auditez un serveur de production, ajoutez une revue des groupes sensibles, des clés SSH et des comptes de service. Une liste d’utilisateurs n’est utile que si elle mène à une décision documentée.
Gardez une règle simple : afficher la liste est sans risque, mais agir sur les comptes ne l’est pas. Avant de désactiver ou supprimer, vérifiez l’impact.
Questions fréquentes
getent passwd est généralement préférable, car elle interroge la base des comptes configurée par le système, pas seulement le fichier /etc/passwd.
Utilisez getent passwd | cut -d: -f1 pour extraire uniquement le premier champ, qui correspond au nom du compte.
Utilisez who pour les sessions actives, ou w pour une vue plus détaillée avec activité et charge.
Pas directement. Il faut d’abord vérifier le service associé, les fichiers, les processus et les dépendances. Une désactivation progressive est plus prudente.
Hanaé Aubert accompagne les entreprises sur leurs enjeux numériques. Ses contenus visent un public professionnel qui cherche des repères concrets pour arbitrer ses choix…
Réinstaller Windows peut réparer un système instable, supprimer une configuration devenue ingérable ou préparer un ordinateur à un nouvel usage. La méthode la plus sûre dépend de votre objectif : conserver les fichiers et les applications.
Ubuntu Server est un bon choix pour héberger des services Linux stables, à condition de préparer la version LTS, l'accès SSH, les mises à jour, le pare-feu et les sauvegardes.
Recherchez-vous un équipement capable de vous aider dans la gestion de votre organisation ? Les imprimantes de codes-barres occupent une place importante dans de nombreux secteurs. Elles permettent d'identifier rapidement les produits.
Un support utilisateur PME efficace ne repose pas seulement sur un outil de ticketing. Il clarifie les demandes, les priorités, les délais, l'escalade et la mémoire de résolution.
Sous Linux, supprimer un dossier dépend surtout de son contenu. Voici quelle commande choisir et les précautions à prendre avant une suppression récursive.
Poursuivez avec les guides du site
Les guides complètent cet article avec une lecture plus structurée, des cas concrets et les points de vigilance à garder en tête.