Hi All,
This was a side project of mine for some time, and I just ported it to
DS 389. It basically parses the dse.ldif into a readable format. It
groups all the backend info together. So each backend lists its own
indexes, config, replication info, etc. It checks for non default
config settings as well.
It's basically a great way to take a quick look at a customers config:
Here is some sample output:
Reading
/tmp/dse.ldif............................................................................................................
----------------------------------------------------------
Config File Processing Statistics
----------------------------------------------------------
Total Entries: 164
Skipped Entries: 19
------------------------
Processed Entries: 145
----------------------------------------------------------
Cache Sizes
----------------------------------------------------------
Total DB Cache: 9,765 Kb (10000000 bytes)
Total Entry Cache: 10,240 Kb (10485760 bytes)
--------------------------------------------------
Total Cache Size: 19 Mb, 20,005 Kb, (20485760 bytes)
----------------------------------------------------------
Main Configuration
----------------------------------------------------------
-> errorlog-level: 65536
accesslog-logging-enabled: on
accesslog-logrotationsync-enabled: off
accesslog-logrotationsynchour: 0
accesslog-logrotationsyncmin: 0
accesslog-logrotationtime: 1
accesslog-logrotationtimeunit: day
accesslog-maxlogsize: 100
accesslog-maxlogsperdir: 10
accesslog-mode: 600
accesslog: /var/log/dirsrv/slapd-localhost/access
allow-anonymous-access: on
allow-unauthenticated-binds: off
auditlog-logging-enabled: on
auditlog-logrotationtime: 1
auditlog-logrotationtimeunit: day
auditlog-maxlogsize: 100
auditlog-mode: 600
auditlog: /var/log/dirsrv/slapd-localhost/audit
bakdir: /var/lib/dirsrv/slapd-localhost/bak
certdir: /etc/dirsrv/slapd-localhost
dn-validate-strict: off
enquote-sup-oc: off
errorlog-logging-enabled: on
errorlog-logrotationsync-enabled: off
errorlog-logrotationsynchour: 0
errorlog-logrotationsyncmin: 0
errorlog-logrotationtime: 1
errorlog-logrotationtimeunit: week
errorlog-maxlogsize: 100
errorlog-maxlogsperdir: 2
errorlog-mode: 600
errorlog: /var/log/dirsrv/slapd-localhost/errors
instancedir: /usr/lib64/dirsrv/slapd-localhost
ldapifilepath: /var/run/slapd-localhost.socket
ldapilisten: off
ldifdir: /var/lib/dirsrv/slapd-localhost/ldif
localhost: localhost.localdomain
localssf: 71
localuser: nobody
lockdir: /var/lock/dirsrv/slapd-localhost
max-filter-nest-level: 40
maxdescriptors: 1024
minssf: 0
port: 389
require-secure-binds: off
return-exact-case: on
rewrite-rfc1274: off
rootdn: cn=dm
rootpw: {SSHA}VBmupFhRJ90LC3YxnnD+rGTl8xYSPWqumGATiw==
rundir: /var/run/dirsrv
schemacheck: on
schemadir: /etc/dirsrv/slapd-localhost/schema
ssl-check-hostname: on
syntaxcheck: on
tmpdir: /tmp
validate-cert: warn
----------------------------------------------------------
LDBM Database Configuration
----------------------------------------------------------
lookthroughlimit: 5000
mode: 600
idlistscanlimit: 4000
directory: /var/lib/dirsrv/slapd-localhost/db
dbcachesize: 10000000
db-logdirectory: /var/lib/dirsrv/slapd-localhost/db
db-durable-transaction: on
db-checkpoint-interval: 60
db-transaction-batch-val: 0
db-logbuf-size: 0
db-private-import-mem: on
import-cache-autosize: -1
import-cachesize: 20000000
idl-switch: new
search-bypass-filter-test: on
search-use-vlv-index: on
exclude-from-export: entrydn entryid dncomp parentid
numSubordinates tombstonenumsubordinates entryusn
serial-lock: on
subtree-rename-switch: on
pagedlookthroughlimit: 0
pagedidlistscanlimit: 0
----------------------------------------------------------
Backends (1)
----------------------------------------------------------
[1] "cn=userRoot"
-----------------
suffix: dc=example,dc=com
cachesize: -1
cachememsize: 10485760
readonly: off
require-index: off
directory: /var/lib/dirsrv/slapd-localhost/db/userRoot
dncachememsize: 10485760
Indexes:
cn: eq
givenName: pres eq sub
mail: pres eq sub
mailAlternateAddress: eq
mailHost: eq
member: eq
memberOf: eq
ntUniqueId: eq
ntUserDomainId: eq
owner: eq
seeAlso: eq
sn: pres eq sub
telephoneNumber: pres eq sub
uid: eq
uniquemember: eq
* aci: pres
* entrydn: subtree
* entryrdn: subtree
* entryusn: eq
- nsMatchingRule: integerOrderingMatch
* nscpEntryDN: eq
* nsds5ReplConflict: eq pres
* nsuniqueid: eq
* numsubordinates: pres
* objectclass: eq
* parentid: eq
----------------------------------------------------------
Plugins (72)
----------------------------------------------------------
[72] "cn=SHA256,cn=Password Storage Schemes"
--------------------------------------------
pluginDescription: Secure Hashing Algorithm (SHA256)
pluginEnabled: on
pluginId: sha256-password-storage-scheme
pluginInitfunc: sha256_pwd_storage_scheme_init
pluginPath: libpwdstorage-plugin
pluginType: pwdstoragescheme
pluginVendor: 389 Project
pluginVersion: 1.2.10.rc1.gita55c91e
...
...
...
...
...
[1] "cn=ldbm database"
----------------------
plugin-depends-on-type: Syntax
plugin-depends-on-type: matchingRule
pluginDescription: high-performance LDAP backend database plugin
pluginEnabled: on
pluginId: ldbm-backend
pluginInitfunc: ldbm_back_init
pluginPath: libback-ldbm
pluginType: database
pluginVendor: 389 Project
pluginVersion: 1.2.10.rc1.gita55c91e
----------------------------------------------------------
Last 25 Modified Entries
----------------------------------------------------------
[1] Sun Feb 2 21:46:58 2012 cn=uniqueid generator,cn=config
[2] Sun Jan 31 14:57:10 2012
cn=description,cn=index,cn=userroot
[3] Sun Jan 30 23:15:36 2012 cn=entrydn,cn=index,cn=userRoot
[4] Sun Jan 27 18:10:54 2012 cn=cn,cn=index,cn=userRoot
[5] Sun Jan 11 22:34:36 2012 cn=default instance
config,cn=chaining database,cn=plugins,cn=config
[6] Sun Jan 11 22:34:36 2012 cn=replication,cn=config
...
...
...
Please let me know if you find any bugs or have any RFE's
Enjoy,
Mark