我使用该文件/etc/security/access.conf
来规定哪些用户可以访问服务器:
+ : root : LOCAL
+ : user1 : ALL
+ : user2 : ALL
+ : user3 : ALL
- : ALL : ALL
这对于新的 SSH 会话效果很好。只有这 3 个用户可以通过 SSH 访问服务器。不幸的是,登录后他们可以用来su -
切换到所有其他用户。
我怎样才能su -
同时关注该/etc/security/access.conf
文件,以便 user1/2/3 是唯一可以通过 SSH 使用的用户?
答案1
我怎样才能让su - 还要注意/etc/security/access.conf
您需要在 中添加以下条目/etc/pam.d/su
,以便/etc/security/access.conf
用于su -
session required pam_access.so
曼 pam_access
pam_access PAM模块主要用于访问管理。它提供基于登录名、主机名或域名、互联网地址或网络号的 logdaemon 风格的登录访问控制,或者在非网络登录的情况下基于终端线路名称。
默认情况下,如果您未指定其他文件,则从配置文件 /etc/security/access.conf 获取访问管理规则
答案2
我怎样才能
su -
同时关注该/etc/security/access.conf
文件,以便 user1/2/3 是唯一可以通过 SSH 使用的用户?
su
其实是在关注你的/etc/security/access.conf
。问题在于,一旦这些用户通过 SSH 登录后打开 shell,他们实际上就是本地用户。他们使用 SSH 访问计算机这一事实并不会使他们的会话与 TTY 上的本地登录有任何不同。
我认为你不能也不应该阻止他们运行su
。当然,您可以尝试限制读取/执行权限以su
防止他们运行它,但这可能会破坏东西。
答案3
您可以尝试这种使用wheel
组的方法。
将用户添加到wheel组
$ sudo usermod -G wheel user1
编辑 pam su 文件
$ sudo vim /etc/pam.d/su
使该行看起来像以下之一
auth required /lib/security/pam_wheel.so use_uid -or- auth required pam_wheel.so use_uid
例子
在我的 Fedora 14 系统上,该/etc/pam.d/su
文件如下所示:
# Uncomment the following line to require a user to be in the "wheel" group.
#auth required pam_wheel.so use_uid
因此,只需取消注释该行即可,这样只有wheel
组中的用户才能访问该su
命令。
你应该这样做吗?
我可能会鼓励您不要这样做。sudo
如果用户需要成为其他用户,您可能想要探索使用。