slapd在直接调用时启动,但不会从systemctl启动

时间:2018-06-19 01:05:52

标签: permissions ldap openldap slapd

在这里运行fedora 27。我试图从一个新的openldap安装运行slapd。当我尝试使用public static String getVar(String name){ if(name.equals("name")) return "Paulo"; return "15"; } 运行时,守护程序无法启动。 journalctl给出以下输出:

------------------------------------
Back reference:name
------------------------------------
Back reference:age
My name is Paulo and I am 15 years old.

但是,如果我直接使用systemctl start openldap运行守护程序,则守护程序启动时没有问题。

我的systemctl脚本如下:

Jun 19 00:30:25  slapd[1325]: @(#) $OpenLDAP: slapd 2.4.45 (Dec  6 2017 14:25:36) $
                                                                    mockbuild@buildhw-08.phx2.fedoraproject.org:/builddir/build/BUILD/openldap-2.4.45/openldap-2.4.45/servers/slapd
Jun 19 00:30:25  slapd[1326]: mdb_db_open: database "dc=my-domain,dc=com" cannot be opened: Permission denied (13). Restore from backup!
Jun 19 00:30:25  slapd[1326]: backend_startup_one (type=mdb, suffix="dc=my-domain,dc=com"): bi_db_open failed! (13)
Jun 19 00:30:25  slapd[1326]: slapd stopped.
Jun 19 00:30:25  audit[1326]: AVC avc:  denied  { map } for  pid=1326 comm="slapd" path="/var/lib/ldap/lock.mdb" dev="xvda1" ino=1716389 scontext=system_u:system_r:slapd_t:s0 tcontext=system_u:object_r:slapd_db_t:s0 tclass=file permissive=0

我已经检查了ldap config目录和db目录的权限,它们对于ldap用户来说似乎是正确的:

/usr/sbin/slapd -u ldap -d -1 -h "ldap:/// ldaps:/// ldapi:///"

非常感谢任何建议。

1 个答案:

答案 0 :(得分:0)

似乎您正在使用back-mdb。好。

您的数据库目录 / var / lib / ldap / 是否仅包含文件 lock.mdb

还应该有一个更大的文件,名为 data.mdb ,其中包含实际数据。