有没有什么方法可以限制su
特定的用户群体?
在网上搜索后,我偶然发现了 IBM AIX 的概念sugroup
。每当创建用户时,sugroup
都可以设置属性;并且只有该组的成员才允许 su 为该用户。
sugroup
可以通过创建一个仅包含允许 su 的某些用户的组来帮助我解决问题。分配sugroup
意味着该组之外的用户不允许被其他用户 su。但这个概念sugroup
在 Ubuntu 中不可用。如何在 Ubuntu 中实现?
我做了以下输入/etc/pam.d/su
:
auth required pam_wheel.so group=sulogin
我创建了以下内容:
- 一个名为的组
sulogin
,供允许 su 的用户使用 - 不属于的用户
sulogin
是user1
user2
- 属于的用户
sulogin
是admin1
和admin2
现在,当我以 身份 登录user1
并尝试 su 到admin1
或 时admin2
,我被禁止这样做。这符合我的要求。当我以 身份 登录user1
并尝试 su 到 时user2
,我被禁止这样做。这不符合我的要求(尽管原始问题中没有明确提到我的要求)。
我需要限制所有不属于该组的用户sulogin
对属于sulogin
该组的任何用户的 su 权限。基本上,su 权限有 2 个级别。因此,在上述场景中:
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
则将仅限于组 成员。或者,如果您想限制为组,root
请取消注释并添加。group=sulogin
sulogin