Да, способ есть. Вам нужно добавить наложение журнала аудита, а затем настроить его. Ниже приведены примеры наложения и конфигурации (внизу). Это просто покажет изменения, сделанные любым пользователем:
- SNIPPET OF cn = admin base -
# module {0}, config
dn: cn = модуль {0}, cn = config
objectClass: olcModuleList
cn: модуль {0}
olcModulePath: / usr / lib64 / openldap
olcModuleLoad: {0} accesslog.la
olcModuleLoad: {1} syncprov.la
olcModuleLoad: {2} back_bdb.la
olcModuleLoad: {3} auditlog.la # ЭТО ТО, ЧТО ВАМ НУЖНО
# {1} auditlog, {2} bdb, config
dn: olcOverlay = {1} auditlog, olcDatabase = {2} bdb, cn = config
objectClass: olcOverlayConfig
objectClass: olcAuditlogConfig
olcOverlay: {1} журнал аудита
файл olcAuditlog: /opt/ldap/logs/auditlog.log
----------------------------------- ----------------
Для включения с помощью ldapmodify / add:
ldapmodify -x -D "cn = admin, cn = config" -W
dn: cn = модуль {0}, cn = config
changetype: изменить
добавить: olcModuleList
olcModuleLoad: auditlog.laldapadd -x -D "cn = admin, cn = config" -W
dn: olcOverlay = {1} auditlog, olcDatabase = {2} bdb, cn = config
objectClass: olcOverlayConfig
objectClass: olcAuditlogConfig
olcOverlay: auditlog
olcAuditlogFile: /opt/ldap/logs/auditlog.log
Как насчет использования slapcat
для дампа базы данных, а затем использования какой-нибудь системы контроля версий, например git
, для отслеживания изменений? Таким образом, вы всегда можете восстановить любое состояние, которое вы сбросили с помощью slapcat.