Second corruption in one day. Trying to add module using ldif
dn: cn=module{0},cn=config
objectClass: olcModuleList
cn: module{0}
olcModulePath: /usr/lib64/openldap/
olcModuleLoad: slapd-sha2.so
As it was not working correctly I tried to remove this module. This is not implemented!!! You can delete a module once it is added.
I created a backup file of this config file. When manual edit failed, I moved the backup file back in. This is the result
[user@server cn=config]# service slapd configtest
Checking configuration files for slapd: [FAILED]
54758693 ldif_read_file: Permission denied for "/etc/openldap/slapd.d/cn=config/cn=module{0}.ldif"
slaptest: bad configuration file!
This happened after I already did complete remove and install of OpenLDAP.
So OpenLDAP does perform world class checking of manual edits rendering instances useless when config files are changed. It is a lot more permissive accepting config changes through the official interface even accepting changes that corrupt the instance.
I know I can use other directory servers. But I also think that the OpenLDAP community should not claim to offer good encryption of password when out-of-the-bot you get NO encryption and you have to first become an OpenLDAP core developer to get this good encryption.