découvrez les commandes linux pour lister les utilisateurs, consulter leurs informations et gérer facilement les comptes système.

Lister les utilisateurs Linux : commandes et astuces pratiques

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.

A lire aussi :  Atlas 200 HD : mise à jour et logiciels indispensables pour votre équipement

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.

A lire aussi :  Linux tracert : commandes équivalentes et alternatives pour traceroute

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.

A lire aussi :  Logiciel SAP : définition, usages en logistique et formation

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 passwd selon le périmètre recherché.
  • Pour isoler les noms : utilisez cut, awk ou sed.
  • Pour contrôler les droits : examinez les résultats de id nom et groups nom.
  • Pour voir les sessions ouvertes : comparez who et w.
  • Pour consulter les connexions précédentes : vérifiez last et lastlog.

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.

Retour en haut