CentOS 6 SSSD SSH/控制台登录问题

CentOS 6 SSSD SSH/控制台登录问题

我是 SSSD 的新手,但我认为我已经正确配置了它,因为它id {ldap user}返回了多个测试用户的预期 uid 和 gid 值。我使用两台 CentOS 6.4 服务器作为测试机器。一台运行 ApacheDS,另一台运行 SSSD。但是,当我尝试使用其中任何一个用户通过 ssh 或直接在控制台上登录时,我被拒绝访问。我花了几天时间仔细研究 SSSD 日志,但我不知道还能在哪里查看。我不会包含所有配置文件,现在我只想说我authconfig --enablesssd --enablesssdauth --enablelocauthorize --update在客户端服务器上运行了以下内容。查看下面的 SSSD 配置和这里用于 SSSD_Default 日志。请告诉我您希望查看哪些其他日志,我会尽快提取它们。

感谢您的帮助!

猫/etc/sssd/sssd.conf

[sssd]

配置文件版本 = 2
服务 = nss,pam
域 = 默认

调试级别 = 4

[国家安全局]

filter_users = root

调试级别 = 4

[帕姆]

调试级别 = 4

[域/默认]

调试级别 = 4

ldap_tls_reqcert = 从不
auth_provider = ldap
ldap_schema = rfc2307
ldap_search_base = dc=示例,dc=网络
#ldap_group_member = memberUid
id_provider = ldap
ldap_id_use_start_tls = True
chpass_provider = ldap
ldap_uri = ldap://sea-ldap-01.app.example.net:10389
缓存凭据 = False
ldap_tls_cacertdir = /etc/openldap/certs
ldap_tls_cacert = /etc/openldap/certs/sea-ldap-01.pem
entry_cache_timeout = 600
ldap_network_timeout = 3
#ldap_access_filter =
ldap_user_search_base = ou=people,dc=example,dc=net
ldap_group_search_base = ou=组,dc=示例,dc=网络

答案1

根据该日志,SSSD 的 LDAP 提供程序似乎崩溃了,必须重新启动。这就是您被拒绝访问的原因。

具体参见:

(Fri Jun 21 22:42:46 2013) [sssd[be[default]]] [sdap_process_message] (0x4000): Message type: [LDAP_RES_BIND]
(Fri Jun 21 22:42:46 2013) [sssd[be[default]]] [simple_bind_done] (0x2000): Server returned control [1.3.6.1.4.1.42.2.27.8.5.1].

然后它进入

(Fri Jun 21 22:42:46 2013) [sssd[be[default]]] [server_setup] (0x0400): CONFDB: /var/lib/sss/db/config.ldb
(Fri Jun 21 22:42:46 2013) [sssd[be[default]]] [recreate_ares_channel] (0x0100): Initializing new c-ares channel
(Fri Jun 21 22:42:46 2013) [sssd[be[default]]] [resolv_get_family_order] (0x1000): Lookup order: ipv4_first

这些行表明服务器正在重新启动。我猜想可能是在客户端上处理 ldap 密码策略时出了问题,因为崩溃前最后一件事是对 ldap_pwd_exop 的 LDAP 代码的引用。

检查 /var/log/messages 以查找崩溃迹象并向 CentOS 提交错误报告。理想情况下,安装 sssd、openldap 和 ding-libs 软件包的 debuginfo,然后使用 gdb 附加到 sssd_be 进程并获取崩溃的回溯以包含在错误报告中。

相关内容