PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Problem mit LDAP



SteE
06.07.07, 18:44
Hallo an alle!!!

Und zwar habe ich folgendes Problem.....

Ich bin gerade dabei einen LDAP-Server aufzusetzen.
Samba als PDC und Fileserver zu nutzen und LDAP halt zur Verwaltung der einzelnen Accounts zu verwenden.

Samba, OpenLDAP, PAM und NSS sind bereits installiert.

samba-3.0.23d-19.5.i586.rpm
openldap2-2.3.19-18.3.i586.rpm
pam-0.99.6.3-29.1.i586.rpm
nss-devel-3.10-12.3.i586.rpm
Browser282b2 (von der Hauptseite -> Herstellerseite geladen)

Als Maschine nutze ich SuSe Linux 10.2 Stable Version

Jedenfalls möchte ich mit dem LDAP-Browser die ganzen Accounts verwalten,
daher habe ich mir den LDAP-Browser in der Version 2.8.2 geladen und installiert.


Nach der Installation habe ich meine Konfigurationsdateien vervollständigt:


Die Auszüge:


slapd.conf:

# See slapd.conf(5) for details on configuration options.
# This file should NOT be world readable.
#
include /etc/openldap/schema/core.schema
include /etc/openldap/schema/cosine.schema
include /etc/openldap/schema/inetorgperson.schema
include /etc/openldap/schema/rfc2307bis.schema
include /etc/openldap/schema/yast.schema

# Define global ACLs to disable default read access.

# 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/slapd/slapd.pid
argsfile /var/run/slapd/slapd.args

# Load dynamic backend modules:
modulepath /usr/lib/openldap/modules
# moduleload back_ldap.la
# moduleload back_meta.la
# moduleload back_monitor.la
# moduleload back_perl.la

# Sample security restrictions
# Require integrity protection (prevent hijacking)
# Require 112-bit (3DES or better) encryption for updates
# Require 63-bit encryption for simple bind
# security ssf=1 update_ssf=112 simple_bind=64

# Sample access control policy:
# Root DSE: allow anyone to read it
# Subschema (sub)entry DSE: allow anyone to read it
# Other DSEs:
# Allow self write access to user password
# Allow anonymous users to authenticate
# Allow read access to everything else
# Directives needed to implement policy:
access to dn.base=""
by * read

access to dn.base="cn=Subschema"
by * read

access to attrs=userPassword,userPKCS12
by self write
by * auth

access to attrs=shadowLastChange
by self write
by * read

access to *
by * read

# if no access controls are present, the default policy
# allows anyone and everyone to read anything but restricts
# updates to rootdn. (e.g., "access to * by * read")
#
# rootdn can always read and write EVERYTHING!

################################################## #############
# BDB database definitions
################################################## #############

database ldbm
suffix "dc=pdfdomain,dc=de"
checkpoint 1024 5
cachesize 10000
rootdn "cn=admin,dc=exampledomain,dc=de"
# Cleartext passwords, especially for the rootdn, should
# be avoid. See slappasswd(Cool and slapd.conf(5) for details.
# Use of strong authentication encouraged.
rootpw mypword
# The database directory MUST exist prior to running slapd AND
# should only be accessible by the slapd and slap tools.
# Mode 700 recommended.
directory /var/lib/ldap
# Indices to maintain
index objectClass eq


ldap.conf:

URI ldap://127.0.0.1:389/
base dc=pdfdomain,dc=de
rootbinddn cn=admin,dc=exampledomain,dc=de

pam-filter objectclass=posixAccount
pam-login-attribute uid
pam_password exop

ssl no


nsswitch.conf:

passwd: files ldap [NOTFOUND=return] nis
group: files ldap [NOTFOUND=return] nis

hosts: files dns ldap [NOTFOUND=return]

services: files ldap [NOTFOUND=return]
networks: files ldap [NOTFOUND=return] dns nis
protocols: files ldap [NOTFOUND=return]
rpc: files ldap [NOTFOUND=return]
ethers: ldap [NOTFOUND=return] files nis


pam.d/login:

#%PAM-1.0
auth required pam_securetty.so
auth required pam_nologin.so
auth sufficient pam_ldap.so
auth requisite pam_unix2.so nullok #set_secrpc
auth required pam_env.so
account sufficient pam_ldap.so
account required pam_unix2.so
password required pam_pwcheck.so nullok
password required pam_ldap.so


security/pam_unix2.conf:

auth: use_ldap nullok
account: use_ldap
password: use_ldap
session: none


samba/smb.conf:

# smb.conf is the main Samba configuration file. You find a full commented
# version at /usr/share/doc/packages/samba/examples/smb.conf.SUSE if the
# samba-doc package is installed.
# Date: 2006-11-27

[global]
workgroup = pdfdomain
passdb backend = ldapsam:ldap://localhost:389/
ldap suffix = dc=pdfdomain,c=de
ldap admin dn = cn=admin,dc=exampledomain,c=de
ldap machine suffix = ou=STATIONEN,o=undomain
ldap idmap suffix = ou=idmaps,o=SYSTEM
ldap passwd sync = Yes
printing = cups
printcap name = cups
printcap cache time = 750
cups options = raw
map to guest = Bad User
include = /etc/samba/dhcp.conf
logon path = \\%L\profiles\.msprofile
logon home = \\%L\%U\.9xprofile
logon drive = P:
usershare allow guests = Yes


