Redhat系统修改schema或slapd.conf如何生效?

修改了schema文件,且slapd.conf引用了该schema文件,重启ldap服务,为何没有生效?

旧版本的OpenLDAP配置文件一般是slapd.conf(路径可能是/etc/openldap,也可能是/usr/local/openldap,甚至可能是/usr/share/slapd/,不同版本不同安装不同系统都可能不同,可使用locate slapd.conf进行查找正确的路径),而新版本(我测试的新版本是2.4.31)的OpenLDAP服务运行时并不会读取该配置文件,而是从slapd.d目录(一般与slapd.conf在同一目录下)中读取相关信息,也就是说虽然修改了schema文件,但并没有同步修改到slapd.d目录。

那么如何让修改生效?

1、我们需要把slapd.d目录下的数据删掉,然后利用我们在slapd.conf里配置的信息重新生成配置数据。
rm -fr /etc/openldap/slapd.d/

2、执行:slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d/

3、改变slapd.d的属主:chown -R ldap:ldap /etc/openldap/slapd.d

4、重启ldap服务即可:service slapd restart

总结一句脚本:

rm -fr /etc/openldap/slapd.d/*;slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d/;chown -R ldap:ldap /etc/openldap/slapd.d;service slapd restart;

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容