nsswitch.conf syntax error

arcdes

Active Member
Hallo,

ich baue gerade das Samba-PDC-Wiki nach und habe irgendein Problem mit der NSS-Konfiguration ;'(

Ich habe das Startskript /rc.d/slapd/ wie beschrieben angepasst. Das Kopieren der /etc/nsswitchWithoutLDAP.conf bzw. /etc/nsswitchWithLDAP.conf beim Stoppen bzw. Starten von slapd funktioniert auch tadellos.

Jedoch erhalte ich beim Starten von slapd immer folgenden Fehler:
Code:
slapd: NSSWITCH(nslexer): /etc/nsswitch.conf line 7: syntax error at ''

Ich habe die nsswitch.conf bestimmt schon 10x kontrolliert. Sie entspricht exakt dem Wiki und anderen Quellen.

Hier nochmal meine nsswitch-Konfigurationsdateien:

Code:
[B][I]nsswitchWithLDAP.conf:[/I][/B]
group: files ldap
group_compat: nis
hosts: files dns
networks: files
passwd: files ldap
passwd_compat: nis
shells: files

[I][B]nsswitchWithoutLDAP.conf:[/B][/I]
group: compat
group_compat: nis
hosts: files dns
networks: files
passwd: compat
passwd_compat: nis
shells: files

Wo liegt der Fehler?

Außerdem startet slapd beim Booten nicht, was (glaube ich zumindest) auch damit zusammenhängt.

Hat jemand eine Idee? Kann mir vielleicht jemand seine eigenen (funktionierenden) Konfigurationsdateien posten? Vielen Dank!
 
Keine Ahnung ob das was hilft: Einen Zeilenumbruch nach der letzten (siebten) Zeile einfügen.

Ansonsten sind bei mir die beiden Files identisch wie bei dir.

Außerdem startet slapd beim Booten nicht, was (glaube ich zumindest) auch damit zusammenhängt.
Funktioniert slapd denn manuell?
Code:
# /usr/local/etc/rc.d/slapd start

mousaka
 
Funktioniert slapd denn manuell?
Nunja, ich muss erst manuell die nsswitch.conf mit dem Inhalt der nsswitchWithoutLDAP.conf füttern. Danach funktioniert der manuelle Start und Stop, sooft ich will. Nur eben mit den Fehlermeldungen.

Das mit dem Zeilenumbruch muss ich noch ausprobieren...
 
Zuletzt bearbeitet:
UPDATE:
Das mit dem Zeilenumbruch wars *anshirnlang* => keine Fehlermeldungen mehr. Das das so viel ausmacht... tststs. Vielen Dank für den Tip!!!

Aber: slapd startet immer noch nicht beim booten :grumble: Es bleibt immer hängen bei
Code:
Starting slapd.
;'(

Kann mir jemand vielleicht sein (funktionierendes) slapd-Startskript posten? Vielen vielen Dank!
 
Zuletzt bearbeitet:
Mein slapd-Skript ist eine Kopie aus dem Wiki-Artikel.

Tippe mal auf eine Problem mit der Namensauflösung nicht noch nicht gestarten ist, wenn slapd ausgeführt wird.

Ergänze mal /usr/local/etc/rc.d/slapd
Code:
...
# PROVIDE: slapd
# REQUIRE: NETWORKING SERVERS [B]named[/B]
# BEFORE: securelevel
# KEYWORD: shutdown...
Damit wird bind (named) vor dem LDAP-Server gestartet.

mousaka
 
Das mit dem named hat leider nichts gebracht.

Aber ich habe jetzt eine Lösung gefunden:
Das Problem war, dass beim Herunterfahren oder Reboot die nsswitch.conf nicht mit der nsswitchWithoutLDAP.conf überschrieben wurde (was nur beim manuellen Stop funktionierte). Deshalb habe ich jetzt im Skript unter start_precmd nochmals einen Kopierbefehl eingefügt, der die nsswitch.conf mit der nsswitchWithoutLDAP.conf sicherheitshalber nochmal überschreibt bevor anschließend die nsswitchWithLDAP.conf zum Zuge kommt . Und jetzt funzt es einwandfrei :D

Vielen vielen Dank mousaka für die wertvollen Tips! :)
 
Das Problem war, dass beim Herunterfahren oder Reboot die nsswitch.conf nicht mit der nsswitchWithoutLDAP.conf überschrieben wurde (was nur beim manuellen Stop funktionierte).
Ein guter FreeBSD-Administrator benutzt shutdown -p now und shutdown -r now statt halt/reboot! :grumble:
http://www.freebsd.ch/doc/de_DE.ISO8859-1/books/handbook/boot-shutdown.html

Hast Du dass Fettgedruckte im Kapitel "NSS" nicht gelesen? :belehren:
https://www.bsdwiki.de/FreeBSD_-_Samba_PDC#NSS

Achtung: Die ldap-Einträge in der /etc/nsswitch.conf dürfen nur in der /etc/nsswitch.conf stehen,
wenn der OpenLDAP-Server ansprechbar ist! Ist der OpenLDAP-Server nicht ansprechbar, kann sich kein
Benutzer (inklusive lokale Benutzer, wie z.B. root) mehr auf dem FreeBSD-Client anmelden!
Und somit kann auch kein OpenLDAP-Server mehr gestartet werden!
 
Ein guter FreeBSD-Administrator benutzt shutdown -p now und shutdown -r now statt halt/reboot! :grumble:

OK, das mit dem shutdown -r now sehe ich ein und ich werde meine Faulheit überwinden und ein paar Buchstaben mehr eintippen ;)

Aber was mache ich, wenn es aus irgendeinem Grund nicht zu einem sauberen Shutdown kommt? Sei es, dass jemand Strg-Alt-Entf betätigt oder beim Serverschrankumbauen auf den Reset-Knopf kommt? Sollte natürlich nicht so sein, kann aber passieren, wenn viele Hilfskräfte an den Servern arbeiten. Der Server wird nunmal in einem gemeinnützigen Verein und nicht in einer Firma betrieben, wo sich richtige Sys-Admins darum kümmern können.

Dann würde der LDAP-Server nicht mehr starten. Da finde ich die Kopiermethode ne ganz feine Notlösung.
 
Zurück
Oben