如何在Linux中find空密码的用户?

如何在Linux中find空密码的用户?

这是AndreKR的答案更短,更准确的版本:

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

它只有一个电话cut并会find下面的任何forms的条目:

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

如果你只想真空:

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

如果你有GNU grep ,你可以完全消除cut

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

要么

 sudo getent shadow | grep -Po '^[^:]*(?=::)' 
 getent shadow | cut -d: -f1-2 | grep ':$' | cut -d: -f1 

它们在/etc/shadow/将没有密码哈希。 不过,您需要以root身份login才能看到它们。

encryption的密码是/ etc / shadow中的第二个字段。

如果第二个字段为空,则密码为空:

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

!*是无效的密码(用户无法login):

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