dans cet article, vous apprendrez à lister les utilisateurs sous Linux. En plus de cela, vous connaîtrez d’autres astuces sur les caractéristiques des utilisateurs de Linux.
Il existe deux types d’utilisateurs sous Linux, les utilisateurs du système qui sont créés par défaut avec le système. D’autre part, il y a des utilisateurs réguliers qui sont créés par les administrateurs système et peuvent se connecter au système et l’utiliser.
Table des Matières
Ce fichier contient la liste des utilisateurs sur Linux?,
avant de commencer à répertorier les utilisateurs, nous devons savoir où ces utilisateurs ont été enregistrés sur Linux?
Les utilisateurs sont stockés dans un fichier texte sur le système appelé le fichier passwd. Ce fichier se trouve dans le répertoire /etc.
Le fichier se trouve sur le chemin d’accès suivant:
$ /etc/passwd
Dans ce fichier, vous pouvez trouver toutes les informations sur les utilisateurs dans le système.
Liste de tous les utilisateurs
Liste des utilisateurs est la première étape pour les gérer. De cette façon, nous savons combien ils sont et qui ils sont. Sous Linux, presque tout peut être fait de différentes manières, et cela ne fait pas exception.,
Pour la liste de tous les utilisateurs, vous pouvez utiliser la commande cat:
$ cat /etc/passwd
Comme vous pouvez le voir dans l’image, il y a toutes les informations sur les utilisateurs.
1 – Dans le premier champ, vous verrez le nom de l’utilisateur.
2 – Le deuxième champ (Le caractère x) est une représentation du mot de passe crypté. Le mot de passe chiffré est stocké dans le fichier/etc / shadow.
3 – L’UID ou L’ID utilisateur.
4 – Le champ suivant se rapporte au groupe principal de l’utilisateur.
5-Ensuite, il affiche les informations d’ID utilisateur telles que l’adresse, l’e-mail, etc.,
6 – Après cela, vous verrez le répertoire home de l’utilisateur.
7 – Le dernier champ est le shell utilisé par l’utilisateur.
Cependant, bien que l’information est très utile, si vous voulez seulement de la liste de noms dans un moyen de base, vous pouvez utiliser cette commande:
$ cut -d: -f1 /etc/passwd
Maintenant, nous avons les noms en imprimant le premier champ du fichier uniquement.
Liste & tri des utilisateurs par nom
La commande ci-dessus sert à l’inscription des utilisateurs sur Linux. Mais qu’en est-il de la liste des utilisateurs par ordre alphabétique?,
pour ce faire, nous utiliserons la commande précédente, mais nous ajouterons la commande trier.
Donc, la commande sera comme ceci:
$ cut -d: -f1 /etc/passwd | sort
Comme vous pouvez le voir dans l’image, les utilisateurs sont affichés triés.
Linux liste des utilisateurs sans mot de passe
Il est important de connaître les utilisateurs qui n’ont pas de mot de passe et de prendre les mesures appropriées. Pour lister les utilisateurs qui n’ont pas de mot de passe, utilisez simplement la commande suivante:
$ sudo getent shadow | grep -Po '^*(?=:.?:)'
l’expression régulière utilisée répertorie tous les utilisateurs sans mot de passe.,
liste des utilisateurs Par Utilisation du disque
Si vous avez un grand répertoire et que vous voulez savoir quel utilisateur l’inonde, vous pouvez utiliser la commande du pour obtenir l’utilisation du disque.
avec cela, vous pouvez détecter lequel de ces utilisateurs utilise abusivement l’espace disque.
Pour cela, il suffit d’utiliser la commande suivante:
$ sudo du -smc /home/* | sort -n
De cette façon, vous aurez l’a commandé par l’utilisation du disque pour le répertoire /home.
nous avons utilisé le-n pour la commande de tri pour trier la sortie par nombres.,
Liste actuellement connecté utilisateurs
Pour la liste actuellement les utilisateurs connectés, nous avons plusieurs façons de le faire. La première méthode, nous pouvons utiliser les utilisateurs de commande:
$ users
Il donnera la liste des utilisateurs avec les sessions ouvertes dans le système.
mais cette information est un peu basique; cependant, nous avons une autre commande qui donne plus de détails. La commande est simplement W.,
$ w
Avec cette commande, nous pouvons avoir plus d’informations, comme l’heure exacte à laquelle la session a été lancée et la session de terminal qu’il a à disposition.
Enfin, il y a une commande qui. Il est disponible pour toute la famille Unix. Vous pouvez donc l’utiliser sur d’autres systèmes comme FreeBSD.
$ who
Avec qui commande, nous avons aussi quelques informations sur actuellement les utilisateurs connectés. Bien sûr, nous pouvons ajouter l’option-a et afficher tous les détails.,
$ who -a
de Cette façon, vous savez tout sur les utilisateurs connectés.
Linux liste des utilisateurs qui se sont récemment connectés au système
Nous avons vu comment obtenir les utilisateurs actuellement connectés, qu’en est-il de la liste de l’historique de connexion des utilisateurs?,
Vous pouvez utiliser la dernière commande pour obtenir plus d’informations sur les connexions qui ont eu lieu:
$ last
les connexions d’accès d’un utilisateur
$ last
Par exemple:
$ last angelo
il s’agit de l’identifiant de l’utilisateur de l’activité et quand il a commencé et combien de temps il a fallu.
Liste des utilisateurs des connexions sur une date ou une heure spécifique
Ce que sur l’inscription des utilisateurs des connexions sur une date ou une heure spécifique?, Pour atteindre cet objectif, nous utilisons la dernière commande mais avec le paramètre-t:
$ last -t YYMMDDHHMMSS
Par exemple:
$ last -t 20190926110509
Et maintenant, tout ce que vous avez à faire est de choisir une date exacte & le temps de la liste qui s’est connecté à ce moment.
liste de tous les utilisateurs d’un groupe
Il existe deux façons de lister les membres d’un groupe sous Linux, la façon la plus simple et la plus directe est d’obtenir les utilisateurs du fichier/etc/group comme ceci:
$ cat /etc/group | grep likegeeks
Cette commande répertorie les utilisateurs du groupe likegeeks.,
l’autre façon est d’utiliser des commandes comme la commande members dans les distributions basées sur Debian. Cependant, il n’est pas installé par défaut dans les distributions Linux.,
Pour l’installer sur Ubuntu / Linux Mint 19, il suffit d’utiliser APT:
$ sudo apt install members
Ou, dans le cas de CentOS:
$ sudo dnf install members
une Fois que c’est installé, vous pouvez exécuter la commande puis sur le nom du groupe que vous souhaitez ajouter à la liste aux utilisateurs de:
$ members
Par exemple:
$ members avahi
de Cette façon, vous pouvez afficher la liste des utilisateurs d’un groupe dans une distro basée sur Debian. Qu’en est-il D’une distribution basée sur RedHat comme CentOS?,
Vous pouvez utiliser la commande suivante:
$ getent group likegeeks
Liste des utilisateurs avec l’UID
Dans les systèmes Unix, chaque utilisateur dispose d’un identifiant d’utilisateur ou ID. Il sert à gérer et administrer les comptes en interne dans le système d’exploitation.
généralement, les UID de 0 à 1000 sont destinés aux utilisateurs du système. Et par la suite pour les utilisateurs réguliers. Toujours sur les systèmes Unix, UID zero appartient aux utilisateurs root (vous pouvez avoir plus d’un utilisateur avec UID de zéro).
alors maintenant, nous allons lister les utilisateurs avec leur UID respectif en utilisant Awk.,
La commande qui effectue la tâche est la suivante:
$ awk -F: '{printf "%s:%s\n",$1,$3}' /etc/passwd
Comme vous pouvez le voir, chaque utilisateur avec son UID.
Liste des utilisateurs racine
Dans un système de type Unix comme Linux, il n’y a généralement qu’un seul utilisateur root. S’il y en a beaucoup, comment les énumérer?
Pour ce faire, nous pouvons utiliser cette commande:
$ grep 'x:0:' /etc/passwd
Ici, nous sommes filtrage du fichier des utilisateurs avec l’UID de zéro (les utilisateurs root).,
une Autre manière, en vérifiant le fichier /etc/group:
$ grep root /etc/group
nous avons Ici les utilisateurs dans le groupe de la racine à partir du fichier /etc/group.
Vous pouvez également vérifier si un utilisateur peut exécuter des commandes en tant que root en vérifiant le fichier /etc/sudoers:
$ cat /etc/sudoers
obtenir le nombre total d’utilisateurs
pour obtenir le nombre total d’utilisateurs sous Linux, vous pouvez compter les lignes dans le fichier /etc/passwd
Super! 43 utilisateurs., Mais cela inclut le système et les utilisateurs réguliers. Mais comment obtenir le nombre d’utilisateurs réguliers seulement?
facile! Puisque nous savons à partir de ci-dessus que les utilisateurs réguliers ont UID de 1000 ou plus, nous pouvons utiliser Awk pour les obtenir:
$ awk -F: '$3 >= 1000 {print $1}' /etc/passwd
Cool!
Liste des utilisateurs sudo
les systèmes Linux ont un utilitaire appelé sudo qui permet d’exécuter des commandes comme si vous étiez un autre utilisateur qui est généralement de l’utilisateur root.
cela doit être géré avec soin dans un environnement professionnel.,
Il est également très important de savoir quels utilisateurs peuvent exécuter la commande sudo. Pour cela, il suffit de lister les utilisateurs appartenant au groupe sudo.
$ members sudo
les Utilisateurs de ce groupe peuvent exécuter des commandes comme des super-utilisateurs.
liste des utilisateurs disposant D’un accès SSH
SSH permet aux utilisateurs d’accéder à des ordinateurs distants via un réseau. Il est assez sécurisé et est né en remplacement de Telnet.
Par défaut, tous les utilisateurs peuvent se connecter et utiliser SSH., Si vous voulez limiter cela, vous pouvez utiliser le fichier de configuration SSH (/etc/ssh/ssh_config) et ajouter la directive suivante:
AllowUsers user1 user2 user3
Vous pouvez également autoriser les groupes au lieu d’autoriser les utilisateurs uniquement en utilisant la directive AllowGroups:
AllowGroups group1 group2 group3
ces directives définissent qui peut accéder au service. N’oubliez pas de redémarrer le service SSH.
Liste des utilisateurs qui disposent des autorisations d’un fichier ou d’un répertoire
Nous pouvons faire plus d’un utilisateur l’autorisation d’accéder ou de modifier des fichiers & répertoires de deux façons.,
La première méthode consiste à ajouter des utilisateurs au groupe du fichier ou le répertoire.
de cette façon, nous pouvons lister les membres du groupe en utilisant l’utilitaire members comme indiqué ci-dessus.
D’accord, mais que se passe – t-il si nous voulons simplement que cet utilisateur n’ait accès qu’à ce fichier spécifique (pas à toutes les autorisations du groupe)?
Ici, nous pouvons définir une ACL pour ce fichier en utilisant la commande setfacl comme ceci:
$ setfacl -m u:newuser:rwx myfile
Ici, nous donnons l’utilisateur appelé newser l’autorisation pour le fichier » monfichier les autorisations de lecture de & écrire & exécuter.,
Maintenant, le fichier peut être consulté ou modifié par le propriétaire et l’utilisateur appelé newuser. Alors, comment les énumérer?
nous pouvons les répertorier en utilisant la commande getfacl comme ceci:
$ getfacl myfile
Cette commande répertoriera tous les utilisateurs qui ont des autorisations pour le fichier avec leurs autorisations correspondantes.
liste des utilisateurs verrouillés (désactivés)
sous Linux, par mesure de sécurité, nous pouvons verrouiller les utilisateurs. Ceci par précaution s’il est suspecté que l’utilisateur fait mal les choses et que vous ne voulez pas supprimer complètement l’utilisateur et le verrouiller pour enquête.,
Pour bloquer un utilisateur, vous pouvez utiliser la commande suivante:
$ usermod -L myuser
Maintenant, l’utilisateur nommé myuser de ne plus être capable de se connecter ou d’utiliser le système.
pour lister tous les utilisateurs verrouillés du système, utilisez simplement la commande suivante:
$ cat /etc/passwd | cut -d : -f 1 | awk '{ system("passwd -S " $0) }' | grep locked
cela affichera tous les utilisateurs verrouillés, y compris les utilisateurs du système. Qu’en est-il de la liste des utilisateurs réguliers seulement?
Comme nous l’avons vu ci-dessus, en utilisant Awk, nous pouvons obtenir des utilisateurs réguliers verrouillés comme ceci:
$ awk -F: '$3 >= 1000 {print $1}' /etc/passwd | cut -d : -f 1 | awk '{ system("passwd -S " $0) }' | grep locked
très facile!,
liste des utilisateurs distants (LDAP)
D’accord, vous pouvez maintenant lister tous les utilisateurs du système (utilisateurs locaux), mais qu’en est-il des utilisateurs distants ou des utilisateurs LDAP? Eh bien, nous pouvons utiliser un outil comme ldapsearch, mais y a-t-il un autre moyen?
Heureusement, oui! Vous pouvez répertorier les utilisateurs distants locaux & avec une commande appelée getent
$ getent passwd
Cette commande répertorie à la fois les utilisateurs du système local et les utilisateurs LDAP ou NIS ou tout autre utilisateur réseau.
Vous pouvez rediriger les résultats de cette commande vers l’une des commandes mentionnées ci-dessus de la même manière.,
de plus, la commande getent peut répertorier les comptes de groupe comme ceci:
$ getent group
Vous pouvez consulter la page de manuel de la commande pour connaître les autres bases de données dans lesquelles la commande peut rechercher.
Conclusion
Liste des utilisateurs dans le système Linux était amusant! En plus de cela, nous avons appris quelques conseils sur les utilisateurs et comment les gérer de différentes manières.
Enfin, cette connaissance permettra une meilleure administration des utilisateurs du système.
j’espère que vous trouverez le tutoriel utile. Garder de revenir.,
Fondateur de LikeGeeks. Je travaille comme administrateur système Linux depuis 2010. Je suis responsable de la maintenance, de la sécurisation et du dépannage des serveurs Linux pour plusieurs clients à travers le monde. J’adore écrire des scripts shell et Python pour automatiser mon travail.