LDAP Problem / PAM, NSS und NSCD starten zu "früh" *gelöst*

Status
Für weitere Antworten geschlossen.

Grimmer

Neuling
Thread Starter
Mitglied seit
26.01.2006
Beiträge
484
Ich habe auf allen meinen Debian Maschinen LDAP Anmeldung eingerichtet.
Jedoch verursacht das schon ewig Probleme beim Booten. PAM, NSS oder NSCD (ich weiß nicht was) versucht immer Informationen vom LDAP abzurufen. Eigentlich soll es das ja, aber nicht vor dem Beziehen der IP, denn dann wartet es jedes mal auf ein Timeout, 1s bei 30 Gruppen und dazu noch viele Fehlermeldung.
Ist zum einen schlecht weil der Startvorgang dadurch unnötig verzögert wird und zum anderen andauernd Leute angerannt kommen die sich beschweren dass ihr Computer so viele Fehlermeldung bringt.

Was kann ich tun dasmit PAM,NSS oder NSCD auf die IP wartet?

Kann ich Gruppen und Benutzer/Passwörter irgendwie ausschließlich auf LDAP begrenzen? (scheitert weil Systemdienste ohne lokale Gruppe nicht laufen, weil die LDAP Gruppe so früh noch nicht verfügbar ist)
 
Zuletzt bearbeitet:
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
du kannst in den runlevels das netzwerk etwas früher starten bzw. deine PAM,NSS,NSCD dienste etwas später starten

das geht alles, die start-scripts liegen normalerweise in /etc/init.d und die init-scripte in /etc/rc0.d bzw rc1.d rc2.d usw ....

:wink:
 
wie hast du das den konfiguriert bzw. installiert?

Normalerweise muss man nichts an den Run Level ändern, das startet alles nach dem Netz.
 
Installiert mit:
apt-get install libnss-ldap libpam-ldap nscd

Die Config Dateien sehen so aus:
Code:
#cat /etc/libnss-ldap.conf
host ldap
base dc=...,dc=local
binddn cn=binddn,dc=...,dc=local
bindpw ****
Code:
#cat /etc/pam_ldap.conf
host ldap
base dc=...,dc=local
binddn cn=binddn,dc=...,dc=local
bindpw ****
Code:
#cat /etc/pam.d/common-account
account sufficient pam_ldap.so
account required pam_unix.so
Code:
#cat /etc/pam.d/common-auth
auth sufficient pam_ldap.so
auth required pam_unix.so nullok_secure use_first_pass
Code:
#cat /etc/pam.d/common-password
password sufficient pam_ldap.so
password required pam_unix.so nullok obscure min=4 max=24 md5
Code:
#cat /etc/pam.d/common-session
session sufficient pam_ldap.so
session required pam_unix.so
session optional pam_foreground.so
Code:
#cat /etc/nsswitch.conf
passwd: files ldap
group: files ldap
shadow: files ldap
.
.
 
Für Kleinigkeiten, z.B. mal ein Passwort zurücksetzten, phpldapadmin.
Ansonsten hab ich mir für die Täglichen Aufgaben (Neue Benutzer mit Homeverzeichnis, Email, Webspace,... einrichten oder Batch-Import) selbst was in Java geschrieben.
 
du kannst in den runlevels das netzwerk etwas früher starten bzw. deine PAM,NSS,NSCD dienste etwas später starten

das geht alles, die start-scripts liegen normalerweise in /etc/init.d und die init-scripte in /etc/rc0.d bzw rc1.d rc2.d usw ....

:wink:

Hab das gefunden
Soll ich besser bei sysvinit bleiben oder auf file-rc umsteigen?
Bzw. wie würde ich die reihenfolge bei sysvinit ändern können?
 
was soll das bringen? Das liegt nicht an dem Runlevel. Ldpa und co starten nach dem Netzwerk.

Kann es sein, dass du schon mal an den Runlevel rumgefummelt hast und sich damit was geändert hat?

Zeig doch mal deine Runlevel Einträge.
 
Nein, an den Runlevels hab ich nichts geändert. Standard-Debian Installation ohne GUI, nach dem ersten anmelden in der Console "apt-get install libnss-ldap libpam-ldap nscd", nur die Config Dateien angepasst die ich schon gepostet hab, neugestartet und schon kommen die Fehler.
Runleveleinträge und die genaue Fehlermeldung kommen am Wochenende weil ich erst dann wieder an meinen PC komm.
 
dann kann es nur an den config dateien liegen.

Wie BBR schon sagt, normalerweise muss man dort nichts ändern ... war nur eine Idee von mir ....
 
