nslcd 中 pam_authz_search 选项的 SSSD 替代方案

nslcd 中 pam_authz_search 选项的 SSSD 替代方案

我有基于 RHEL 7 和 8 的服务器。RHEL 7 服务器使用 nslcd 与 LDAP 服务器协同工作,RHEL 8 使用 SSSD。

对于 RHEL 7,我可以仅向用户提供对允许的主机的访问权限。此功能由 nslcd.conf 中的选项涵盖:

pam_authz_search        (&(objectClass=posixAccount)(uid=$uid)(|(host=$hostname.\*)(host=\\*)))

我使用选项“主机=$主机名.\* “对于拥有允许服务器列表的普通用户,”主机=\\*” 用于 ldap 主机属性为 * 的管理员。

SSSD 具有选项 ldap_access_filter 并具有以下设置:

ldap_access_filter = (objectClass=posixAccount)

所有用户都可以登录到所有 RHEL 8 机器,这是我想要避免的。

是否可以将主机选项添加到 ldap_access_filter,就像我在旧服务器上的 nslcd.conf 中所做的那样?

先感谢您。

更新:

ldap_access_filter = (&(objectClass=posixAccount)(host=\*))

适用于 ldapsearch 主机属性中带有 * 的管理员:

~$ ldapsearch -LLL -Q -Z uid=admin-user host
dn: uid=admin-user,ou=People,dc=my,dc=domain,dc=net
host: *

我也可以直接指定服务器名称:

ldap_access_filter = (&(objectClass=posixAccount)(host=servername.example.lan))

并且它也适用于列表中拥有此服务器的用户:

~$ ldapsearch -LLL -Q -Z uid=a-testuser host
dn: uid=a-testuser,ou=People,dc=my,dc=domain,dc=net
host: servername.example.lan

但是我怎样才能使用变量或特殊字符*或者\*?

相关内容