Ldap

使用 SSSD 的 LDAP 客戶端身份驗證:組問題

  • October 29, 2021

我已經能夠設置 389 LDAP 伺服器和 SSSD 客戶端身份驗證。但是,每當我在每次登錄後使用 ldap 使用者登錄時,它都會顯示錯誤

ttt@dsl's password: 
Last login: Thu Dec  6 12:52:06 2012
id: cannot find name for group ID 6006

我嘗試了多個不同的使用者和多種類型。我在伺服器端和客戶端都使用 Centos 6。getent shadow 不返回 ldap 使用者,並且 Redhat 拒絕了此功能請求。https://bugzilla.redhat.com/show_bug.cgi?id=751291

或者我應該切換回 nss_ldap/pam_ldap,但我可能無法獲得 sssd 提供的密碼記憶體。

更新:

root@dsl etc]# cat /etc/sssd/sssd.conf 
[domain/default]
ldap_tls_reqcert = never
ldap_id_use_start_tls = True
cache_credentials = True
ldap_search_base = dc=ma,dc=net
#krb5_realm = EXAMPLE.COM
#krb5_server = kerberos.example.com
ldap_group_member = uniquemember
id_provider = ldap
auth_provider = ldap
chpass_provider = ldap
ldap_uri = ldaps://ldap.ma.net
ldap_tls_cacertdir = /etc/openldap/cacerts
krb5_realm = EXAMPLE.COM
krb5_server = kerberos.example.com
enumerate = false
[sssd]
services = nss, pam
config_file_version = 2

#domains = LDAP
domains = 
[nss]
filter_users = root,ldap,named,avahi,haldaemon,dbus,radiusd,news,nscd
[pam]
reconnection_retries = 3
offline_credentials_expiration = 2
offline_failed_login_attempts = 3
offline_failed_login_delay = 5
[sudo]

[autofs]

[ssh]

[root@dsl etc]# 

以使用者身份登錄後,我可以成功執行 id 命令,但仍然想知道為什麼它總是說沒有這樣的組。

[root@ldap02 ~]# ssh ttt@dsl
ttt@dsl's password: 
Last login: Thu Dec  6 13:18:16 2012 from 10.2.3.69
id: cannot find name for group ID 6006
[ttt@dsl ~]$ id ttt
uid=6006(ttt) gid=6006 groups=6006

[root@dsl ~]# groups ttt
ttt : groups: cannot find name for group ID 6006
6006
[root@dsl ~]# groups ttt

最後我能夠解決它。這篇文章對我幫助很大。

這就是我所做的。在 SSSD 端,一切都配置得很好,但是,我沒有配置 LDAP 端。為了讓 Unix 使用者(posix 使用者)正常工作,我們必須創建 posix 組並分配適當的值。

對於每個使用者,除了分配 posix 組 ID 和使用者 ID 之外,您還需要將它們附加到 posix 組。您也可以從 389 管理控制台添加它。創建組時,只需點擊“posix 組”部分。或者從命令提示符使用這篇文章

引用自:https://serverfault.com/questions/455830