我正在使用 OpenLDAP 测试一些解决方案。我使用 openldap 服务器运行测试箱并检查功能、测试解决方案等。
我想知道是否有办法跟踪对 LDAP 数据库所做的更改。某种变更日志,如果有这种功能,如何在使用 OpenLDAP 服务器 2.4 的 Centos 中启用它
答案1
是的,有办法。您需要添加审计日志覆盖,然后配置它。以下是覆盖和配置的示例(底部)。这将仅显示任何用户所做的更改:
--cn=admin base 的片段--
# module{0},配置
dn:cn=module{0},cn=config
objectClass:olcModuleList
cn:module{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,配置
dn:olcOverlay={1}auditlog,olcDatabase={2}bdb,cn=config
objectClass:olcOverlayConfig
objectClass:olcAuditlogConfig
olcOverlay:{1}auditlog
olcAuditlogFile:/opt/ldap/logs/auditlog.log
---------------------------------------------------
通过 ldapmodify/add 启用:
ldapmodify -x -D "cn=admin,cn=config" -W
dn: cn=module{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
答案2
如何使用slapcat
转储数据库,然后使用一些版本控制系统来git
跟踪更改?这样,您就可以随时恢复使用 slapcat 转储的任何状态。