OpenLDAP

V

vitoek

Jungspund
Hallo zusammen.

Ich versuche seit bereits 3 Tagen einen LDAP(Openldap) Server unter Debian (Ubuntu Edgy) aufzusetzen. Aber irgendwie komme ich nicht weiter. Es gibt im Netz diverse gleiche oder sehr ähnliche Anleitungen. Die klappen irgendwie nicht. Dann habe ich Linuxbu.ch entdeckt und unter Kapitel 3.5 http://www.linuxbu.ch/pdf5/kapitel03.pdf was passendes gefunden. Diese Anleitung ist wesentlich besser, und so kann ich wenigstens ein wenig mehr über Ldap erfahren. Doch ich komme auch damit nicht weiter.

Ich benutze Ubuntu Edgy, installiert ist slapd, libldap, ldap-utils, db4.2.xx

ich habe eine slapd.conf in:
Code:
/etc/ldap
und
Code:
/usr/local/etc/openldap/

die erstere bewirkt nichts, die Modifizierung der zweiten brachte:
Code:
mymachine# slaptest 
/etc/ldap/schema/core.schema: line 128: Duplicate attributeType: "2.5.4.13"
slaptest: bad configuration file!

zudem hab ich kein rcldap Runlevelskript, wie im Buch beschrieben

egal ob ich
Code:
slapd start
oder
Code:
slapd stop
mache kommt beim ldapsearch -x folgendes raus:
Code:
ldapsearch
# extended LDIF
#
# LDAPv3
# base <> with scope subtree
# filter: (objectclass=*)
# requesting: ALL
#

# search result
search: 2
result: 32 No such object

# numResponses: 1

folgendes kommt beim erweiterten ldapsearch nach Anleitung raus:
Code:
ldapsearch -x -D "cn=Manager,dc=apollon,dc=de" -W
Enter LDAP Password: 
ldap_bind: Invalid credentials (49)

was mache ich bloß falsch? Please please HELP!

PS: es ist ein Uniprojekt, also nichts kommerzielles oder so...
 
Zuletzt bearbeitet:
Hi,

ich schlag mich auch schon seit einiger Zeit mit ldap herum und bin da auch noch net so ganz durchgestiegen. Aber nun zu deinen Problemen.

Es gibt nicht immer die blöden rc-startskripte! Die Startskripte liegen im allgemeinen unter/etc/init.d/. Da solltest du mal reingucken.

Das mit dem ldapsearch kann ichnachvollziehen aber kann dir keine Lösung anbieten. Was vielleicht hilfreich wäre wäre deine slapd.conf!

Mfg Frank
 
Code:
 This is the main slapd configuration file. See slapd.conf(5) for more
# info on the configuration options.

#######################################################################
# Global Directives:

# Features to permit
#allow bind_v2

# Schema and objectClass definitions
include         /etc/ldap/schema/core.schema
include         /etc/ldap/schema/cosine.schema
include         /etc/ldap/schema/nis.schema
include         /etc/ldap/schema/inetorgperson.schema

# Schema check allows for forcing entries to
# match schemas for their objectClasses's
schemacheck     on

# Where the pid file is put. The init.d script
# will not stop the server if you change this.
pidfile         /var/run/slapd/slapd.pid

# List of arguments that were passed to the server
argsfile        /var/run/slapd.args

# Read slapd.conf(5) for possible values
loglevel        0

# Where the dynamically loaded modules are stored
modulepath      /usr/lib/ldap
moduleload      back_bdb

#######################################################################
# SSL:
# Uncomment the following lines to enable SSL and use the default
# snakeoil certificates.
#TLSCertificateFile      /etc/ssl/certs/ssl-cert-snakeoil.pem
#TLSCertificateKeyFile   /etc/ssl/private/ssl-cert-snakeoil.key

#######################################################################
# Specific Backend Directives for bdb:
# Backend specific directives apply to this backend until another
# 'backend' directive occurs
backend         bdb
checkpoint 512 30

#######################################################################
# Specific Backend Directives for 'other':
# Backend specific directives apply to this backend until another
# 'backend' directive occurs
#backend                <other>

#######################################################################
# Specific Directives for database #1, of type bdb:
# Database specific directives apply to this databasse until another
# 'database' directive occurs
database        bdb

