我如何计算/etc/password
没有密码的条目数?
答案1
我思考要查找未设置密码的条目,您必须使用/etc/shadow
:
sudo grep -Ec '\!|\*' /etc/shadow
和!
字符*
表示用户没有 Unix 密码,例如:
root:!:17092:0:99999:7:::
colord:*:17086:0:99999:7:::
中的条目/etc/shadow
与/etc/passwd
您可以获得仅包含用户名的干净列表,而不是计数:
sudo grep -E '\!|\*' /etc/shadow | grep -o '^[^:]*'
您可以使用-v
反转匹配并计数或列出用户和当然是密码:
sudo grep -vE '\!|\*' /etc/shadow | grep -o '^[^:]*'
笔记:
-E
使用 ERE,这样我们就可以|
交替使用-c
返回行数,而不是行本身-o
只打印匹配的部分'^[^:]*'
从行首到第一个:
答案2
echo $(($(cat /etc/passwd | egrep "^*:x" | wc | awk '{print $1}')-$(cat /etc/passwd | wc | awk '{print $1}')))
这只计算没有密码的条目