GNU/Linux >> Tutoriels Linux >  >> Linux

Comment répertorier les utilisateurs et les groupes sous Linux

Sous Linux, en tant que administrateur système, vous souhaitez souvent avoir une liste complète de tous les utilisateurs et de tous les groupes sur votre hébergeur.

Il est assez crucial pour des raisons de sécurité de vous assurer que vous avez le bon nombre d'utilisateurs et que vous n'avez pas oublié d'en supprimer certains.

Il existe plusieurs façons de répertorier les utilisateurs et les groupes sous Linux .

Tout d'abord, vous pouvez lire le mot de passe et le fichier de groupe sur votre système, avec des commandes de coupe pour extraire des informations utiles.

Un moyen plus efficace consiste à utiliser la commande getent qui s'appuie sur le commutateur de service de noms, une fonction basée sur Unix pour définir des bases de données personnalisées sur votre hôte.

Voici comment vous pouvez répertorier les utilisateurs et les groupes sous Linux .

Répertorier les utilisateurs sous Linux

Afin de lister les utilisateurs sous Linux, vous devez exécuter la commande "cat" sur le fichier "/etc/passwd". Lors de l'exécution de cette commande, la liste des utilisateurs actuellement disponibles sur votre système vous sera présentée.

Alternativement, vous pouvez utiliser la commande "moins" ou "plus" pour naviguer dans la liste des noms d'utilisateur.

$ cat /etc/passwd

$ less /etc/passwd

$ more /etc/passwd

Une liste des utilisateurs actuellement disponibles sur votre système s'affichera.

Remarque :cela ne signifie pas que les utilisateurs sont connectés tout de suite !

Mais que font les colonnes du fichier passwd signifie même ?

En passant, un "x" dans la colonne du mot de passe signifie que le mot de passe est crypté et qu'il se trouve dans le fichier /etc/shadow.

Maintenant que vous savez comment répertorier les utilisateurs sur votre hôte Linux, voyons comment isoler efficacement une liste de noms d'utilisateur.

Répertorier les noms d'utilisateur à l'aide du fichier /etc/passwd

Comme vous l'avez probablement remarqué, le fichier /etc/passwd le fichier est composé de lignes séparées par des deux-points.

a - Répertorier les noms d'utilisateur à l'aide de cut

Pour répertorier les noms d'utilisateur sous Linux, utilisez la commande "cat" et dirigez-la vers la commande "cut" afin d'isoler les noms d'utilisateur disponibles dans la première colonne de votre fichier.

Pour y parvenir, exécutez la commande suivante

$ cat /etc/passwd | cut -d: -f1

Tout d'abord, vous imprimez une liste de tous les enregistrements du fichier passwd. Ensuite, ces résultats sont redirigés (à l'aide de canaux et de redirection Linux) vers la commande de coupe.