# The base of your directory in database #1
suffix          "dc=apollon,dc=de"
rootdn          "cn=Manager,dc=apollon,dc=de"
rootpw          geheim
# Where the database file are physically stored for database #1
directory       "/var/lib/ldap"

# Indexing options for database #1
index           objectClass eq

# Save the time that the entry gets modified, for database #1
lastmod         on

# Where to store the replica logs for database #1
# replogfile    /var/lib/ldap/replog

# The userPassword by default can be changed
# by the entry owning it if they are authenticated.
# Others should not be able to see it, except the
# admin entry below
# These access lines apply to database #1 only
access to attrs=userPassword
        by dn="cn=admin,dc=nodomain" write
        by anonymous auth
        by self write
        by * none

# Ensure read access to the base for things like
# supportedSASLMechanisms.  Without this you may
# have problems with SASL not knowing what
# mechanisms are available and the like.
# Note that this is covered by the 'access to *'
# ACL below too but if you change that as people
# are wont to do you'll still need this if you
# want SASL (and possible other things) to work
# happily.
access to dn.base="" by * read

# The admin dn has full write access, everyone else
# can read everything.
access to *
        by dn="cn=admin,dc=nodomain" write
        by * read

# For Netscape Roaming support, each user gets a roaming
# profile for which they have write access to
#access to dn=".*,ou=Roaming,o=morsnet"
#        by dn="cn=admin,dc=nodomain" write
#        by dnattr=owner write

#######################################################################
# Specific Directives for database #2, of type 'other' (can be bdb too):
# Database specific directives apply to this databasse until another
# 'database' directive occurs
#database        <other>

# The base of your directory for database #2
#suffix         "dc=debian,dc=org"
 
du hast rootpw auch verschlüsselt wie in dem dokument angegeben?
 
rootpw ist doch "geheim", also noch im Klartext?
 
das "geheim" musst du mit slappasswd verschlüsseln bzw erstellen und dann den hash in die config eintragen!
 
hi, danke!
hab ich jetzt -- wie startet man slapd eigentlich neu? -- hab jetzt den Rechner neu gestartet.

Habe geheim nun mit slappasswd übersetzt und {SSHA}9KCB+pHgOSMcrKDKzXDAkGfytk4UTu9A in die slapd.conf eingetragen -- muss ich das {SSHA} weglassen?

Dann habe ich wieder ldapsearch wie oben ausgeführt -- mit geheim als passwort (oder muss ich hier auch die verschlüsselte Zeichenfolge eingeben?) -- es kommt der selbe fehler...
 
hi, danke!
hab ich jetzt -- wie startet man slapd eigentlich neu? -- hab jetzt den Rechner neu gestartet.
Du hast dir aber mein Kommentar und die Doku durchgelesen oder? /etc/init.d/slapd start|stop|restart

Habe geheim nun mit slappasswd übersetzt und {SSHA}9KCB+pHgOSMcrKDKzXDAkGfytk4UTu9A in die slapd.conf eingetragen -- muss ich das {SSHA} weglassen?
Nein, du musst das mit SSHA davor eintragen!

Dann habe ich wieder ldapsearch wie oben ausgeführt -- mit geheim als passwort (oder muss ich hier auch die verschlüsselte Zeichenfolge eingeben?) -- es kommt der selbe fehler...
Du hast den Neustart gemacht? Du musst natürlich das Passwort eingeben und nicht den Hashwert!!!

Frank
 
Danke, hab das passwort eingetragen und selbes Problem.
Du hast dir aber mein Kommentar und die Doku durchgelesen oder? /etc/init.d/slapd start|stop|restart
welches genau?

slapd start|stop|restart geht nicht, ich kann auch "slapd sahnekuchen" eingeben, und der beschwert sich nicht
 
Du liesst dir auch durch was ich schreibe oder?

slapd ist einfach das Daemonprogramm. Aber um das jetzt sauber neuzustarten musst du das Skript in /etc/init.d neustarten. Dafür tippst du in deine Shell ein: "/etc/init.d/slapd restart" nicht mehr und nicht weniger!!!

Frank
 
Du liesst dir auch durch was ich schreibe oder?

slapd ist einfach das Daemonprogramm. Aber um das jetzt sauber neuzustarten musst du das Skript in /etc/init.d neustarten. Dafür tippst du in deine Shell ein: "/etc/init.d/slapd restart" nicht mehr und nicht weniger!!!

