目的: LDAPを使用してCentOS7に認証する
問題
1)ユーザーが見つかりません
calling ldap_search_ext with
[(&(uid=bla)(objectclass=posixAccount)(uid=*)(&(uidNumber=*)(!(uidNumber=0))))][dc=my-domain,dc=com]
2)posixAccountobjectClassが見つかりません
質問
posixAccount
を追加する方法は?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)posixAccount
objectClassを追加できません
LDAPサーバーが何であるか、またはLDAPディレクトリ内のユーザーがどのように見えるかについては実際には言いませんでしたが、できる限り回答するように努めます。
現時点では、SSSDはPOSIXアカウントのみを提供しています。つまり、サーバー側のユーザーオブジェクトには、名前と数値IDが必要であるか、数値IDがWindowsSIDから推測される必要があります。
実際のobjectClassは実際には重要ではありません。必要なのは、サーバーが使用するobjectClassとIDを含む属性を使用してsssd.confを設定することだけです。詳細についてはman sssd-ldap
を参照してください。ただし、関心のある2つの構成オプションはldap_user_uid_number
とldap_user_object_class
です。
サーバーがMSADの場合、理想的にはid_provider=ad
を使用する必要があります。これはアルゴリズムでSIDをIDにマップします。