На сервере Debian 8, который использует LDAP для аутентификации пользователя (установлены slapd, libpam-ldapd и nslcd), я получаю следующее сообщение в системном журнале, несколько раз, каждый раз, когда системе нужно искать информацию о пользователе в LDAP (например, ввод id [имя пользователя] или установка прав доступа к папке и т. д.)
slap_global_control: unrecognized control: 1.3.6.1.4.1.4203.666.5.16
Этот контроль, по-видимому, является контролем разыменования. Мне не удалось найти какую-либо информацию о нем, за исключением того, что это полезно при хранении базы данных LDAP на нескольких серверах. Это никогда не относится к моим машинам. Я никогда сознательно не активировал этот контроль.
Это делает систему крайне медленной при определенных обстоятельствах, например, когда скрипт импорта пользователей запущен и импортирует большое количество пользователей.
Это сообщение может появляться около ста раз в секунду , когда выполняется импорт пользователя. При однократном вводе «id [username]» в терминале это сообщение появляется около 10 раз в системном журнале.
Дальнейшие исследования показали, что nslcd, вероятно, связано с этим поведением. При запуске nslcd в режиме отладки можно увидеть следующие параметры подключения к серверу LDAP:
nslcd: [e8944a] <group=3000> DEBUG: ldap_initialize(ldapi:///localhost)
nslcd: [e8944a] <group=3000> DEBUG: ldap_set_rebind_proc()
nslcd: [e8944a] <group=3000> DEBUG: ldap_set_option(LDAP_OPT_PROTOCOL_VERSION,3)
nslcd: [e8944a] <group=3000> DEBUG: ldap_set_option(LDAP_OPT_DEREF,0)
nslcd: [e8944a] <group=3000> DEBUG: ldap_set_option(LDAP_OPT_TIMELIMIT,0)
nslcd: [e8944a] <group=3000> DEBUG: ldap_set_option(LDAP_OPT_TIMEOUT,0)
nslcd: [e8944a] <group=3000> DEBUG: ldap_set_option(LDAP_OPT_NETWORK_TIMEOUT,0)
nslcd: [e8944a] <group=3000> DEBUG: ldap_set_option(LDAP_OPT_REFERRALS,LDAP_OPT_ON)
nslcd: [e8944a] <group=3000> DEBUG: ldap_set_option(LDAP_OPT_RESTART,LDAP_OPT_ON)
nslcd: [e8944a] <group=3000> DEBUG: ldap_simple_bind_s(NULL,NULL) (uri="ldapi:///localhost")
Так что, похоже, там отключено DEREF, но моя конфигурация slapd вообще не имеет информации о DEREF, может, именно в этом причина проблемы?
Как можно избежать множественных сообщений о нераспознанных элементах управления?