LDAP 身份验证和默认组

LDAP 身份验证和默认组

我有多个 RHEL 7.4 服务器,通过 sssd 进行 LDAP 身份验证。方便的是,我大学的 LDAP 环境有一个对于每个人来说都是唯一的 UIDNumber 属性。我的 sssd.conf 在这个问题的末尾。

以下是我对此的疑问:

  • 中央 IT 运行两个 LDAP 环境:Active Directory 和“传统”LDAP,两者的用户名和密码保持同步。我无法在 LDAP 环境中创建组,但我在广告中。有没有办法说“通过 LDAP 对用户进行身份验证,但用户名的 sAMAccountName 必须与其他 LDAP 服务器上的 memberOf 匹配”?就目前而言,当我有很多用户时,我的 ldap_user_search_base 可以变成一个强大的过滤器。

  • 另外,我很想知道是否可以自动为用户创建组。也就是说,当 UID 为 12345 的用户 jsmith 登录时,还有一个 GID 为 12345 的组 jsmith 准备就绪。

谢谢!

[domain/default]
autofs_provider = ldap
cache_credentials = True
ldap_search_base = dc=example,dc=edu
id_provider = ldap
auth_provider = ldap
chpass_provider = ldap
ldap_uri = ldaps://ldap.example.edu:636
ldap_tls_reqcert = never
ldap_default_bind_dn = cn=proxy,ou=proxy-users,dc=example,dc=edu
ldap_default_authtok = lamepassword
ldap_user_object_class = exampleEduPerson
ldap_user_name = uid
ldap_user_uid_number = exampleEduUIDNumber
ldap_user_gid_number = exampleEduGIDNumber
ldap_user_gecos = exampleEduGECOS
ldap_user_uuid = exampleEduUID
ldap_id_mapping = False
override_shell = /bin/bash
override_homedir = /home/%u
debug_level = 5
ldap_user_search_base = uid=jsmith,ou=People,dc=example,dc=edu??
[sssd]
services = nss, pam, autofs
config_file_version = 2
domains = default
[nss]
homedir_substring = /home
[pam]
[sudo]
[autofs]
[ssh]
[pac]
[ifp]

答案1

我不知道如何配置 SSSD,以便您可以从一个用户的不同来源收集信息。即使这是可能的,我也强烈建议不要这样做,以避免不匹配。

我对 LDAP 访问的建议:

  • 使用一个目录作为主要源。 AD可能就是这里的一个。
  • 如果不可能,请确保所需的所有信息都在 LDAP 中。如果您对设计决策有一定影响,您可能会考虑使用其他工具进行同步(我有使用 Univention Corporate Server 作为 LDAP 实例并使用附带的连接器与 AD 同步的经验)
  • 如果这也不可能,您可能需要添加专用服务(第三个 LDAP?)以及一些从不同来源收集所需信息的脚本

我对“每个用户组”的建议:如果确实需要此类组,则应在 LDAP 中完成。否则,您无法确定该组在不同服务器上具有相同的 posix ID。

相关内容