Odpowiedzi:
To jest krótsza i bardziej precyzyjna wersja odpowiedzi AndreKR:
sudo getent shadow | grep '^[^:]*:.\?:' | cut -d: -f1
Ma tylko jedno połączenie cuti znajdzie wpisy dowolnego z poniższych formularzy:
foo:!: ...
bar:*: ...
baz:: ...
Jeśli chcesz tylko naprawdę pusty:
sudo getent shadow | grep '^[^:]*::' | cut -d: -f1
Jeśli masz GNU grep, możesz cutcałkowicie wyeliminować :
sudo getent shadow | grep -Po '^[^:]*(?=:.?:)'
lub
sudo getent shadow | grep -Po '^[^:]*(?=::)'
Ich wpis nie /etc/shadow/będzie zawierał skrótu do hasła. Musisz być jednak zalogowany jako root, aby móc je zobaczyć.
Czy użytkownik „ użytkownik ” ma puste hasło?
getent shadow | grep 'user:\$' | cut -d':' -f 2 | grep '\w' -c -m 1
return 1 w przypadku niepowodzenia - hasło nie jest puste
return 0 w przypadku sukcesu - hasło jest ustawione
Mam nadzieję, że to jest dokładne