was soll das bringen? Das liegt nicht an dem Runlevel. Ldpa und co starten nach dem Netzwerk.

Kann es sein, dass du schon mal an den Runlevel rumgefummelt hast und sich damit was geändert hat?

Zeig doch mal deine Runlevel Einträge.


So siehts aus:
ldap.jpg
 
das sieht ehr danach aus, dass was an den Einstellungen falsch ist.

Der versucht ja bei dir ldap.home.local zureichen. Hast du einen DNS bei dir laufen, damit er weiß hinter welcher IP ldap.home.local steckt?#

Was steht auf dem Server in der /etc/ldap/slapd.conf bei sasl-host?
 
Zuletzt bearbeitet:
Einstellungen sind alle richtig, anmelden Funktioniert ja über LDAP.
Aber: DHCP Client startet erst später.
 
update-rc.d -f dhcpd remove #(je nach dhcp Daemon abändern)

update-rc.d dhcpd start XX 2 3 4 5 . stop 20 0 1 6 . #XX an den gewünschten Startpunkt anpassen, also nach dem Start des Netzwerks und vor dem LDAP

In /etc/rcX.d/ usw befinden sich effektiv nur symlinks auf Skripte in /etc/init.d/, solche die mit S beginnen werden beim Wechsel in das Runlevel aufgerufen, solche mit K beim Verlassen des Runlevels, was ja meist der Shutdown ist... Die anschließende Nummer bestimmt dann die Start/Stopreihenfolge.
 
poste zu doch mal die Nummer mit der Ldap startet
 
Mein aktueller Runlevel ist 2.
In /etc/rc2.d gibt es S20nscd und S24dhcpd.
In keiner der Dateien steht was von LDAP.
 
das ist schon richtig so.

Genau so haben wir das auf der Arbeit. Hab doch gesagt, dass das nicht mit den Runleveln zu tun hat.
 
Werden die nicht in der Reihenfolge von niedriger Zahl zu hoher Zahl ausgeführt?
Und: kann mir jemand erklären warum vor den Fehlermeldungen immer "udevd" steht?
 
ähm nur mal so aus neugier, ist es richtig das wenn ich die Linux-Clients ins LDAP-einführe sie sich dann nur noch mit einem LDAP-Server anmelden können?? wenn ja wie doof ist das denn?! bei Windows kann ich mich doch auch lokal am rechner anmelden.
 
ähm nur mal so aus neugier, ist es richtig das wenn ich die Linux-Clients ins LDAP-einführe sie sich dann nur noch mit einem LDAP-Server anmelden können?? wenn ja wie doof ist das denn?! bei Windows kann ich mich doch auch lokal am rechner anmelden.

Nö. Zumindest so wie ich das eingerichtet hab kann ich mich sowohl lokal als auch über LDAP anmelden.
 
ok und wie hast du es auf den Clients eingerichtet?! nämlich ich hab jetzt das How-to von wiki.ubuntu gelesen und da stehts extra nochmal als warnung drin das wenn man jetzt startet bzw was falsch macht man sich vom System ausperrt.
 
Genauso wie hier beschrieben.

apt-get install libnss-ldap libpam-ldap nscd
dann die config-Dateien geändert wie im Beitrag, Neustart mit Ctrl-Alt-Del.
Debian startet ganz normal (mit Ausnhame der Fehlermeldungen) und ich kann mich danach sowohl lokal als auch über LDAP anmelden.
 
Ich habe gerade durch Zufall die Lösung gefunden, und zwar muss man anscheinend nur die nsswitch.conf ändern.

Meine sah so aus:
Code:
passwd: files ldap
group: files ldap
shadow: files ldap

Duch zufall hab ich an anderer Stelle in der Config folgendes gefunden: [NOTFOUND=RETURN] also einfach nach diesem Vorbild die 3 Zeilen von oben geändert, sieht dann so aus:

LÖSUNG!!!
Code:
passwd: files [FOUND=RETURN] ldap
group: files [FOUND=RETURN] ldap
shadow: files [FOUND=RETURN] ldap

Setzt allerdings voraus, dass alle beim Booten benötigten Gruppen und Benutzer lokal existieren!
 
Sehr schön :bigok:

Selbst ist der Mann ! (und die Frau) :shot:

Dann mach ich hier mal zu ;)

--> *closed*

[ wenn du nochmal nen Problem hast > PN me, dann mach ich wieder auf ;) ]

mfg
foxxx :wink:
 
Status
Für weitere Antworten geschlossen.
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh