Ldap
如果 posixAccount objectClass 不可用,如何使用 LDAP 對 CentOS7 進行身份驗證?
**目的:**使用 LDAP 對 CentOS7 進行身份驗證
問題
- 找不到使用者
calling ldap_search_ext with [(&(uid=bla)(objectclass=posixAccount)(uid=*)(&(uidNumber=*)(!(uidNumber=0))))][dc=my-domain,dc=com]
- posixAccount objectClass 未找到
問題
- 如何添加對像類
posixAccount
?- 如果找不到這個objectClass類型,如何更改
sssd
允許該軟體在OpenLDAP中找到使用者並允許認證到CentOS7的查找?綜合的
1)
sssd
安裝
- CentOS7 上配置的 sssd 的 ldap 認證
[root@controller ~]# authconfig --enablesssd --enablesssdauth --enablelocauthorize --update
- 啟用sssd調試
/etc/sssd/sssd.conf [domain/default] autofs_provider = ldap cache_credentials = True krb5_realm = # ldap_search_base = dc=my-domain,dc=com id_provider = ldap auth_provider = ldap chpass_provider = ldap ldap_uri = ldap://<ipaddress>/ ldap_tls_cacertdir = /etc/openldap/cacerts debug_level = 9
4)使用LDAP測試登錄
[root@controller ~]# id Manager id: Manager: no such user
- 調試
/var/log/sssd/sssd_default.log
(Thu Jul 2 22:31:46 2015) [sssd[be[default]]] [sdap_search_user_next_base] (0x04 00): Searching for users with base [dc=my-domain,dc=com] (Thu Jul 2 22:31:46 2015) [sssd[be[default]]] [sdap_print_server] (0x2000): Sear ching <ipaddress> (Thu Jul 2 22:31:46 2015) [sssd[be[default]]] [sdap_get_generic_ext_step] (0x040 0): calling ldap_search_ext with [(&(uid=bla)(objectclass=posixAccount)(uid=*)(&( uidNumber=*)(!(uidNumber=0))))][dc=my-domain,dc=com]. (Thu Jul 2 22:31:46 2015) [sssd[be[default]]] [sdap_get_generic_ext_step] (0x100 0): Requesting attrs: [objectClass]
- 無法添加對像
posixAccount
類
您並沒有真正說出您的 LDAP 伺服器是什麼或您的 LDAP 目錄中的使用者是什麼樣的,但我會盡我所能嘗試回答。
目前,SSSD 僅服務於 POSIX 帳戶。這意味著伺服器端的使用者對像要麼必須具有名稱和數字 ID,要麼必須從 Windows SID 推斷出數字 ID。
實際的 objectClass 並不重要。您只需要使用伺服器使用的 objectClass 和包含 ID 的屬性來配置 sssd.conf。有關
man sssd-ldap
更多詳細資訊,請參閱,但您可能感興趣的兩個配置選項是ldap_user_uid_number
和ldap_user_object_class
。如果伺服器是 MSAD,則理想情況下應使用
id_provider=ad
將 SID 映射到 ID 的算法。