Linux
現代發行版中禁用了空白根密碼?
讀完這篇文章:https ://stackoverflow.com/questions/11700690/how-do-i-completely-remove-root-password我的印像是一個空白的 root 密碼,就像修改**/etc/shadow**文件一樣根條目是這樣的:
root::0:0:99999:7:::
應該允許我在不提示輸入密碼的情況下 su 到 root。
請注意,我不是在尋找一種實用或安全的方法來做到這一點。我知道公鑰身份驗證是通過authorized_keys 和SSH 以理智的方式執行此操作的可行方法。這不是這個問題所關心的。
預期的行為是不提示輸入密碼或至少在提示時接受空白密碼(輸入密鑰,僅此而已)應該允許使用者成為 root。
實際行為是確實提示使用者輸入密碼,並且不接受空白密碼(輸入鍵)。我也試過
su -
,,,su root
。su - root
相同的行為。為了確定我確實更改了影子文件,我還嘗試了我的舊密碼,這也不起作用,儘管只需一個影子文件的貓就足以確認此更改確實進行了。從我的 shadow.bak 恢復原始影子文件恢復了原始功能。這是在 Debian 9 系統上,su 來自 util-linux 2.32.1。
我的語法不正確嗎?這種使用空白密碼的能力是否應該
root::0:0:99999:7:::
或者不再可能?從什麼時候開始刪除的?
由於
su
通常通過pam_unix進行配置,因此通常在 Debian 系統上使用nullok_secure指令進行配置:$ grep -m1 pam_unix /etc/pam.d/system-auth 驗證足夠 pam_unix.so nullok_secure
將該預設值更改為僅
nullok
應啟用無密碼su
使用。