Solaris/OpenIndiana:角色密碼?
我一直
roles
在 Solaris 中輕輕地進行試驗,並想知道password
為它設置一個。我希望我創建的角色可供多個使用者使用,因此將密碼設置為與一個使用者相同(就像對 root 角色所做的那樣)不是一種選擇。有幾個使用者“共享”(知道)一個密碼,我聽說是個壞主意——畢竟這是理性的
sudo
。所以現在,我設置了一個空白密碼(只需“Enter”)。我不是通過將欄位
/etc/shadow
留空也不是將其設置為“NP”來做到這一點……我通過將其設置為空passwd
(按“Enter”兩次)來做到這一點 - 結果加密的條目非常長而且亂碼。所以我的第一個問題;留下
role
空白(“Enter”)作為密碼是否安全? 畢竟,只有具有該角色的登錄使用者才能承擔它……還有幾個問題:
角色規範中是否有某種方法可以指定使用者應該使用他自己的密碼而不是角色的密碼進行身份驗證以切換到角色(而不將角色的密碼更改為使用者的密碼,因為我假設已經完成了根角色)?如果沒有,是否還有其他方法(例如,通過使用
sudo
- 可能與 結合使用su
?如果是,如何?)來實現這一點?-role是如何
root
與“第一個使用者”的密碼綁定的?是角色規範中的某個欄位使其自動發生嗎?幕後發生了什麼來實現它?
是的,從角色中刪除密碼是安全的。事實上,在我的網站上,預設情況下我們或多或少都會這樣做(root 角色除外)。
正如您指出的那樣,假設某個角色的使用者已經過身份驗證,所以要求他再次進行身份驗證真的是太多的身份驗證恕我直言。
我相信這也回答了你的第二個問題。只需從角色中刪除密碼!
關於如何從角色中刪除密碼的一些說明。在下文中,該角色被命名為
roleX
。在 Solaris 10 中
對我來說,只要做以下事情就足夠了:
passwd -r files -d roleX
在 Solaris 11 中
PASSREQ
Sun/Oracle wrt 對in 參數的強制執行改變了某些東西/etc/default/login
(參見手冊頁login
)。為了創建一個沒有密碼的角色,您需要像在 Solaris 10 中一樣對每個角色帳戶執行操作,並PASSREQ
在/etc/default/login
.在我看來,它
PASSREQ
是最後一道防線。您仍然需要從每個帳戶中物理刪除密碼,以使該帳戶沒有密碼。我希望 Solaris 有一個像PASSREQROLE
(我的建議)這樣的設置,它會說角色帳戶是否可以沒有密碼(而不是所有帳戶都可以PASSREQ
)。