Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 28/04/2022, à 14:19

pierrot10

Comment lister les comptes sans mots de passe

Bonjour,

J'ai un serveur de fichier dont le partage se fait via SAMBA.
Je crée des comptes Ubuntu sans mot de passe.
Puis, via l'interface system-samba-config, je crée des comptes Samba avec un mot de passe.

Pour ceux qui veulent accèder au serveur via SSH, j'active le compte en mettant un mot de passe.

J'aimerais pouvoir lister tous les utilisateurs qui accèdent le serveur avec SSH. Par conséquent, j'aimerais lister les comptes qui n'ont pas de mot de passe.

Comment puis-je faire cela?

sudo getent passwd m'affiche tous les comptes, mais j'aimerais n'afficher que les comptes que j'ai créé avec la commande

sudo useradd -m -s /bin/bash username

dont un mot de passe a été initié.

Merciii

Hors ligne

#2 Le 28/04/2022, à 22:34

MicP

Re : Comment lister les comptes sans mots de passe

Bonjour

pierrot10 a écrit :

… j'aimerais n'afficher que les comptes que j'ai créé avec la commande

sudo useradd -m -s /bin/bash username

Si tu veux faire s'afficher les noms de compte utilisateur qui ont étés entrés
à la suite de toutes les lignes de commandes que tu as déjà (récemment*) entrées
et qui commencent par "sudo useradd -m -s /bin/bash "
alors, lance la ligne de commandes suivante :

awk '/^sudo useradd -m -s \/bin\/bash /{print $NF}' ~/.bash_history | sort -u

* Le fichier ~/.bash_history a une taille limitée
ce qui fait qu'il ne conserve que les XXXX dernières lignes de commandes entrées les plus récentes.

Voir la description des variables HISTSIZE et HISTFILESIZE
dans la page man de bash retournée par la ligne de commande suivante :

man --pager='less -p "^HISTORIQUE"' bash

Dernière modification par MicP (Le 29/04/2022, à 00:29)

Hors ligne

#3 Le 29/04/2022, à 07:17

nany

Re : Comment lister les comptes sans mots de passe

Bonjour,



Puisque, comme l’indique lui-même MicP, l’exploration de l’historique est hasardeuse, je préconise de faire une recherche dans /etc/shadow :

sudo awk -F':' '{if ($2 == "" || $2 == "!" || $2 == "!!" || $2 == "*") print $1}' /etc/shadow

Cette commande affiche TOUS les utilisateurs sans mot de passe y compris les utilisateurs système.
On peut filtrer les utilisateurs d’id comprise entre 1000 et 59999 en regardant dans le fichier /etc/passwdavec une ligne de commandes plus complexe comme celle-ci :

users=$(awk -F':' '{if ($3 >= 1000 && $3 <= 59999) if(u != "") u = u "|" $1 ; else u = $1} ; END{print u}' /etc/passwd) && sudo awk -F':' "/$users/"'{if ($2 == "" || $2 == "!" || $2 == "!!" || $2 == "*") print $1}' /etc/shadow

Hors ligne