2016-06-06 7 views
1

Ich versuche, zweite slapd-Instanz auf Port 400 zu starten und/var/log/syslog meldet den Fehler aus Titel. Die Schritte, die ich bisher teilgenommen haben, sind:Berechtigung verweigert für /etc/ldap2/slapd.d/cn=config.ldif

das ist das ist Ausgabe von/var/log/syslog:

Jun 6 12:39:39 luka-VB-Ubuntu slapd2[3138]: @(#) $OpenLDAP: slapd (Ubuntu) (Sep 15 2015 18:19:13) $#012#[email protected]:/build/openldap-2QUgtL/openldap-2.4.31/debian/build/servers/slapd 
Jun 6 12:39:39 luka-VB-Ubuntu slapd2[3138]: ldif_read_file: Permission denied for "/etc/ldap2/slapd.d/cn=config.ldif" 
Jun 6 12:39:39 luka-VB-Ubuntu slapd2[3138]: slapd stopped. 
Jun 6 12:39:39 luka-VB-Ubuntu slapd2[3138]: connections_destroy: nothing to destroy. 
Jun 6 12:39:39 luka-VB-Ubuntu kernel: [11912.288340] audit: type=1400 audit(1465209579.742:68): apparmor="DENIED" operation="open" profile="/usr/sbin/slapd" name="/etc/ldap2/slapd.d/cn=config.ldif" pid=3138 comm="slapd2" requested_mask="r" denied_mask="r" fsuid=117 ouid=117 

EDIT:

Dies sind die Berechtigungen für diese Datei und für das Verzeichnis es in (/etc/ldap2/slapd.d/) befindet:

drwxr-xr-x 3 openldap openldap 4096 Jun 6 15:16 ./ 
drwxr-xr-x 5 root  root  4096 Jun 1 14:23 ../ 
drwxr-x--- 3 openldap openldap 4096 Jun 1 14:23 cn=config/ 
-rw------- 1 openldap openldap 480 Jun 6 15:16 cn=config.ldif 

und diese sind für die cn = config/dir:

drwxr-x--- 3 openldap openldap 4096 Jun 1 14:23 . 
drwxr-xr-x 3 openldap openldap 4096 Jun 6 15:16 .. 
-rw-rw-rw- 1 openldap openldap 436 Jun 1 14:23 cn=module{0}.ldif 
drw-rw-rw- 2 openldap openldap 4096 Jun 1 14:23 cn=schema 
-rw-rw-rw- 1 openldap openldap 378 Jun 1 14:23 cn=schema.ldif 
-rw-rw-rw- 1 openldap openldap 396 Jun 1 14:23 olcBackend={0}hdb.ldif 
-rw-rw-rw- 1 openldap openldap 513 Jun 1 14:23 olcDatabase={0}config.ldif 
-rw-rw-rw- 1 openldap openldap 657 Jun 1 14:23 olcDatabase={-1}frontend.ldif 
-rw-rw-rw- 1 openldap openldap 1131 Jun 1 14:23 olcDatabase={1}hdb.ldif 

Die Berechtigungen für gleichwertige Standarddateien sind wie folgt (/etc/ldap/slapd.d/):

und für die cn = config /:

drwxr-x--- 3 openldap openldap 4096 Mar 18 14:06 . 
drwxr-xr-x 3 openldap openldap 4096 Mar 18 13:51 .. 
-rw------- 1 openldap openldap 436 Mar 18 13:51 cn=module{0}.ldif 
drwxr-x--- 2 openldap openldap 4096 Mar 18 13:51 cn=schema 
-rw------- 1 openldap openldap 378 Mar 18 13:51 cn=schema.ldif 
-rw------- 1 openldap openldap 396 Mar 18 13:51 olcBackend={0}hdb.ldif 
-rw------- 1 openldap openldap 513 Mar 18 13:51 olcDatabase={0}config.ldif 
-rw------- 1 openldap openldap 657 Mar 18 13:51 olcDatabase={-1}frontend.ldif 
-rw------- 1 openldap openldap 1131 Mar 18 14:06 olcDatabase={1}hdb.ldif 
+0

Die benannte Datei muss von slapd sowohl lesbar als auch beschreibbar sein, ebenso die angrenzenden Dateien und Verzeichnisse und deren Inhalt rekursiv bis zum Schließen. – EJP

+0

Sie meinen, der Inhalt von/etc/ldap2 muss von slapd lesbar und schreibbar sein (ich nehme an, Sie meinen openldap user)? – Luka

+0

Ich habe meinen ursprünglichen Post bearbeitet, aber ich denke, Berechtigungen sind in Ordnung. Wenn überhaupt, hat /etc/ldap2/slapd.d/ sogar mehr als /etc/ldap/slapd.d/. – Luka

Antwort

1

Ich habe gerade in das gleiche Problem auf Ubuntu laufen 1604. Ein Blick in die Protokolle, es stellte sich heraus, eine apparmor Einschränkung zu sein.

slapd[10245]: ldif_read_file: Permission denied for "/home/vagrant/ldap/slapd.d/cn=config.ldif" 
kernel: [77635.949937] audit: type=1400 audit(1489959083.939:65): apparmor="DENIED" operation="open" profile="/usr/sbin/slapd" name="/home/vagrant/ldap/slapd.d/cn=config.ldif" pid=10245 comm="slapd" requested_mask="r" denied_mask="r" fsuid=0 ouid=113 

Wenn Sie den gleichen Fehler haben, dann müssen Sie entweder /etc/apparmor.d/usr.sbin.slapd bearbeiten Sie Ihre Pfade schließen oder einfach nur das Profil deaktivieren mit dem folgenden:

ln -s /etc/apparmor.d/usr.sbin.slapd /etc/apparmor.d/disable/ 
service apparmor reload 

aa-disable slapd macht das gleiche, wenn Sie apparmor-utils installiert haben. Falls Sie die Warnungen trotzdem sehen möchten, verwenden Sie aa-complain slapd.