有沒有辦法限制su
特定的使用者群組?
在網路上搜尋時,我發現了 IBM AIX 的概念sugroup
。每當建立使用者時,sugroup
都可以設定屬性;並且只允許該群組的成員使用該使用者。
sugroup
可以透過建立一個僅包含允許 su 的某些使用者的群組來幫助我解決問題。分配sugroup
意味著該群組之外的使用者不允許被其他使用者使用。但這個概念sugroup
在Ubuntu中是不存在的。在Ubuntu下如何實現呢?
我在 中做了以下條目/etc/pam.d/su
:
auth required pam_wheel.so group=sulogin
我創建了以下內容:
- 一個名為的群組
sulogin
,供允許使用者使用的使用者使用 - 不屬於的用戶
sulogin
是user1
和user2
- 屬於的使用者
sulogin
是admin1
和admin2
現在,當我登入user1
並嘗試 suadmin1
或 時admin2
,我不被允許這樣做。這是按照我的要求。當我登入user1
並嘗試 su to時user2
,我不允許這樣做。這不符合我的要求(儘管原始問題中沒有明確提到我的要求)。
我需要限制所有不在群組中的使用者sulogin
對屬於sulogin
群組的任何使用者進行su-ing。基本上,有 2 個等級的 su 權限。所以在上面提到的場景:
user1
應該能夠su
,user2
反之亦然user1
或不user2
應該能夠su
或admin1
admin2
admin1
應該能夠su
或user1
user2
答案1
Ubuntu 上也有類似的功能,但預設未啟用。查看/etc/pam.d/su
:
# Uncomment this to force users to be a member of group root
# before they can use `su'. You can also add "group=foo"
# to the end of this line if you want to use a group other
# than the default "root" (but this may have side effect of
# denying "root" user, unless she's a member of "foo" or explicitly
# permitted earlier by e.g. "sufficient pam_rootok.so").
# (Replaces the `SU_WHEEL_ONLY' option from login.defs)
# auth required pam_wheel.so
因此,取消註解此auth
行,然後su
將僅限於 group 的成員root
。或者group=sulogin
,如果您想限製到該sulogin
群組,請取消註釋並新增。