GNU/Linux >> Tutoriels Linux >  >> Linux

3 façons de lister les utilisateurs sous Linux

Aujourd'hui, différents systèmes d'exploitation ont la capacité d'utiliser plusieurs utilisateurs, chacun avec ses paramètres et ses configurations personnalisées pour faciliter la collaboration des administrateurs et des opérateurs sur le même système.

Linux, en revanche, est très fort sur ce point car il permet à plusieurs utilisateurs de travailler en même temps sur le système de manière indépendante. Il peut même permettre à un seul utilisateur d'ouvrir plusieurs sessions, même à partir d'emplacements différents, afin de travailler sur le système.

Voici quelques trucs et astuces pour gérer les utilisateurs sous Linux.

Répertorier tous les utilisateurs sous Linux

Supposons que vous souhaitiez créer un utilisateur sudo sous Linux. Probablement, la toute première chose à savoir est de savoir quels sont les utilisateurs de mon système. Il existe plusieurs façons d'obtenir la liste des utilisateurs sous Linux.

1. Afficher les utilisateurs sous Linux utilisant moins /etc/passwd

Cette commande permet aux administrateurs de lister les utilisateurs qui sont stockés localement dans le système. Il donnera la liste de manière structurée comme :

root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
news:x:9:9:news:/var/spool/news:/usr/sbin/nologin
johndoe:x:1000:1000:John Doe,,,:/home/helder:/bin/bash
davmail:x:127:65534::/var/lib/davmail:/usr/sbin/nologin
statd:x:128:65534::/var/lib/nfs:/usr/sbin/nologin
/etc/passwd (END)

La structure dans la sortie ci-dessus est la suivante :

  • Nom d'utilisateur
  • Mot de passe crypté (x représente le mot de passe est stocké)
  • Numéro d'identification de l'utilisateur (UID)
  • Numéro d'identification de groupe de l'utilisateur (GID)
  • Nom complet
  • Répertoire d'accueil de l'utilisateur
  • Le shell de connexion de l'utilisateur (le shell bash par défaut)

Pourquoi tant d'utilisateurs ? Lesquelles sont les "vraies" ?

La liste affiche beaucoup plus d'utilisateurs que prévu, car elle répertorie également tous les utilisateurs du système.

Désormais, si vous souhaitez distinguer les utilisateurs normaux des utilisateurs du système, vous pouvez vous référer au numéro d'identification de l'utilisateur (UID).

Généralement, un utilisateur normal a un UID supérieur ou égal à 1000. Cela vous indique que l'utilisateur avec un UID>=1000 est un utilisateur normal et que les utilisateurs avec un UID <1000 sont des utilisateurs du système.

Vous remarquerez également que certains utilisateurs ont "nologin" à la fin de leur ligne. Cela signifie que ces utilisateurs ne peuvent pas se connecter au système. Ces utilisateurs sont également appelés pseudo-utilisateurs.

2. Afficher les utilisateurs utilisant getent passwd

Cette commande vous donnera une sortie similaire à "less /etc/passwd", cependant, celle-ci interroge en fait le fichier de configuration de la fonctionnalité GNU Name Service Switch (situé dans /etc/nsswitch.conf).

Cette conf inclut passwd, c'est pourquoi elle s'affichera de manière très similaire, mais si vous utilisez LDAP pour l'authentification, elle l'inclura également.

3. Lister les utilisateurs Linux avec compgen

Si vous souhaitez simplement lister tous les noms d'utilisateur sans aucune information supplémentaire, vous pouvez utiliser la commande compgen avec -u option.

compgen -u

La sortie ressemblerait à ceci :

compgen -u
root
daemon
bin
sys
sync
games
man
lp
mail
news
uucp
proxy
www-data
backup
list
irc
gnats
nobody
systemd-network
systemd-resolve
syslog
messagebus
_apt
uuidd
avahi-autoipd
usbmux
dnsmasq
rtkit
cups-pk-helper
speech-dispatcher
whoopsie
kernoops
saned
pulse
avahi
colord
hplip
geoclue
gnome-initial-setup
gdm
abhishek 
Astuce :vous pouvez utiliser la commande compgen avec l'option -c pour répertorier toutes les commandes disponibles. Ceci est utile lorsque vous n'êtes pas l'administrateur d'un système Linux et que vous n'avez pas d'accès sudo.

