4.4. 为域用户管理登录权限
默认情况下,会应用域端的访问控制,这意味着 Active Directory(AD)用户的登录策略在 AD 域本身中定义。可覆盖此默认行为,以便使用客户端的访问控制。使用客户端侧访问控制时,登录权限仅由本地策略定义。
如果域应用客户端访问控制,您可以使用 realmd
为来自该域的用户配置基本的允许或拒绝访问规则。
访问规则可以允许或拒绝对系统中所有服务的访问。必须在特定系统资源或域中设置更具体的访问规则。
4.4.1. 启用对域中用户的访问
默认情况下,Active Directory(AD)用户的登录策略在 AD 域本身中定义。按照以下流程覆盖此默认行为,并配置 RHEL 主机,以便为 AD 域中的用户启用访问权限。
不建议默认允许所有用户访问,只使用 realm 权限 -x
指定要被拒绝的用户反之,红帽建议为所有用户维护默认的 no access 策略,且只使用域允许为所选用户授予访问权限。
先决条件
- 您的 RHEL 系统是 Active Directory 域的成员。
流程
授予对所有用户的访问权限:
# realm permit --all
授予对特定用户的访问权限:
$ realm permit aduser01@example.com $ realm permit 'AD.EXAMPLE.COM\aduser01'
目前,您只能允许访问主域中的用户,而不允许访问可信域中的用户。这是因为用户登录必须包含域名,SSSD 目前无法提供 realmd
可用子域的信息。
验证
使用 SSH 以
aduser01@example.com
用户身份登录到服务器:$ ssh aduser01@example.com@server_name [aduser01@example.com@server_name ~]$
使用 ssh 命令第二次访问同一服务器,此时与
aduser02@example.com
用户身份进行以下操作:$ ssh aduser02@example.com@server_name Authentication failed.
请注意 aduser02@example.com
用户是如何拒绝对该系统的访问的。您只为 aduser01@example.com
用户授予登录系统的权限。由于指定的登录策略,来自该 Active Directory 域的所有其他用户都将被拒绝。
如果在 sssd.conf
文件中将 use_fully_qualified_names
设置为 true,则所有请求都必须使用完全限定域名。但是,如果您将 use_fully_qualified_names
设置为 false,则可以在请求中使用完全限定名称,但输出中只会显示简化的版本。
其他资源
-
请参阅您系统中的
realm (8)
手册页。
4.4.2. 拒绝对域中用户的访问
默认情况下,Active Directory(AD)用户的登录策略在 AD 域本身中定义。按照以下流程覆盖此默认行为,并将 RHEL 主机配置为拒绝对 AD 域中用户的访问。
仅允许访问特定用户或组比拒绝访问某些用户或组而允许访问其他所有用户或组要安全。因此,不建议默认允许所有用户访问,只使用 realm 权限 -x
指定要被拒绝的用户反之,红帽建议为所有用户维护默认的 no access 策略,且只使用域允许为所选用户授予访问权限。
先决条件
- 您的 RHEL 系统是 Active Directory 域的成员。
流程
拒绝对域内所有用户的访问:
# realm deny --all
此命令可防止
realm
帐户登录到本地计算机。使用realm permit
来限制登陆到特定账户。验证域用户的
login-policy
被设置为deny-any-login
:[root@replica1 ~]# realm list example.net type: kerberos realm-name: EXAMPLE.NET domain-name: example.net configured: kerberos-member server-software: active-directory client-software: sssd required-package: oddjob required-package: oddjob-mkhomedir required-package: sssd required-package: adcli required-package: samba-common-tools login-formats: %U@example.net login-policy: deny-any-login
使用
-x
选项拒绝对特定用户的访问:$ realm permit -x 'AD.EXAMPLE.COM\aduser02'
验证
使用 SSH 以
aduser01@example.net
用户身份登录到服务器。$ ssh aduser01@example.net@server_name Authentication failed.
如果在 sssd.conf
文件中将 use_fully_qualified_names
设置为 true,则所有请求都必须使用完全限定域名。但是,如果您将 use_fully_qualified_names
设置为 false,则可以在请求中使用完全限定名称,但输出中只会显示简化的版本。
其他资源
-
请参阅您系统中的
realm (8)
手册页。