Master-Installation
Zunächst der wichtige Hinweis, daß die Beschreibungen in
diesem Abschnitt kein Ersatz für das NIS-Kapitel
im FreeBSD-Handbook sein sollen, sondern lediglich eine
Ergänzung!
Die Installation des NIS-Masters erfolgt prinzipiell gemäß dem
Abschnitt
»NIS/YP« im FreeBSD-Handbook,
sofern im folgenden nichts anderes angegeben wird.
Bevor man NIS auf einem FreeBSD-Rechner aufsetzt,
sollte obiger Abschnitt im Handbook unbedingt durchgelesen werden,
falls man NIS noch überhaupt nicht kennt.
Die Maps für passwd, group und ggf. andere Daten
werden im Verzeichnis /var/yp aufgesetzt,
wie es im Handbook beschrieben ist.
Dies ist ziemlich einfach und straight-forward.
Abweichend vom Handbook wird jeder Client
zugleich als NIS-Slave eingerichtet
und auf sich selbst gebunden (siehe oben).
Dadurch wird eine Autarkie erreicht, für den Fall,
daß der NIS-Master nicht erreichbar ist.
Auf dem NIS-Master, der zugleich auch Client ist
und auf sich selbst binden soll, sind folgende
Einträge in /etc/rc.conf vorzunehmen:
hostname="rumpelstilzchen.domain.com"
nisdomainname="phantasiename"
portmap_enable="YES" # FreeBSD 4
rpcbind_enable="YES" # FreeBSD 5+
nis_server_enable="YES"
nis_yppasswdd_enable="YES"
nis_client_enable="YES"
nis_client_flags="-s -S ${nisdomainname},${hostname}"
Wichtig: Im hostname sollte grundsätzlich der
Domainname mit enthalten sein, nicht nur wegen NIS!
Verschiedene Dienste können Probleme bereiten
oder besondere Konfigurationen erfordern (z.B. sendmail),
wenn die Domain nicht im hostname enthalten ist!
Der Portmapper/RPCbind kann möglicherweise ohnehin bereits enabled sein,
da er auch für andere RPC-basierte Dienste benötigt wird,
z.B. für NFS.
Der nisdomainname muß nicht unbedingt etwas mit
der DNS-Domain zu tun haben, sondern kann völlig anders aussehen.
Dadurch kann man innerhalb desselben Netzes auch mehrere
unterschiedliche NIS-Domains mit getrennten Maps verwenden,
wenn man möchte.
Um Verwechslungen zu vermeiden, wird empfohlen, als
nisdomainame nicht den DNS-Domainname zu verwenden.
Der yppasswdd-Eintrag ist nur dann erforderlich,
wenn Daten der passwd-Maps (Passwort, Shell, Fullname/Gecos)
von den Clients aus änderbar sein sollen.
Der yppasswdd nimmt dann solche Änderungen remote von den
Clients entgegen und führt sie auf dem NIS-Master durch.
Wenn dagegen Änderungen nur auf dem Master selbst durchgeführt
werden können sollen, nicht aber von den Clients aus,
dann sollte der yppasswdd auf dem Master nicht enabled
werden.
In /var/yp/Makefile sollte man die Zeile »NOPUSH = "True" «
auskommentieren, weil sonst der Master keine Pushs durchführt.
(Das Makefile ist per Default für ein Setup gedacht, in dem
es nur einen Server und keine Slaves gibt.)
In der Datei /var/yp/ypservers (dies ist ebenfalls
eine NIS-MAP) sollten alle NIS-Slaves stehen
(nicht der NIS-Master selbst).
In der Datei /var/yp/securenets sollten die
Adressen aller Netze und/oder Rechner enthalten sein,
von denen NIS-Anfragen beantwortet werden sollen.
Hier müssen alle Server und Clients enthalten sein
(entweder einzeln, oder einfach das ganze Netz),
wobei hier auch der NIS-Master selbst sowie localhost
(127.0.0.1 / 255.255.255.255) enthalten sein sollten.
Nach obigen Änderungen kann man den NIS-Dienst starten.
Danach sollte man prüfen, ob alles wie erwartet läuft.
Dabei sollte man »ganz unten« anfangen,
indem man zunächst nachschaut, ob der Portmapper/RPCbind läuft,
und ob die NIS/YP-Dienste bei ihm registriert sind.
Die Ausgabe von »rpcinfo -p « sollte auf dem
NIS-Master etwa wie folgt aussehen (wenn neben NIS weitere
RPC-Dienste laufen -- z.B. NFS --, kommen noch weitere
Zeilen hinzu):
program vers proto port
100000 2 tcp 111 portmapper
100000 2 udp 111 portmapper
100004 1 udp 1015 ypserv
100004 2 udp 1015 ypserv
100004 1 tcp 1023 ypserv
100004 2 tcp 1023 ypserv
100009 1 udp 1005 yppasswdd
100009 1 tcp 1022 yppasswdd
100007 2 udp 1001 ypbind
100007 2 tcp 1021 ypbind
Obige Ausgabe stammt von einem FreeBSD-4-System.
Bei neueren FreeBSD Versionen erscheint »rpcbind « anstelle
von »portmapper «, und weitere RPC-Versionen (2 bis 4) werden
aufgeführt. Auch weitere Abweichungen sind möglich; entscheidend ist,
daß alle erforderlichen RPC-Dienste in der rechten Spalte ausgegeben
werden.
Laut ps-Kommando sollten folgende vier Prozesse
auf dem NIS-Master laufen (alle als root und mit PPID 1):
/usr/sbin/portmap -oder- /usr/sbin/rpcbind
ypserv
ypbind -s -S phantasiename,rumpelstilzchen.domain.com
rpc.yppasswdd # nur wenn enabled
Die Ausgabe von »ypwhich« sollte dann lauten:
rumpelstilzchen.domain.com
Zur weiteren Kontrolle kann man das
Kommando »ypcat passwd « verwenden.
Es sollte den Inhalt der passwd-NIS-Map ausgeben.
|