Quelques conseils sur la liste des utilisateurs sous Linux

Vous venez de voir trois façons d'afficher les utilisateurs sous Linux. Voici quelques conseils qui pourraient vous aider à gérer la liste des utilisateurs.

Liste uniquement les noms d'utilisateur

Vous avez déjà la commande compgen pour cela, mais vous n'avez pas à vous en souvenir tout le temps.

Si nous souhaitons uniquement obtenir une liste des noms d'utilisateur dans le système, vous pouvez utiliser la commande awk ou la commande cut pour filtrer la sortie des deux autres commandes que nous avons vues précédemment.

cut -d: -f1 /etc/passwd

ou

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

N'importe lequel d'entre eux nous donnera une liste filtrée d'utilisateurs, n'affichant que la toute première colonne qui est nom d'utilisateur :

root
daemon
bin
sys
sync
games
man
lp
mail
news
johndoe
davmail
statd

Vérifier si un nom d'utilisateur existe déjà dans le système

Cela peut être utile si vous voulez savoir si un nom d'utilisateur particulier existe déjà dans le système :

getent passwd | grep johndoe

Voici le résultat :

johndoe:x:1000:1000:John Doe,,,:/home/johndoe:/bin/bash

Lister tous les utilisateurs connectés

Si vous voulez savoir quels utilisateurs sont actuellement connectés à votre système Linux, vous devez utiliser une simple commande who et cela répertoriera immédiatement les noms d'utilisateur actuels avec une session active sur votre système

[email protected]:~$ who
johndoe   :0           2019-01-28 21:35 (:0)
harrysmith   pts/0        2019-02-01 09:51 (192.168.1.1)
stevejones   pts/1        2019-02-02 09:51 (192.168.1.173)

Dans ce cas, la liste vous donnera non seulement la liste des noms d'utilisateur connectés mais aussi comment ils sont connectés, depuis quand ils sont connectés et d'où ils sont connectés.

La toute première colonne vous indiquera de quel nom d'utilisateur il s'agit.

La deuxième colonne vous indiquera de quel type de connexion il s'agit :si elle est représentée par un " :X " où X est un nombre, cela signifie qu'elle utilise une interface utilisateur graphique (GUI) ou une session de bureau telle que Gnome, XDE, etc.; s'il indique "pts/X" où X est un nombre, cela signifie qu'il s'agit d'une connexion établie via le protocole SSH (ligne de commande).

La troisième colonne vous indiquera depuis quand cette session s'est connectée au serveur (date et heure). La quatrième et dernière colonne vous donnera l'emplacement à partir duquel il est connecté, s'il est distant, il affichera l'adresse IP à partir de laquelle la connexion est établie, s'il est local (comme l'interface graphique), il affichera "(:X)" où X est le nombre de la session dans ce cas et correspondra au nombre dans la deuxième colonne pour cette ligne.

Conclusion

Comme vous pouvez le voir, répertorier les utilisateurs sous Linux n'est pas du tout difficile. Il se compose de commandes simples qui afficheront toutes les informations pour vous, tout ce que vous voulez faire ou obtenir de ces informations est quelque chose que vous devez filtrer en fonction de ce que vous voulez vérifier sur le système.

Par exemple, si vous souhaitez répertorier les utilisateurs d'un groupe sous Linux, vous pouvez également le faire. Dans une rubrique connexe, vous pouvez également lire sur le changement d'utilisateurs dans la ligne de commande Linux.

J'espère que ce tutoriel vous a plu. Si vous avez des questions ou des suggestions, n'hésitez pas à nous en faire part dans les commentaires.


Linux
  1. 10 façons d'analyser des fichiers binaires sous Linux

  2. Comment lister les utilisateurs sous Linux

  3. Liste des utilisateurs sous Linux - Meilleure méthode

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

  5. Comment puis-je répertorier tous les utilisateurs verrouillés sous Linux ?

Comment lister tous les utilisateurs sous Linux

Comment répertorier les utilisateurs sous Linux

Commande SS sous Linux

Comment répertorier les utilisateurs et les groupes sous Linux

6 façons différentes de répertorier les disques durs sous Linux

Comment lister tous les utilisateurs d'un groupe sous Linux