Как найти пользователя с пустым паролем в Linux?


13

Как найти пользователя с пустым паролем в Linux?

Ответы:


15

Это более короткая и точная версия ответа АндреКР:

sudo getent shadow | grep '^[^:]*:.\?:' | cut -d: -f1

Он имеет только один вызов cutи найдет записи любой из форм ниже:

foo:!: ...
bar:*: ...
baz:: ...

Если вы хотите только по-настоящему пустой:

sudo getent shadow | grep '^[^:]*::' | cut -d: -f1

Если у вас есть GNU grep, вы можете cutполностью устранить :

sudo getent shadow | grep -Po '^[^:]*(?=:.?:)'

или

sudo getent shadow | grep -Po '^[^:]*(?=::)'


2

В их записи не /etc/shadow/будет хэша пароля. Вы должны войти в систему как root, чтобы видеть их.


2

Зашифрованный пароль - это второе поле в / etc / shadow.

Если второе поле пусто, то пароль пуст:

awk -F":" '($2 == "") {print $1}' /etc/shadow

!и *неверный пароль (пользователь не может войти):

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

0

Имеет ли пользователь « пользователь » пустой пароль?

getent shadow | grep 'user:\$' | cut -d':' -f 2 | grep '\w' -c -m 1  

верните 1 при ошибке - пароль не пуст.
верните 0 при успехе - пароль установлен

Надеюсь, это точно

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.