web-dev-qa-db-ja.com

posixAccount objectClassが使用できない場合、LDAPを使用してCentOS7に対して認証する方法は?

目的: LDAPを使用してCentOS7に認証する

問題

1)ユーザーが見つかりません

calling ldap_search_ext with 
[(&(uid=bla)(objectclass=posixAccount)(uid=*)(&(uidNumber=*)(!(uidNumber=0))))][dc=my-domain,dc=com]

2)posixAccountobjectClassが見つかりません

質問

  1. ObjectClass posixAccountを追加する方法は?
  2. このobjectClassタイプが見つからない場合、sssdのルックアップを変更して、このソフトウェアがOpenLDAPでユーザーを見つけ、CentOS7への認証を許可する方法を教えてください。

包括的

1)sssdがインストールされました

2)CentOS7で設定されたsssdを使用したLDAP認証

[root@controller ~]# authconfig --enablesssd --enablesssdauth --enablelocauthorize --update

3)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

5)デバッグ

/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]

6)posixAccountobjectClassを追加できません

enter image description here

1
030

LDAPサーバーが何であるか、またはLDAPディレクトリ内のユーザーがどのように見えるかについては実際には言いませんでしたが、できる限り回答するように努めます。

現時点では、SSSDはPOSIXアカウントのみを提供しています。つまり、サーバー側のユーザーオブジェクトには、名前と数値IDが必要であるか、数値IDがWindowsSIDから推測される必要があります。

実際のobjectClassは実際には重要ではありません。必要なのは、サーバーが使用するobjectClassとIDを含む属性を使用してsssd.confを設定することだけです。詳細についてはman sssd-ldapを参照してください。ただし、関心のある2つの構成オプションはldap_user_uid_numberldap_user_object_classです。

サーバーがMSADの場合、理想的にはid_provider=adを使用する必要があります。これはアルゴリズムでSIDをIDにマップします。

1
jhrozek