驗證目前使用者的密碼,即使是 root

驗證目前使用者的密碼,即使是 root

有沒有一個簡單的命令來驗證目前使用者的密碼?命令

$ 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 和suFreeBSD 上進行了測試。

相關內容