Articles

Comment lister les utilisateurs sur CentOS

Les systèmes d’exploitation basés sur Linux tels que CentOS sont conçus pour fonctionner avec un nombre massif d’utilisateurs en même temps. Si vous avez déjà utilisé un hébergement web partagé basé sur Linux, alors vous l’avez peut-être remarqué. Votre nom d’utilisateur peut être quelque chose comme xyz_232323. Cela signifie techniquement qu’il y a beaucoup d’utilisateurs et que chacun d’entre eux est numéroté. Donc, en tant qu’administrateur système Linux, savoir comment lister les utilisateurs sur CentOS et d’autres distributions Linux est indispensable.

Dans cet article, je vais vous montrer comment lister les utilisateurs sur CentOS 7. Commençons.

Les détails des utilisateurs sont stockés dans le fichier /etc/passwd sur le système d’exploitation CentOS. Il s’agit d’un fichier en texte clair. Vous pouvez donc le lire avec la commande less ou cat comme suit :

$ less /etc/passwd

Comme vous pouvez le voir, une liste de tous les utilisateurs est imprimée. Les informations sur un seul utilisateur sont stockées dans un fichier /etc/passwd à une seule ligne. Chaque ligne contient de nombreuses informations sur cet utilisateur spécifique séparées par deux points ( 🙂

Une ligne du fichier /etc/passwd contient les informations suivantes séparées par deux points ( 🙂

Nom d’utilisateur : Mot de passe : UID : GID : Détails de l’utilisateur : Chemin du répertoire d’origine : Shell par défaut

Ici, Username – Le nom de connexion de l’utilisateur. Il ne peut pas avoir d’espaces et d’autres caractères spéciaux. Seuls les caractères alphanumériques sont autorisés.

Mot de passe – Sur un système d’exploitation basé sur Linux tel que CentOS, le mot de passe est stocké dans le fichier /etc/shadow. Si le mot de passe est défini, x est stocké dans ce champ.

UID – Sur les systèmes d’exploitation basés sur Linux, chaque utilisateur a un nom alphanumérique ou Username et un ID numérique qui est appelé User ID ou UID. Pour les utilisateurs ordinaires, l’UID commence à partir de 1000. L’utilisateur root a l’UID 0.

GID – Sur les systèmes d’exploitation basés sur Linux, chaque groupe a un nom de groupe et un ID numérique qui est appelé Group ID ou GID. Sur Linux, chaque utilisateur doit être membre d’au moins un groupe. Ainsi, pour chaque utilisateur créé, un groupe est également créé avec le même nom que celui de l’utilisateur. L’utilisateur est ensuite ajouté au groupe. Dans ce champ, le GID du groupe primaire est ajouté. Le groupe primaire est le groupe par défaut de l’utilisateur. Si un utilisateur est membre de plusieurs groupes, il peut le changer lorsqu’il est connecté avec la commande newgrp. Le GID des groupes ordinaires commence à 1000. Si votre système Linux n’est pas spécifiquement configuré, le GID doit être le même que l’UID. Le groupe racine a le GID 0.

Détails de l’utilisateur – Ce champ conserve le nom complet et d’autres informations personnelles sur l’utilisateur sous forme de liste séparée par des virgules. L’utilisation la plus courante de ce champ est de définir le Nom complet de l’utilisateur. Il suffit de taper le Nom complet de votre nom d’utilisateur ici et il devrait être défini.

Path du répertoire d’accueil – Ce champ conserve le chemin d’accès à un répertoire où tous les fichiers de l’utilisateur seront stockés. La variable shell $HOME est définie à partir de ce champ.

Coordinateur par défaut – Sur les systèmes d’exploitation basés sur Linux, vous devez avoir un shell défini pour votre utilisateur. Par défaut, les shells sh (/bin/sh) et bash (/bin/bash) doivent être définis pour les utilisateurs ordinaires qui peuvent se connecter au système . Mais il existe d’autres shells tels que zsh, csh etc. Les utilisateurs du système ont l’interpréteur de commandes /sbin/nologin défini, ils ne pourront donc pas se connecter au système. Si vous voulez désactiver la connexion pour certains utilisateurs, il suffit de définir ce champ pour ces utilisateurs à /sbin/nologin.

Vous pouvez obtenir les mêmes informations telles qu’elles se trouvent dans le fichier /etc/passwd avec la commande suivante :

$ getent passwd

Sortie de la commande getent password :

Extraction uniquement de la liste des noms d’utilisateur du fichier /etc/passwd:

Le fichier /etc/passwd contient beaucoup d’informations. Si vous voulez extraire uniquement le nom d’utilisateur de la liste séparée par deux points ( :), alors vous pouvez utiliser la commande awk ou cut pour le faire.

Vous pouvez exécuter la commande suivante pour extraire le nom de connexion ou le nom d’utilisateur en utilisant la commande cut:

$ cut -d : -f1 /etc/passwd

Or

$ getent passwd | cut -d : -f1

Comme vous pouvez le constater, tous les noms d’utilisateurs sont extraits.

Vous pouvez faire la même chose avec awk comme suit :

$ awk -F : ‘{print $1}’ /etc/passwd

Or,

$ getent passwd | awk -F : ‘{print $1}’

Comme vous pouvez le voir, j’obtiens la même sortie.

Liste des utilisateurs pouvant se connecter au système :

Si vous voulez lister tous les utilisateurs qui peuvent se connecter à votre système d’exploitation CentOS, alors exécutez la commande suivante :

$ getent passwd | egrep -v ‘/s ?bin/(nologin|shutdown|sync|halt)’ | cut -d : -f1

Comme vous pouvez le voir, seuls 4 utilisateurs de ma machine CentOS peuvent se connecter et les autres utilisateurs sont des utilisateurs système. Ils ne peuvent pas se connecter au système.

C’est donc ainsi que l’on liste les utilisateurs sur CentOS. Merci d’avoir lu cet article.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *