Linux

如何在 OpenLDAP 中創建名為“{2}accesslog”的訪問日誌

  • October 30, 2022

我正在嘗試在 ubuntu 上設置 OpenLdap。

以下命令正在嘗試添加 accesslog 數據庫:

ldapmodify -Y EXTERNAL -H ldapi:/// -f test.ldif

當名稱為“ {2}mdb”時,結果為成功:

dn: olcDatabase={2}mdb,cn=config
changetype: add
objectClass: olcDatabaseConfig
objectClass: olcMdbConfig
olcDatabase: {2}mdb
olcDbDirectory: /var/lib/ldap/accesslog
olcSuffix: cn=accesslog
olcRootDN: cn=test,dc=example,dc=com
olcDbIndex: default eq
olcDbIndex: entryCSN,objectClass,reqEnd,reqResult,reqStart

結果如下:

olcDatabase: {-1}frontend
olcDatabase: {0}config
olcDatabase: {1}mdb
olcDatabase: {2}mdb

但是當名稱為“ {2}accesslog”時,結果是失敗的:

dn: olcDatabase={2}accesslog,cn=config
changetype: add
objectClass: olcDatabaseConfig
objectClass: olcMdbConfig
olcDatabase: {2}accesslog
olcDbDirectory: /var/lib/ldap/accesslog
olcSuffix: cn=accesslog
olcRootDN: cn=test,dc=example,dc=com
olcDbIndex: default eq
olcDbIndex: entryCSN,objectClass,reqEnd,reqResult,reqStart

adding new entry "olcDatabase={2}accesslog,cn=config"
ldap_add: Other (e.g., implementation specific) error (80)
   additional info: <olcDatabase> failed init

結果如下:

olcDatabase: {-1}frontend
olcDatabase: {0}config
olcDatabase: {1}mdb

已經有一個名為“ {1}mdb”的數據庫。是否可以將 accesslog 數據庫名稱更改為“ {2}accesslog”?

我有一種感覺,您正在嘗試將 LDAP 用於不打算做的事情。僅當您想要創建單獨的 DIT(即具有不同根的單獨樹)時才需要創建新數據庫。

中的“mdb”部分{1}mdb不是數據庫的名稱,而是它的類型。因此,它不是一個自由格式的條目,因為您需要指定伺服器支持的數據庫類型(“mdb”在這裡是一個安全的選擇)。

引用自:https://serverfault.com/questions/1114367