我应该运行slapindex? root和openldap用户似乎都不可取

我正在按照这些说明在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

您确实可以同时使用rootopenldap作为用户运行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