PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : openldap server wie?



shb
22.08.04, 19:50
hi all,
ich versuche gerade einen openldap server einzurichten (nach möglichkeit ohne gui), entweder bin ich zu doof ein brauchbares howto zu finden oder es gibt keine guten howtos.
ein großteil der howtos sind noch für die alter version und können deshalb nicht mehr genommen werden ;(
den server hab ich als rpm installiert.
eigentlich will ich den server per console einrichten um entwas mehr über das ganze konzept und die einrichtung an sich zu verstehen.
könnt ihr mir sagen wo ich gute howtos finde (für die aktuelle version)
im moment will ich als erstes ldap nutzen um ein kontaktebuch für evolution zu erstellen.
danach würde mich gerne interessieren wie ich das ganze einrichten muss um ldap z.b. für die auth für squid oder andere progs ist

thx

cu SHB

`kk
22.08.04, 20:39
Im LM Netzwerk Spezial ist ein kleiner Artikel, musst mal gucken.

shb
22.08.04, 20:52
was heißt kleiner artikel? also ich hab da ehr an eine ausführliche beschreibung gedacht, wo die wichtigsten parameter erklärt sind

thx

cu SHB

root23
23.08.04, 10:03
Probiers mal mit dem Tutorial von linuxnetmag.com:

http://www.linuxnetmag.com/de/issue9/m9ldap_adressbuch1.html

Da wird sehr gut erklärt, wie man mit OpenLDAP ein Adressbuch für Evolution und andere Mail-Clients einrichtet

`kk
23.08.04, 11:33
klein = nicht groß
Artikel = sowas ähnliches wie eine Geschichte

shb
28.08.04, 10:05
danke,
gut hab mir das howto mal reingezogen ist ganz verständlich ich komme aber irgendwie immer noch nicht weiter. ich habe eine datei namens global.ldif erstellt, so wie sie dort gezeigt (habs kopiert ;) ). nun hab ich versucht das ganze mit

ldapadd -x -D "cn=Manager,dc=linux,dc=home" -W -f global.ldif
versucht den eintrag, dem server hinzu zufühgen,
nach der passwort abfrage passiert folgendens, mit passwort

Enter LDAP Password:
ldap_bind: Invalid credentials (49)
und wenn ich das ganze ohne passwort mache erhalte ich das hier

