遇到 sudo 密码失败时做的检查
按顺序做以下检查:
whoami查看当前用户是谁。passwd -S $(whoami)
- P = Password set(正常)
- L = Locked(被锁定)。如果被锁定,
sudo passwd -u $(whoami)解锁。 - NP = No Password
sudo -k && sudo -v
sudo -k清除 sudo 认证缓存sudo -v重新验证sudo -K删除时间戳文件(强制失效)- 时间戳文件通常在:
/run/sudo/ts/$UID
- 时间戳文件通常在:
getent passwd $(whoami)
- 因为 sudo 验证的密码源不一定是本地文件 /etc/shadow。它还可以用 PAM 连接 LDAP/AD/sssd。
- 如果返回类似这种
adoyle:x:1000:1000::/home/adoyle:/bin/bash,说明密码源是本地文件。