Frank
hi, ja ich lese es mir durch, sorry, dachte immer dass das "/etc/init.d/xx" mit "xx" gleichzusetzen ist

habs dann mal so neu gestertet und habe folgendes erfahren:
Code:
/etc/init.d/slapd restart
No configuration file was found for slapd at /etc/ldap/slapd.conf.

also ist doch die /etc/ldap/slapd.conf die richtige

hab dann die von mir editierte an diese stelle kopiert,
wieder ein restart gemacht, nun kam auch keine Fehlermeldung

Code:
/etc/init.d/slapd restart
Stopping OpenLDAP: slapd.
Starting OpenLDAP: running BDB recovery, slapd.

aber ldapsearch meldet immernoch das Gleiche ;(
entweder bin ich zu doof, oder es ist zu kompliziert, aber ich denke eher das Erstere.
Das Dumme daran ist bloss, dass ich es zum Laufen bekommen muss ;(


ich glaube ich werde mal alle Pakete deinstallieren und neu aufsetzen, hab jetzt bestimmt scho so viel "rumgemurkst" dass nichts mehr stimmt....
 
Zuletzt bearbeitet:
So, hab jetzt alles neu installeirt, aller betroffenen Dateioen gelöscht und neu beschrieben. Habe in einer Mailingliste gelesen, dass ich die Informationen zum Manager, also rootdn erst der Datenbank mitteilen muss, bevor ich das Ganze per ldapsearch auslesen kann.

also habe ich die Szene nachgestellt:
====example.ldif===========
dn: dc=example,dc=com
objectclass: dcObject
objectclass: organization
o: Example Company
dc: example

dn: cn=Manager,dc=example,dc=com
objectclass: organizationalRole
cn: Manager
====end================

darauf sollte man dann den Manager adden:
ldapadd -x -D "cn=Manager,dc=apollon.upb,dc=de" -f example.ldif

auf diesen Aufruf bekomme ich aber diesen Fehler:
ldap_bind: Server is unwilling to perform (53)
additional info: unauthenticated bind (DN with no password) disallowed

:think: :( :hilfe2:
.
.
.
EDIT (autom. Beitragszusammenführung) :
.

ich habe meinen fehler gefunden!

additional info: unauthenticated bind (DN with no password) disallowed

das muss natürlich so heißen:
suffix "dc=apollon,dc=upb,dc=de"
rootdn "cn=Manager,dc=apollon,dc=upb,dc=de"

und nicht so:
suffix "dc=apollon.upb,dc=de"
rootdn "cn=Manager,dc=apollon.upb,dc=de"

jetzt bekomme ich bei
ldapsearch -x -D "cn=Manager,dc=apollon,dc=upb,dc=de" -W

folgendes raus:
Enter LDAP Password:
# extended LDIF
#
# LDAPv3
# base <> with scope subtree
# filter: (objectclass=*)
# requesting: ALL
#

# search result
search: 2
result: 32 No such object

# numResponses: 1
juhiu!!

danke!
.
.
.
EDIT (autom. Beitragszusammenführung) :
.

Ich hätte aber noch eine Frage zum ldapadd:

folgende init.ldif wie sie im linuxbu.ch steht
dn: dc=mydomain, dc=site
objectClass: dcObject
objectClass: top
objectClass: namedObject
dc: mydomain

funktioniert nicht, es kommt immer:
ldap_add: Invalid syntax (21)
additional info: objectClass: value #2 invalid per syntax

aber diese hier geht:
dn: dc=example,dc=com
objectclass: dcObject
objectclass: organization
o: Example Company
dc: example

und vorallem, warum ist der Syntaxcompiler so empfindlich auf Leerzeichen? Ein Leerzeichen hinter "dc=com" ergab auch einen Fehler.
 
Zuletzt bearbeitet:

Ähnliche Themen

Openldap ACLs in slapd.conf

Verschlüsselung mit LDAP-Authentifizierung funktioniert nicht

Primary group for user root is a User and not a domain group

LDAP Import-Wahnsinn oder : Wie importiere ich Thunderbird, CSVs usw in LDAP

ldap mit Samba Anbindung!

Zurück
Oben