Comment compter le nombre d'entrées /etc/password
sans mot de passe?
Je pense que pour trouver des entrées sans mot de passe, vous devrez utiliser /etc/shadow
:
Sudo grep -Ec '\!|\*' /etc/shadow
Les caractères !
et *
indiquent qu'il n'y a pas de mot de passe Unix pour l'utilisateur, par exemple:
root:!:17092:0:99999:7:::
colord:*:17086:0:99999:7:::
Les entrées dans /etc/shadow
correspondent à celles dans /etc/passwd
Au lieu d’un nombre, vous pouvez obtenir une liste non exhaustive des noms d’utilisateur:
Sudo grep -E '\!|\*' /etc/shadow | grep -o '^[^:]*'
Vous pouvez utiliser -v
pour inverser la correspondance et compter ou lister les utilisateurs avec mots de passe bien sûr:
Sudo grep -vE '\!|\*' /etc/shadow | grep -o '^[^:]*'
Remarques:
-E
utilise ERE pour pouvoir utiliser |
en alternance-c
retourne le nombre de lignes, pas les lignes elles-mêmes-o
n'imprime que la partie correspondante'^[^:]*'
du début de la ligne au premier :
echo $(($(cat /etc/passwd | egrep "^*:x" | wc | awk '{print $1}')-$(cat /etc/passwd | wc | awk '{print $1}')))
Cela ne compte que les entrées qui n'ont pas de mot de passe.