La commande cut définit un séparateur personnalisé (avec l'option d) égal au caractère deux-points.

Enfin, nous isolons le premier champ des résultats que nous obtenons. Dans ce cas, cela est égal aux noms d'utilisateur tels que définis par notre schéma sur les colonnes passwd.

b - Répertorier les noms d'utilisateur à l'aide de awk

Afin de répertorier les noms d'utilisateur sous Linux, vous pouvez également utiliser la commande "cat" associée à la commande "awk" qui est similaire à la commande "cut" que nous avons déjà vue.

Pour rappel, la commande awk (ou mawk) est un interpréteur pour le langage de programmation AWK.

AWK est un langage de programmation conçu pour faciliter l'extraction et la manipulation de données pour les flux de données.

Il est largement utilisé sur les systèmes basés sur Unix lorsque les structures de texte sont assez compliquées et ne peuvent pas être séparées par une seule commande.

Pour répertorier les noms d'utilisateur sous Linux à l'aide de l'interpréteur awk, exécutez la commande suivante

$ cat /etc/passwd | awk -F: '{print $1}'

Répertorier les utilisateurs sous Linux à l'aide de getent

Le moyen le plus simple de répertorier les utilisateurs sous Linux consiste à utiliser la commande "getent" avec l'argument "passwd" et à spécifier un utilisateur facultatif que vous souhaitez répertorier sur votre système.

getent passwd <optional_user>

Pour rappel, la commande getent récupère les entrées des bases de données Name Service Switch .

Le commutateur de service de noms est un utilitaire Unix qui récupère les entrées d'un ensemble de différentes sources de données telles que fichiers, LDAP, un serveur DNS ou un service d'information réseau .

La liste de toutes les sources de données disponibles peut être lue depuis le nsswitch.conf fichier situé dans /etc.

Dans notre cas, il peut être utilisé pour répertorier facilement les utilisateurs et les groupes sur notre hébergeur Linux.

Pour répertorier les utilisateurs utilisant la fonction getent, exécutez la commande suivante

$ getent passwd

a - Liste les noms d'utilisateur avec getent

Comme dans la section précédente, il est possible de ne lister que les noms d'utilisateur lors de l'interaction avec la commande getent.

Pour y parvenir, vous pouvez alternativement exécuter la commande cut ou la commande awk de la manière suivante.

$ getent passwd | cut -d: -f1

Ou avec AWK

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

Répertorier les utilisateurs connectés sur votre hôte Linux

Comme mentionné précédemment, l'inspection du fichier passwd, que ce soit avec less ou avec getent, ne le fait pas vous fournir la liste de tous les utilisateurs connectés sur votre hébergeur.

Pour y parvenir, vous allez utiliser la commande who.

$ who

Comme vous pouvez le voir, vous obtenez une liste des utilisateurs actuellement connectés sur votre hôte avec le shell qu'ils utilisent et quand ils se sont connectés.

Vous pouvez également utiliser la commande users pour obtenir le même résultat avec moins de détails.

$ users
devconnected john

Très pratique !

Maintenant que nous avons vu comment répertorier les utilisateurs sur un hôte Linux, voyons comment appliquer les mêmes connaissances pour répertorier les groupes sur votre système.

Répertorier les groupes sous Linux à l'aide du fichier /etc/group

Pour lister les groupes sous Linux, vous devez exécuter la commande "cat" sur le fichier "/etc/group". Lors de l'exécution de cette commande, la liste des groupes disponibles sur votre système vous sera présentée.

Utilisez l'une des commandes suivantes pour répertorier les groupes sur votre système.

$ cat /etc/group

$ less /etc/group

$ more /etc/group

Mais que représentent même les colonnes du fichier de groupe ?

Prenons une ligne complète sur la fiche du groupe pour l'inspecter.

Comme vous pouvez le voir, comme pour le fichier passwd, les entrées sont séparées par des deux-points. Ils sont assez faciles à comprendre.

Note :le champ mot de passe n'est pas utilisé la plupart du temps, il est réservé à la création de groupes privilégiés sur votre système.

Répertorier les noms de groupe à l'aide de /etc/group

Comme vous pouvez le voir, inspecter le /etc/group vous donne une liste complète et parfois trop détaillée de tous les groupes de votre système.

Cependant, vous souhaitez parfois isoler les noms de groupe dans votre fichier de groupe.

Pour y parvenir, vous pouvez soit utiliser la commande cut ou la commande AWK.

$ cat /etc/group | cut -d: -f1
$ cat /etc/group | awk -F: '{print $1}'

Vous pouvez bien sûr choisir d'isoler un groupe si vous souhaitez voir quels utilisateurs appartiennent au groupe que vous ciblez.

$ cat /etc/group | grep <group>

Répertorier les groupes à l'aide de getent

Encore une fois, vous pouvez choisir de lister les groupes sous Linux en utilisant la commande getent.

$ getent <database> <key>

Ici, nous nous intéressons à la base de données « groupe ».

Si vous choisissez de ne pas fournir de clé, vous recevrez le fichier de groupe complet.

$ getent group

Comme pour la base de données passwd, vous pouvez choisir de "cibler" un groupe spécifique en fournissant une clé à la fonction getent.

$ getent group sudo

Répertorier les groupes pour l'utilisateur actuel

Les commandes de groupes sont utilisées pour obtenir une liste des groupes dans lesquels se trouve un utilisateur spécifique.

$ groups <username>

S'il est fourni sans arguments, il renverra les groupes pour l'utilisateur qui a lancé la commande.

Pour prouver qu'il fournit les groupes pour l'utilisateur qui a lancé la commande, essayez de lancer la commande avec les privilèges sudo.

$ sudo groups

Le résultat est... racine ! Parce que la commande est exécutée en tant que root et que root n'appartient qu'à un seul groupe qui est le groupe root.

Conclusion

Dans ce didacticiel, vous avez appris comment répertorier les utilisateurs et les groupes sur n'importe quel système basé sur Linux.

Vous en avez appris plus sur un fichier de configuration spécifique comme passwd et group , ainsi que la commande getent pour les installations de changement de service de noms.

Encore une fois, si vous êtes intéressé par l'administration système Linux, nous avons des tonnes de tutoriels sur le sujet dans notre catégorie Administration système Linux.

Cliquez sur l'image ci-dessous pour les vérifier.


Linux
  1. Qu'est-ce qu'une commande Chown sous Linux et comment l'utiliser

  2. Comment gérer et répertorier les services sous Linux

  3. Comment gérer les autorisations Linux pour les utilisateurs, les groupes et autres

  4. Comment travailler avec des utilisateurs et des groupes sous Linux

  5. Comment lister tous les utilisateurs d'un groupe Linux ?

Comment installer et utiliser la commande fd sous Linux

Comment lister les disques sous Linux

Comment lister tous les utilisateurs d'un groupe sous Linux

Comment lister uniquement les répertoires sous Linux

Comment créer et gérer de nouveaux utilisateurs sous Linux

Comment lister tous les groupes sous Linux ?