8. Mire van szükség a NIS+ beállításához?

8.1. Szoftver

A Linux NIS+ kliens kódot a GNU C 2-es könyvtárhoz fejlesztették ki. Vagy Linux libc5-höz is egy változat, hiszen a legtöbb kereskedelmi alkalmazást ehhez a könyvtárhoz fordítják és nem tudod őket glibc használatához újrafordítani. Problémák vannak a libc5 és NIS együttes használatában: statikus programokat nem lehet ehhez fordítani, és az e könyvtárhoz fordított programok nem fognak más libc5 változatokkal működni.

Ha olyan disztribúciód van, amelyikben nincs 2.11-es vagy újabb glibc, akkor be kell szerezned egyet, vagy frissítened kell a rendszered glibc-jét. Alaprendszerként, szükséged lesz egy glibc alapú disztribúcióra, mint például a Debian, RedHat, vagy SuSE Linux.

A NIS+ kliens szoftvert megszerezheted az alábbi címekről:
  Hely             Könyvtár                      Fájl neve

  ftp.gnu.org      /pub/gnu/glibc                glibc-2.3.2.tar.gz,
                                                 glibc-linuxthreads-2.3.2.tar.gz
  ftp.kernel.org   /pub/linux/utils/net/NIS+     nis-utils-1.4.1.tar.gz

Nézz körül a http://www.linux-nis.org/nisplus/ webhelyen további információkért, és a legfrissebb forrásokért.

8.2. NIS+ kliens beállítása

FONTOS: NIS+ kliens beállításához olvasd el a Solaris NIS+ dokumentációkat, abban van leírva mit kell tenni a szerver oldalán! Ez a dokumentáció csak a kliens oldali teendőket írja le!

Miután feltelepítetted az új libc-t és NIS-eszközöket, elkészítheted az új kliens megbízólevelét (credential) a NIS+ szerveren. Győződj meg róla, hogy a portmap fut. Ezután ellenőrizd, hogy a Linux géped ideje megegyezik a NIS+ szerverével. Biztonságos RPC használatakor legfeljebb 3 perces ablak áll rendelkezésre, amíg a megbízások érvényesek. Jó ötlet minden gépen az xntpd futtatása. Mindezek után futtasd a következőket:

domainname nisplus.domain.
nisinit -c -H <NIS+ server>

az indítófájlok beállításához. Olvasd el az nisinit kézikönyv oldalt a többi lehetőségért. Győződj meg róla, hogy a körzetnév minden újraindítás után beállítódik-e. Ha nem tudod, hogy mi a hálózatod NIS+ körzetneve, kérdezd meg a redszergazdát/hálózati adminisztrátort.

Most célszerű megváltoztatnod az /etc/nsswitch.conf fájlt. Bizonyosodj meg arról, hogy a publickey szolgáltatás utáni egyetlen szolgáltatás a nisplus ("publickey: nisplus"), és semmi más!

Ezután indítsd el a keyserv-et, és nézd meg, hogy minden induláskor ez az első elinduló démon a portmap után. Futtasd a
keylogin -r
parancsot a rendszered root titkos kulcsának eltárolásához. (Remélem hozzáadtad az új gép nyilvános kulcsát a NIS+ szerveren?).

A niscat passwd.org_dir parancsnak ekkor már meg kell mutatnia a passwd adatbázisod összes bejegyzését.

8.3. NIS+, keylogin, bejelentkezés és PAM

Amikor a felhasználó bejelentkezik, meg kell adnia a titkos kulcsát a keyserv-nek. Ezt a "keylogin" parancs hívásával teszi meg. Az árnyék (shadow) csomagban lévő login megteszi ezt a felhasználónak, ha glibc-2.1-el volt lefordítva. A PAM alapú bejelentkezéshez fel kell telepíteni a pam_keylogin-1.2.tar.gz csomagot, és meg kell változtatni az /etc/pam.d/login fájlt úgy, hogy a pam_unix_auth-ot használja, ne a pwdb-t, ami nem támogatja a NIS+ -t. Például:

#%PAM-1.0
auth       required	/lib/security/pam_securetty.so
auth       required	/lib/security/pam_unix2.so       set_secrpc
auth       required	/lib/security/pam_nologin.so
account    required	/lib/security/pam_unix2.so
password   required	/lib/security/pam_unix2.so
session    required	/lib/security/pam_unix2.so

8.4. Az nsswitch.conf fájl

A Hálózati Szolgáltatások (Network Services) beállítási fájl (/etc/nsswitch.conf) megadja, hogy milyen sorrendben történjenek a kérés-feloldások, ha egy bizonyos információkérés történt, hasonlóan ahogy az /etc/host.conf fájl meghatározza a gépnév feloldásának menetét. Például a

    hosts: files nisplus dns

sor meghatározza, hogy a gépnév feloldó függvény először a helyi /etc/hosts fájlt nézze, amit egy NIS+ feloldás kövessen, végül a körzetnév szolgáltatást kérdezze (/etc/resolv.conf és named), ami után ha nincs találat, akkor hibával tér vissza.

Egy használható NIS+ /etc/nsswitch.conf fájl:
#
# /etc/nsswitch.conf
#
# Egy példa Név Szolgáltatás Kapcsoló (Name Service Switch) beállítási fájl.
# Ezt a fájlt úgy kell rendezni, hogy a legtöbbször használt szolgáltatás
# kerüljön az elejére.
#
# A '[NOTFOUND=return]' bejegyzés azt jelenti, hogy egy bejegyzés
# keresése fejeződjön be, ha az előző bejegyzés keresése
# nem adott vissza semmit. Jegyezzük meg, hogy ha a keresés más
# okból hibás (mondjuk nem válaszol NIS szerver), akkor a keresés
# folytatódik a következő bejegyzéssel.
#
# Lehetséges bejegyzések:
#
#	nisplus			Használj NIS+ -t (NIS 3-as verzió)
#	nis			Használj NIS-t   (NIS 2-es verzió), YP-nek is hívják
#	dns			Használj DNS-t   (Domain Name Service: Körzet Név Szolgáltatás)
#	files			Használd a helyi fájlokat
#	db			Használd a /var/db adatbázist
#	[NOTFOUND=return]	Hagyd abba a keresést, ha nem találod
#

passwd:     compat
group:      compat
shadow:     compat

passwd_compat: nisplus
group_compat:  nisplus
shadow_compat: nisplus

hosts:      nisplus files dns

services:   nisplus [NOTFOUND=return] files
networks:   nisplus [NOTFOUND=return] files
protocols:  nisplus [NOTFOUND=return] files
rpc:        nisplus [NOTFOUND=return] files
ethers:     nisplus [NOTFOUND=return] files
netmasks:   nisplus [NOTFOUND=return] files
netgroup:   nisplus
bootparams: nisplus [NOTFOUND=return] files
publickey:  nisplus
automount:  files
aliases:    nisplus [NOTFOUND=return] files