检查有没有“无密码”的用户账户

一条命令揪出没有密码的账户——这是 Linux 上最隐蔽的后门。

Linux密码用户安全审计中风险
运行 sudo awk -F: '($2 == "") {print $1}' /etc/shadow,打印出来的每个用户名都没有密码。

01命令

命令
$ sudo awk -F: '($2 == "" ) { print $1 " has NO password" }' /etc/shadow

02作用说明

/etc/shadow 保存密码哈希,第二字段为空意味着这个账户不用输入任何密码就能登录——全新装某个服务或入侵者都常留下这种账户。这条命令会列出所有此类账户,输出为空才是理想状态。正常系统账户显示的是哈希值或阻止登录的 '!'/'*' 占位符。

03风险

风险中风险
!注意: 空字段和 '!'(已锁定)不是一回事;发现真正无密码的账户请立即用 sudo passwd 用户名 设置密码——root 账户任何时候都不该无密码。

04撤销

✓无需撤销——该命令不会改变持久状态。

05来源

  • shadow(5) — Linux manual page
    man7.org · community · 2026-09-17
    依据: In /etc/shadow, the second field holds the password hash; an empty field means the account can log in without a password.

最后验证: 2026-09-18 · 分类: 安全与隐私

06相关方案