Как пройти проверку подлинности к CentOS7 с помощью LDAP, если posixAccount objectClass недоступен?

Цель: пройдите проверку подлинности к CentOS7 с помощью LDAP

Проблемы

1) Пользователь не может быть найден

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

2) posixAccount objectClass, не найденный

Вопросы

  1. Как добавить objectClass posixAccount?
  2. Если этот тип objectClass не может быть найден, как изменить поиск sssd разрешение этого программного обеспечения найти пользователя в OpenLDAP и позволить аутентификацию CentOS7?

Всесторонний

1) sssd установленный

2) аутентификация LDAP с помощью sssd настроенный на CentOS7

[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) Не мог добавить a posixAccount objectClass

enter image description here

1
задан 3 July 2015 в 01:44
1 ответ

На самом деле вы не сказали, что такое ваш LDAP сервер и как выглядит пользователь в вашей LDAP директории, но я постараюсь ответить как можно лучше.

На данный момент SSSD обслуживает только POSIX-аккаунты. Это означает, что объект пользователя на стороне сервера либо должен иметь имя и числовые идентификаторы, либо числовые идентификаторы должны быть выведены из Windows SID.

На самом деле, реальный объект Класс не имеет значения. Все, что вам нужно, это настроить sssd.conf с помощью objectClass, используемого вашим сервером, и атрибута, содержащего ID. Смотрите man sssd-ldap для более подробной информации, но два варианта конфигурирования, которые могут вас заинтересовать - это ldap_user_uid_number и ldap_user_object_class.

Если сервер является MSAD, то в идеале следует использовать id_provider=ad, который алгоритмически сопоставляет SID-ы с ID-ами.

.
1
ответ дан 4 December 2019 в 00:04

Теги

Похожие вопросы