有沒有一個簡單的命令來驗證目前使用者的密碼?命令
$ 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 上進行了測試。