wenn noch Dateien benötigt werden dann fragen und ich poste diese dann!

Sobald ich versuche über den LDAP-Browser mich per Connect zu verbinden,
funktioniert alles wunderbar.

Es kommt dann das Fenster mit den ganzen Einträgen im LDAP-Browser (in der dc, o und ou festgehalten werden)
Und das beste es steht unten in PINK folgende Meldung:

zunächst nichts ....
dann klick ich auf Refresh und bekomme folgende Meldung:
"Entry not selected. Please select an entry."


ich bitte euch dringend um eure Hilfe, da ich selbst schon die log-files durchsucht habe und echt kurz vorm "Rechner aus dem Fenster schmeißen bin" .....

Danke für eure Hilfe! (im vorraus)

~ SteE

Sebastian Henrich
08.07.07, 02:42
Du musst das LDAP Verzeichnis noch mit den Basisdaten füllen. Am einfachsten geht das unter openSUSE, wenn du den LDAP Client unter Yast nimmst.

bla!zilla
08.07.07, 10:12
Wie Sebastian schon sagte, hast du jetzt ein leeres LDAP. Mit diesen Tools (http://www.padl.com/OSS/MigrationTools.html) habe ich mein OpenLDAP zu Hause, und diverse bei Kunden befüllt. Schau dir speziell

- migrate_group.pl
- migrate_passwd.pl
- migrate_all_online.sh

Schau dir aber vorher die Doku an, aber damit ist es wirklich ein Kinderspiel. Beachte das du weiterhin deine lokale passwd und groups für Systemkonten brauchst. Sonst fallen die beim Booten diverse Daemons auf die Nase, weil sie mit einem User laufen, das OpenLDAP aber noch nicht da ist. Zudem sollte root immer lokal bleiben, sonst kannst du dich nicht an der Maschine anmelden, wenn sie mal offline ist.

SteE
08.07.07, 12:51
Danke erstmal, für die schnelle Hilfe, ich werde das morgen (Montag) gleich ausprobieren, da ich keinen Zugang ins interne Firmennetz gestattet habe ;) zumindest nich ohne weiteres... :D


Also erst noch den LDAP-Client unter den Linux-Accs einstellen, zumindest auf dem Server, soweit so gut....bin mal gespannt ob des klappt....und danke für den link!

Stephanw
08.07.07, 19:15
Hast du dein ldap schon mit der rootdn und dem admin befüttert? Dazu müsstest du für beide Objekte ein ldapadd gemacht haben; und sie dann eingegeben oder aus einer ldif-Datei importiert haben. Mich verwunderte das anfangs auch, weil diese Objekte ja bereits in der slapd.conf angegeben wurden.

Gruß Stephan

bla!zilla
08.07.07, 19:41
Die beiden Objekte müssen nicht mehr zum LDAP Verzeichnis hinzugefügt werden, diese sind verfügbar sobald der LDAP Server zum ersten Mal startet. Alles weitere muss reingepumpt werden.

SteE
09.07.07, 18:02
also das mit dem hinufügen der beiden acc's sollte nicht mehr von nöten sein, werde ich aber dennoch einmal durchspielen.....was die *.pl angeht, ich kann meine maschine nicht mehr starten....ich bekomm die nachricht das ip6tables nicht gematcht werden können --> schöne ******e :D <-- aber naja, aller anfang is halt schwer....so und deshalb hab ich mir gesagt...ich kann ja die firewall manuell ausschalten, indem ich in den rescue system - modus springe die platte einmounte und dann die firewall deaktiviere. tja gesagt getan....jedoch kann ich keine platte einmounten , als fehlermeldung erhalte ich folgende:

"cannot mount ...: read-only file-system"

wie mach ich ihm kla, dass ich die platte dennoch einmounten kann...normalerweise muss es gehen....doch die meldung irretiert mich etwas ;)

also werd ich erstmal googln, denn ohne boot komm ich auch net an meine config's (ldap) :ugly:

bla!zilla
09.07.07, 18:33
Du willst deine Platte in ein read-only Filesystem einhängen. Das geht nicht. Du musst schon was nehmen, was writeable ist.

Stephanw
10.07.07, 10:25
Die beiden Objekte müssen nicht mehr zum LDAP Verzeichnis hinzugefügt werden, diese sind verfügbar sobald der LDAP Server zum ersten Mal startet. Alles weitere muss reingepumpt werden.

Doch, genau diese Objekte müssen in das Verzeichnis eingefügt werden, obwohl man vermuten könnte, das dies nicht nötig ist; schließlich definiert man sie ja in der slapd.conf.
Genau diese Erfahrungen habe ich vor kurzem mit der Version 2.3.36 gemacht, als ich ein Verzeichnis aufgesetzt habe.

Gruß Stephan