有没有一个简单的命令来验证当前用户的密码?命令
$ su -c true $(id -nu)
对于非 root 用户来说就足够了。然而root用户在使用时不需要验证自己的身份su
。
是否有替代命令让 root 用户可以安全、简单地验证他记住的 root 密码是否仍然正确?
我使用桌面 Linux 发行版,特别是 Arch Linux。
答案1
可能的解决方案之一是暂时切换到非 root 交互式用户,然后切换到 root 并注销回 root shell,如下所示($SHLVL
不会修改):
# id
uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel),17(audio)
# su user -c 'su root -c exit' # type an incorrect password
Password:
su: Authentication failure
# echo $?
1
# su user -c 'su root -c exit' # type a correct password
Password:
# echo $?
0
#
su
从 Shadow-4.2.1 开始在 Slackware Linux 和su
FreeBSD 上进行了测试。