Enter LDAP Password:
ldap_bind: Server is unwilling to perform (53)
additional info: unauthenticated bind (DN with no password) disallowed
das einzige was ich damit anfangen kann, ist das ich damit nix anfangen kann ;(
hier ist noch meine sldap.conf


# $OpenLDAP: pkg/ldap/servers/slapd/slapd.conf,v 1.8.8.6 2001/04/20 23:32:43 kurt Exp $
#
# See slapd.conf(5) for details on configuration options.
# This file should NOT be world readable.
#
# Modified by Christian Zoffoli <czoffoli@linux-mandrake.com>
# Version 0.2
#

include /usr/share/openldap/schema/core.schema
include /usr/share/openldap/schema/cosine.schema
include /usr/share/openldap/schema/corba.schema
include /usr/share/openldap/schema/inetorgperson.schema
include /usr/share/openldap/schema/java.schema
include /usr/share/openldap/schema/krb5-kdc.schema
include /usr/share/openldap/schema/kerberosobject.schema
include /usr/share/openldap/schema/misc.schema
include /usr/share/openldap/schema/nis.schema
include /usr/share/openldap/schema/openldap.schema
include /usr/share/openldap/schema/autofs.schema
include /usr/share/openldap/schema/samba.schema
include /usr/share/openldap/schema/kolab.schema

#include /usr/share/openldap/schema/rfc822-MailMember.schema
#include /usr/share/openldap/schema/pilot.schema
#include /usr/share/openldap/schema/qmail.schema
#include /usr/share/openldap/schema/mull.schema
#include /usr/share/openldap/schema/netscape-profile.schema
#include /usr/share/openldap/schema/trust.schema
#include /usr/share/openldap/schema/dns.schema
#include /usr/share/openldap/schema/cron.schema

include /etc/openldap/schema/local.schema


# Define global ACLs to disable default read access.
include /etc/openldap/slapd.access.conf


# Do not enable referrals until AFTER you have a working directory
# service AND an understanding of referrals.
#referral ldap://root.openldap.org

pidfile /var/run/ldap/slapd.pid
argsfile /var/run/ldap/slapd.args

modulepath /usr/lib/openldap
#moduleload back_dnssrv.la
#moduleload back_ldap.la
#moduleload back_meta.la
#moduleload back_monitor.la
#moduleload back_passwd.la
#moduleload back_sql.la

# SASL config
#sasl-host ldap.example.com

# To allow TLS-enabled connections, create /usr/share/ssl/certs/slapd.pem
# and uncomment the following lines.
#TLSRandFile /dev/random
#TLSCipherSuite HIGH:MEDIUM:+SSLv2
TLSCertificateFile /etc/ssl/openldap/ldap.pem
TLSCertificateKeyFile /etc/ssl/openldap/ldap.pem
#TLSCACertificatePath /etc/ssl/openldap/
TLSCACertificateFile /etc/ssl/openldap/ldap.pem
#TLSVerifyClient 0


################################################## #####################
# database definitions
################################################## #####################

database bdb
suffix "dc=linux,dc=home"
#suffix "o=My Organization Name,c=US"
rootdn "cn=Manager,dc=linux,dc=home"
#rootdn "cn=Manager,o=My Organization Name,c=US"

# Cleartext passwords, especially for the rootdn, should
# be avoided. See slappasswd(8) and slapd.conf(5) for details.
# Use of strong authentication encouraged.
rootpw secret
# rootpw {crypt}ijFYNcSNctBYg


# The database directory MUST exist prior to running slapd AND
# should only be accessable by the slapd/tools. Mode 700 recommended.
directory /var/lib/ldap

# Indices to maintain
#index objectClass eq
index objectClass,uid,uidNumber,gidNumber eq
index cn,mail,surname,givenname eq,subinitial

# logging
loglevel 256

# Basic ACL
access to attr=userPassword
by self write
by anonymous auth
by dn="uid=root,ou=People,dc=example,dc=com" write
by * none

access to *
# by dn="uid=root,ou=People,dc=example,dc=com" write
by * read

# Uncomment to enable statistics gathering at basedn cn=monitor (load monitor
# module above too)
#database monitor

ich hab das auch schon mit dem verschlüsselte passwort versucht, leuft aber auf das selbe hinaus ;(
könnt ihr mir weiterhelfen?

thx
cu SHB

mamue
28.08.04, 10:30
Hast Du in der ldap.conf (/etc/ldap.conf bzw. /etc/openldap/ldap.conf) die base eingetragen? Also base=dc=linux,dc=home?
Es sollte zumindest schon einmal ldapsearch -x funktionieren. Die ACL sind mir nicht klar bei Dir, vielleicht könntest Du anfangs
access to *
by * write

setzen?

HTH,
mamue

shb
28.08.04, 10:42
hab die acls geändert, die waren vorher schon gesetzt, hier ist meinen verändert ldap.conf


# $OpenLDAP: pkg/ldap/libraries/libldap/ldap.conf,v 1.9 2000/09/04 19:57:01 kurt Exp $
#
# LDAP Defaults
#

# See ldap.conf(5) for details
# This file should be world readable but not world writable.

BASE dc=linux, dc=home
#URI ldap://ldap.example.com ldap://ldap-master.example.com:666

#SIZELIMIT 12
#TIMELIMIT 15
#DEREF never


was muss ich bei URI genau eintragen?
ldapsearch gibt das aus


[root@shb root]# ldapsearch -x *
# extended LDIF
#
# LDAPv3
# base <> with scope sub
# filter: (objectclass=*)
# requesting: Desktop drakx dump evolution garnome global.ldif grep out.iso status test test1 tmp
#

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

# numResponses: 1


gut ist mir klar, dass das keine ergebnisse liefert, hab ja noch keine daten drin ;(
nun nochmal zu zum passwort warum ist das passwort falsch?
kann mann testweise dass ldaproot passwort abschalten? (ich weiß das man das aus sicherheitsgrunden nicht machet ;) )

wenn ich das richtig sehe funzt der ldap server ansich und muss "nurnoch" mit daten gefüttert werden, oder?

thx cu SHB

shb
28.08.04, 12:04
so bin etwas mit dem passwort weiter. ich bin der meinung, dass er jetzt das passwort nimmt


[root@shb root]# ldapadd -x -D "cn=Manager,dc=linux,dc=home" -W -f global.ldif
Enter LDAP Password:
adding new entry "ou=global"
ldapadd: update failed: ou=global
ldap_add: Server is unwilling to perform (53)
additional info: referral missing



aber wie ich sehe funzt dort irgendwas nicht ;(
oder sehe ich das falsch?
könnt ihr mir weiterhelfen

cu SHB

poweradmin
28.08.04, 13:29
hey,
hier mal eine auflistung der ldap errror codes für dich.
http://help.netscape.com/kb/corporate/19970303-9.html
Sieht aus als wenn du keinen schreibzugriff hast.
Aber tröste dich, ich mühe mich auch mehr schlecht als recht mit ldap ab.

shb
28.08.04, 13:39
danke für die liste aber in der list steht das selbe wie in der console ;
UNWILLING TO PERFORM

und meine acls sind
access to * by * write
damit sollte es doch gehen, oder wo brauche ich schreibrechte?
habs gerade nochmal gelesen sind die schreibrechte


· The database is in READ-ONLY mode.
· The database connect perform operation due to other problems · Make sure the database is NOT in read-only mode.
· Check to see if there are any errors on the Directory Servers.

mit was werde ich bei ldap autorisiert? nur mit dem rootdn und rootpw oder kann ich noch extra user erstellen, bzw wird das über access?

thx cu SHB

shb
28.08.04, 22:52
also den ersten fehler hab ich gefunden
es ist nicht
database bdb
sondern
database ldbm
und die fehlermeldung ist jetzt folgende.


adding new entry "dc=home"
ldapadd: update failed: dc=home
ldap_add: Server is unwilling to perform (53)
additional info: referral missing

ich hab auch noch ne neue ldif datei erstellt


dn: dc=home
objectclass: organization
o: home

dn: dc=linux,dc=home
objectclass: organization

nun komme ich aber wieder nicht weiter, weiß einer von euch weiter?
thx

cu SHB

mamue
29.08.04, 11:48
Ich kann den Fehler so nicht erkennen, aber Du solltest in der BASE Anweisung das Leerzeichen rausschmeissen.
BASE dc=linux,dc=home
Ausserdem die URI setzen:
URI ldap://localhost

Hast Du schon die ACL testweise umgestellt?

mamue

shb
29.08.04, 13:36
so ich hab das jetzt mal geändert wie du gesagt hast, ich poste nochmal meine kompletten configs
sldap.conf


[root@shb root]# cat /etc/openldap/slapd.conf
# $OpenLDAP: pkg/ldap/servers/slapd/slapd.conf,v 1.8.8.6 2001/04/20 23:32:43 kurt Exp $
#
# See slapd.conf(5) for details on configuration options.
# This file should NOT be world readable.
#
# Modified by Christian Zoffoli <czoffoli@linux-mandrake.com>
# Version 0.2
#
LOGFILE=/var/log/ldap

include /usr/share/openldap/schema/core.schema
include /usr/share/openldap/schema/cosine.schema
include /usr/share/openldap/schema/corba.schema
include /usr/share/openldap/schema/inetorgperson.schema
include /usr/share/openldap/schema/java.schema
include /usr/share/openldap/schema/krb5-kdc.schema
include /usr/share/openldap/schema/kerberosobject.schema
include /usr/share/openldap/schema/misc.schema
include /usr/share/openldap/schema/nis.schema
include /usr/share/openldap/schema/openldap.schema
include /usr/share/openldap/schema/autofs.schema
include /usr/share/openldap/schema/samba.schema
include /usr/share/openldap/schema/kolab.schema

#include /usr/share/openldap/schema/rfc822-MailMember.schema
#include /usr/share/openldap/schema/pilot.schema
#include /usr/share/openldap/schema/qmail.schema
#include /usr/share/openldap/schema/mull.schema
#include /usr/share/openldap/schema/netscape-profile.schema
#include /usr/share/openldap/schema/trust.schema
#include /usr/share/openldap/schema/dns.schema
#include /usr/share/openldap/schema/cron.schema

include /etc/openldap/schema/local.schema


# Define global ACLs to disable default read access.
include /etc/openldap/slapd.access.conf


# Do not enable referrals until AFTER you have a working directory
# service AND an understanding of referrals.
#referral ldap://root.openldap.org

pidfile /var/run/ldap/slapd.pid
argsfile /var/run/ldap/slapd.args

modulepath /usr/lib/openldap
#moduleload back_dnssrv.la
#moduleload back_ldap.la
#moduleload back_meta.la
#moduleload back_monitor.la
#moduleload back_passwd.la
#moduleload back_sql.la

# SASL config
#sasl-host ldap.example.com

# To allow TLS-enabled connections, create /usr/share/ssl/certs/slapd.pem
# and uncomment the following lines.
#TLSRandFile /dev/random
#TLSCipherSuite HIGH:MEDIUM:+SSLv2
TLSCertificateFile /etc/ssl/openldap/ldap.pem
TLSCertificateKeyFile /etc/ssl/openldap/ldap.pem
#TLSCACertificatePath /etc/ssl/openldap/
TLSCACertificateFile /etc/ssl/openldap/ldap.pem
#TLSVerifyClient 0


################################################## #####################
# database definitions
################################################## #####################
defaultaccess write
database ldbm #bdb

suffix "dc=linux,dc=home"

rootdn "cn=Manager,dc=linux,dc=home"
#rootpw secret

rootpw test
# rootpw {crypt}ijFYNcSNctBYg

# The database directory MUST exist prior to running slapd AND
# should only be accessable by the slapd/tools. Mode 700 recommended.
directory /var/lib/ldap

index objectClass eq
# Indices to maintain
#index objectClass eq
readonly off
# logging
loglevel 256

# Basic ACL
#access to attr=userPassword
# by self write
# by anonymous auth
# by dn="uid=root,ou=People,dc=example,dc=com" write
# by * none

access to *
by * write
# by dn="uid=root,ou=People,dc=example,dc=com" write

# Uncomment to enable statistics gathering at basedn cn=monitor (load monitor
# module above too)
#database monitor
defaultaccess write

die ldap.conf


[root@shb root]# cat /etc/openldap/ldap.conf
# $OpenLDAP: pkg/ldap/libraries/libldap/ldap.conf,v 1.9 2000/09/04 19:57:01 kurt Exp $
#
# LDAP Defaults
#

# See ldap.conf(5) for details
# This file should be world readable but not world writable.

HOST 192.168.1.6
#BASE o=linux.home
BASE dc=linux,dc=home
ssl no
URI ldap://localhost
#URI ldap://ldap.example.com ldap://ldap-master.example.com:666

#SIZELIMIT 12
#TIMELIMIT 15
#DEREF never

hier das ldapadd

ldapadd -D cn=Manager,dc=linux,dc=home -x -W -f org.ldif
hier die fehlermeldung

Enter LDAP Password:
adding new entry "dc=home"
ldapadd: update failed: dc=home
ldap_add: Server is unwilling to perform (53)
additional info: referral missing

[root@shb root]#

und hier noch die org.ldif


[root@shb root]# cat org.ldif
dn: dc=home
objectclass: organization
o: home

dn: dc=linux,dc=home
objectclass: organization
o: linux.home

hier ist noch ein link aus einem anderen howto von hier
http://www.linuxforen.de/forums/showthread.php?t=119272&highlight=referral+missing
da hatte auch jemand das problem, aber für mich ist in diesem thread keine lösung sichtbar

thx cu SHB

shb
29.08.04, 14:10
ich hab ja da oben einen link von einem howto gepostet und alles genau nach dem howto gemacht (alles einfach kopiert) und auch die gleiche meldung wie vorher (und wie im howto) dort steht dazu aber keine lösung ;( , da ich die ander config kopiert habe, denke ich mal, dass der fehler vieleicht nicht dierekt an der config lieget, oder was denk ihr?

thx cu SHB

shb
29.08.04, 20:32
hi da ja immer noch keiner geantwortet habe gabe ich mal einen status ab bin zwar noch nicht weiter aber ich habe bei ldapadd den schalter -v hinzugefühgt und nun hab ich etwas mehr fehlermeldungen, vieleicht könnt ihr damit was anfangen



[root@shb openldap]# ldapadd -D cn=Manager,dc=omeco,dc=de -x -W -v -f org.ldif
ldap_initialize( <DEFAULT> )
Enter LDAP Password:
add objectclass:
organization
add o:
de
adding new entry "dc=de "
ldapadd: update failed: dc=de
ldap_add: Server is unwilling to perform (53)
additional info: referral missing


thx

cu SHB

olaf_m
30.09.04, 15:05
Hallo,

ich nehme mal an, in der aktuellen slapd.conf steht:

suffix dc=omeco,dc=de

Das heißt, Dein LDAP-Server ist nur für einen Teil des LDAP-Verzeichnisbaumes zuständig. Er soll also nur die Objekte verwalten, in in der Hierarchie unterhalb des Containers dc=omeco,dc=de liegen.

Jetzt steht aber wahrscheinlich in Deiner ldif-Datei ein Eintrag

dn: dc=de
....

Damit wird versucht, den Container dc=de anzulegen, für dessen Verwaltung laut suffix-Direktive Dein Server aber gar nicht zuständig ist. Vielmehr ist das die Aufgabe eines anderen LDAP-Servers.
Beim Anlegen des Objektes dc=de versucht Dein LDAP-Server eine Verbindung zu dem LDAP-Server aufzunehmen, der den Container dc=de verwalten soll . Nur, einen solchen Verweis (Referral) gibt es nicht in Deiner slapd.conf.(Und wahrscheinlich gibt es auch den übergeordneten LDAP-Server nicht)
Mögliche Lösung:
Entferne aus der ldif-Datei die Einträge, die zur Beschreibung des dc=de - Objektes gehören.
Gruss Olaf