我正在按照这些说明在Debian 6.0上安装OpenLDAP。
这些指令告诉我以root身份运行slapindex ,但听起来像Debian不喜欢这个想法:
WARNING! Runnig as root! There's a fair chance slapd will fail to start. Check file permissions!
Google引导我进行讨论 ,build议将slapindex作为openldap运行。 我发现它很奇怪,因为slapindex不在openldap的$ PATH中。
哪个用户应该运行slapindex ?
如果不是root ,为什么slapindex在/usr/sbin ?
您确实可以同时使用root和openldap作为用户运行slapindex ,但是如果您以root身份执行操作,请不要忘记将OpenLDAP数据目录权限更改回openldap:openldap如果您这样做)。 例如,
chown -R openldap:openldap /var/lib/ldap/
为什么slapindex在/usr/sbin ,我不知道。 也许是因为它是一个非常强大和潜在的危险的工具,应该使用那些能够成为根的人。
如果不是root,为什么slapindex在/ usr / sbin中?
根据FHS (文件系统层次结构标准),/ usr / sbin用于非必要的系统二进制文件,例如各种networking服务的守护进程。
在CentOS上,以root身份执行slapindex后,您应该将/ var / lib / ldap中的索引所有者更改为默认ldap的ldap用户。 你可以试着用su来代替
# su - <ldap_user> -s /bin/bash /usr/sbin/slapindex