將 su 限制為一組用戶

將 su 限制為一組用戶

有沒有辦法限制su特定的使用者群組?

在網路上搜尋時,我發現了 IBM AIX 的概念sugroup。每當建立使用者時,sugroup都可以設定屬性;並且只允許該群組的成員使用該使用者。

sugroup可以透過建立一個僅包含允許 su 的某些使用者的群組來幫助我解決問題。分配sugroup意味著該群組之外的使用者不允許被其他使用者使用。但這個概念sugroup在Ubuntu中是不存在的。在Ubuntu下如何實現呢?

我在 中做了以下條目/etc/pam.d/su

auth required pam_wheel.so group=sulogin

我創建了以下內容:

  • 一個名為的群組sulogin,供允許使用者使用的使用者使用
  • 不屬於的用戶suloginuser1user2
  • 屬於的使用者suloginadmin1admin2

現在,當我登入user1並嘗試 suadmin1或 時admin2,我不被允許這樣做。這是按照我的要求。當我登入user1並嘗試 su to時user2,我不允許這樣做。這不符合我的要求(儘管原始問題中沒有明確提到我的要求)。

我需要限制所有不在群組中的使用者sulogin對屬於sulogin群組的任何使用者進行su-ing。基本上,有 2 個等級的 su 權限。所以在上面提到的場景:

  • user1應該能夠suuser2反之亦然
  • user1或不user2應該能夠suadmin1admin2
  • admin1應該能夠suuser1user2

答案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群組,請取消註釋並新增。

相關內容