gpt4 book ai didi

linux - 使用 Samba 4 的 SSSD 身份验证

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:22:43 25 4
gpt4 key购买 nike

我最近在 RHEL 6.3 平台上从 samba 3.5 升级到 samba 4。令人高兴的是,新版本可以替代AD DC,并拥有自己构建的kdc和ldb数据库。现在我的意图是通过 ldap 连接使 linux box 对 samba4 进行身份验证,因为 samba 4 的工作方式类似于 kerberized ldap 服务器。我能够使用管理员 dn 使用 Apache directory studio 连接到 ldap 数据库。但是,我无法在 RHEL 6 客户端计算机上正确配置 sssd 以通过 ldap 对 samba 服务器进行身份验证。这是我的 sssd 配置文件-

[sssd]
config_file_version = 2
reconnection_retries = 3
sbus_timeout = 30
services = nss, pam
domains = default

[nss]
filter_groups = root
filter_users = root
reconnection_retries = 3

[pam]
reconnection_retries = 3

[domain/default]
ldap_default_authtok_type = password
ldap_id_use_start_tls = False
cache_credentials = True
ldap_group_object_class = group
ldap_search_base = <My Domain dn>
chpass_provider = krb5
ldap_default_authtok = <Administrator Password>
id_provider = ldap
auth_provider = krb5
ldap_default_bind_dn = cn=Administrator,cn=Users,<My Domain dn>
ldap_user_gecos = displayName
debug_level = 0
ldap_uri = ldap://<samba_server_hostname>/
krb5_realm = <krb auth realm(same as domain name)>
krb5_kpasswd = <samba_server_hostname>
ldap_schema = rfc2307bis
ldap_force_upper_case_realm = True
ldap_user_object_class = person
ldap_tls_cacertdir = /etc/openldap/cacerts
krb5_kdcip = <samba_server_hostname>

我可以在客户端成功为管理员运行 kinit,并且我可以在以管理员身份绑定(bind)时运行 ldapsearch,但任何用户的 id 或 getent passwd 都不起作用。有什么想法吗??

最佳答案

我终于让它工作了。事实证明,ldb 数据库中的用户条目没有 posixAccount objectclass 和 uidNumber/gidnumber 属性。添加它们并使用 gnu-tls 支持重新编译 samba4 后,linux 能够针对 samba4 AD DC 进行身份验证,就像通过 tls 对 ldap 数据库进行身份验证一样。我想我必须编写一个脚本,以便在添加每个用户条目后立即将必要的对象类和属性添加到它们。

关于linux - 使用 Samba 4 的 SSSD 身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18825848/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com