PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : getent passwd zeigt keine LDAP-User an...



ah966
15.05.08, 22:35
Hallo!

Ich habe hier auf einem Rechner slapd installiert.
Habe auch mittels Anleitungen aus Büchern einen "Hauptcontainer" erstellt und darin auch schon Gruppen und Benutzer über ldapadd.

Mittels ldapsearch -x bekomme ich alles angezeigt, aber "id <username>" behauptet: "Diesen Benutzer gibt es nicht"
"getent passwd" zeigt auch nur die lokale /etc/passwd an.

Hier meine Konfiguraionen:
/etc/nsswitch.conf

passwd: files ldap
group: files ldap
shadow: files ldap

Hier die /etc/ldap/ldap.conf




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

BASE dc=firma,dc=local
HOST localhost
# PORT 636
URI ldap://localhost ldaps://localhost

#SIZELIMIT 12
#TIMELIMIT 15
#DEREF never

nss_base_passwd dc=firma,dc=local
nss_base_shadow dc=firma,dc=local
nss_base_group dc=firma,dc=local
Die letzten 3 Zeilen habe ich nachträglich eingefügt, davor ging's auch nicht.

Und die /etc/ldap/slapd.conf:

##########################

include /etc/ldap/schema/core.schema
include /etc/ldap/schema/cosine.schema
include /etc/ldap/schema/nis.schema
include /etc/ldap/schema/inetorgperson.schema
include /etc/ldap/schema/samba.schema

pidfile /var/run/slapd/slapd.pid

argsfile /var/run/slapd/slapd.args

schemacheck on
loglevel 5

modulepath /usr/lib/ldap
moduleload back_bdb

sizelimit 500

tool-threads 1

backend bdb
checkpoint 512 30

database bdb

suffix "dc=firma,dc=local"

rootdn "cn=ldapmanager,dc=firma,dc=local"
rootpw {SSHA}<hier steht ein hash>

directory "/var/lib/ldap"

dbconfig set_cachesize 0 33554432 0

dbconfig set_lk_max_objects 1500

dbconfig set_lk_max_locks 1500

dbconfig set_lk_max_lockers 1500


index objectClass eq
index uid,cn,sn,displayname pres,eq,sub
# index rid,uidNumber
index mail,givenname eq,subinitial
index sambaSID,sambaPrimaryGroupSID,sambaDomainName eq
index default sub

lastmod on

access to attrs=userPassword,shadowLastChange
by dn="cn=ldapmanager,dc=firma,dc=local" write
by anonymous auth
by self write
by * none


access to dn.base="" by * read

access to *
by dn="cn=ldapmanager,dc=firma,dc=local" write
by * read


Hat jemand noch eine Idee, was überprüft werden müsste? Es muß noch nicht mal die Anmeldung klappen, ich würde nur gerne schonmal den einen oder anderen LDAP-User mittels "getent passwd" sehen können...
Auf diesem Server läuft kein WindowManager oder Desktop, der wird nur über die Kommandozeile bedient.

Sam Fisher
01.08.08, 19:16
Hallo !
Ich habe das hier durch Zufall gefunden, da ich das gleiche Problem hatte. Ich habe die Lösung gefunden. Dir fehlt folgendes:

apt-get install nscd libnss-ldap

Viele Grüße
Sam

€dit: Nach der Installation umbedingt noch mal den NSCD restarten....der ist ein ziemlich hartnäckiger Cacher *g*

BedriddenTech
02.08.08, 15:22
Den NSCD brauchst Du dafür gar nicht. Und eine NSS-LDAP-Bibliothek sollte schon da sein, jedenfalls nach den Eindrücken in der /etc/nsswitch.conf zu schließen.

TE, hast Du auch die Konfigurationsdatei des NSS-Moduls angepaßt?

hessijens
06.08.08, 13:29
/etc/ldap.conf bzw. /etc/ldap.ldap.conf

...
nss_base_passwd dc=firma,dc=local
nss_base_shadow dc=firma,dc=local
nss_base_group dc=firma,dc=local
...


Man kann zwar Gruppen und User gemeinsam in einer ldap Organisationseinheit ablegen, aber für gewöhnlich findet man eher so was ähnliches:


...
nss_base_passwd ou=user,dc=firma,dc=local
nss_base_shadow ou=user,dc=firma,dc=local
nss_base_group ou=group,dc=firma,dc=local
...


Auch benötigen einige Distributionen für pam_ldap und nss _ldap eine /etc/ldap.conf statt einer /etc/ldap/ldap.conf (oder manche auch beides ;))

Und noch was: Wenn Du auch Samba Konten in Ldap hostest ("include /etc/ldap/schema/samba.schema" bring mich auf den Gedanken), wäre es da nicht schlau midestens auch die Samba Passwörter (sambaLMPassword,sambaNTPassword) vor dem lesen zu schützen?