使用此命令安装 OpenLDAP
# yum -y install openldap openldap-clients openldap-servers
复制参考数据结构:
# cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
通过以下方式生成“test”的密码哈希:
# slappasswd
在文件中/etc/openldap/slapd.d/cn=config/olcDatabase={2}hdb.ldif
添加:
# olcRootPW: {SSHA}5lPFVw19zeh7LT53hQH69znzj8TuBrLv
# olcSuffix: dc=mydomain,dc=com
# olcRootDN: cn=admin,dc=mydomain,dc=com
在文件中/etc/openldap/slapd.d/cn=config/olcDatabase={1}monitor.ldif
添加:
# olcAccess: {0}to * by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=external ,cn=auth" read by dn.base="cn=admin,dc=mydomain,dc=com" read by * none
在文件中/etc/openldap/slapd.d/cn=config/olcDatabase={0}config.ldif
添加:
# olcRootDN: cn=admin,dc=mydomain,dc=com
完成所有这些步骤后,我通过sudo service slapd start
命令启动了服务。
现在我想添加一些基本架构:
# ldapadd -f /etc/openldap/schema/core.ldif -D cn=admin,dc=mydomain,dc=com -w test
在这一步我得到一个错误:
# adding new entry "cn=core,cn=schema,cn=config"
# ldap_add: Insufficient access (50)
如果我使用 olcRootDN,为什么我实际上会收到此错误?
答案1
还需要更改/etc/openldap/slapd.d/cn=config/olcDatabase={0}config.ldif
文件的下一行:
# olcAccess: {0}to * by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" manage by dn.base="cn=admin,dc=mydomain,dc=com" manage by * none
还有补充的manage by dn.base="cn=admin,dc=mydomain,dc=com"
。