如何让 RHEL 查看 access.conf 中的 su -?

如何让 RHEL 查看 access.conf 中的 su -?

我使用该文件/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组的方法。

  1. 将用户添加到wheel组

    $ sudo usermod -G wheel user1
    
  2. 编辑 pam su 文件

    $ sudo  vim /etc/pam.d/su
    
  3. 使该行看起来像以下之一

    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如果用户需要成为其他用户,您可能想要探索使用。

相关内容