Форум проекта Pro-LDAP.ru
Администрирование OpenLDAP => Конфигурация через cn=config => Тема начата: elms от 08 Август 2018, 12:42:05
-
Егор, добрый день.
Подключили модуль accesslog к базе.
Настроили логирование на выполнение определенных операций (добавление, изменение, удаление).
Можно ли настроить, чтобы логирование выполнялось только для определенных объектных классов или каталога?
Например, логирование производится для всей базы dc=testtest, а хотелось бы, чтобы только для объектов с объектным классом objectClass=test, либо для каталога и всех его подкаталогов dc=raz,dc=testtest.
-
Нет, фильтрации по классам объектов не реализована.
Но можете попробовать добавить, примерно вот в это место в коде (https://github.com/leo-yuriev/ReOpenLDAP/blob/21d5c6ff184024f5d86d1e9caf740e0adba8a145/servers/slapd/overlays/accesslog.c#L1997-L2006).
-
Всё, нашёл.
По каталогу возможно.
Достаточно отказаться от параметра olcAccessLogOps и использовать параметр olcAccessLogBase
-
Не обратил внимания, что фильтрации по суффиксу вам достаточно (такой функционал конечно есть).
Но отказываться от olcAccessLogOps не обязательно. Точнее говоря olcAccessLogOps olcAccessLogBase действуют параллельно.
Посредством olcAccessLogOps можно задать список операций для всех суффиксов, а посредством olcAccessLogBase добавить операции для конкретных суффиксов.
Когда-то был запрос добавить в ReOpenLDAP возможность выключать accesslog для отдельных суффиксов или глобально по списку операций, т.е. добавить "выключательные" аналоги olcAccessLogOps и olcAccessLogBase.
Но постепенно такая потребность "рассосалась" (сначала было обнаружено что порча данных была из-за репликации, а потом я починил репликацию).