7. A NIS kliens telepítése

7.1. Az ypbind démon

Miután sikeresen lefordítottad a szoftvert, készen állsz a telepítésére. Az ypbind démon számára megfelelő hely az /usr/sbin könyvtár. Néhányan mondhatnák, hogy nincs szükséged ypbind-re NYS-t tartalmazó rendszerben. Tévednek. ypwhich-re és ypcat-ra mindig szükség van.

Ezt természetesen root felhasználóként kell elvégezned. A többi binárist (ypwhich, ypcat, yppasswd, yppoll, ypmatch) olyan könyvtárba kell tenni, ami minden felhasználó számára elérhető, általában az /usr/bin könyvtárba.

Újabb ypbind változatok /etc/yp.conf nevű konfigurációs fájlal rendelkeznek. Bedrótozhatsz ide egy NIS szervert - további információkért nézd meg az ypbind(8) kézikönyv oldalt. Erre az fájlra NYS esetén is szükséged van. Például:
  ypserver 10.10.0.1
  ypserver 10.0.100.8
  ypserver 10.3.1.1

Ha a rendszer fel tudja oldani a gépneveket NIS nélül, használhatsz gépnevet, különben IP címet kell használnod. Az ypbind-3.3-ban van egy hiba, és csak a legutolsó bejegyzést használja (a példában ypserver 10.3.1.1). Minden más bejegyzést figyelmen kívül hagy. Az ypbind-mt helyesen kezeli ezt, és azt használja, amelyik először válaszol.

Jó ötlet kipróbálni az ypbind-et, mielőtt beleteszed az indítófájlokba. Az ypbind kipróbálásához a következőket kell tenned:

Ettől a ponttól kezdve használhatod az olyan NIS kliens programokat, mint például az ypcat, stb... Például az ypcat passwd.byname visszaadja neked a teljes NIS jelszó-adatbázist.

FONTOS: Ha kihagytad a tesztelő eljárást, győződj meg róla, hogy beállítottad a körzet nevét, és létrehoztad a következő könyvtárat:

    /var/yp

Ennek a könyvtárnak léteznie KELL az ypbind sikeres elindulásához.

A körzetnév helyességének ellenőrzésére használd a /bin/ypdomainname programot az yp-tools-2.2-ből. Ez az yp_get_default_domain() függvényt használja, ami sokkal szigorúbb. Nem engedélyezi például a "(semmi)" körzetnevet, ami az alapértelmezett Linux alatt, és sok probléma okozója.

Ha a teszt működik, most érdemes megváltoztatnod a démonokat indító fájlokat, hogy az ypbind a rendszer indulásakor indulhasson, és a rendszered NIS kliensként viselkedjen. Győződj meg róla, hogy a körzetnév az ypbind indítása előtt beállításra kerül!

Nos, ennyi. Indítsd újra a géped, és nézd meg a rendszerüzeneteket, hogy az ypbind elindult-e.

7.2. A NIS kliens beállítása hagyományos NIS használatával

Gépnév feloldáshoz be kell állítanod (vagy hozzá kell adnod) a "nis"-t a feloldási sorrend sorához az /etc/host.conf fájlban. Nézd meg a "resolv+.8" kézikönyv oldalt a részletes leírásért.

Add hozzá a NIS kliens az /etc/passwd fájlhoz a következő sort:

+::::::

Használhatod a + és a - karaktereket felhasználó hozzáadásához/kizárásához vagy megváltoztatásához. Ha a vendég felhasználót szeretnéd kizárni, csak add hozzá az /etc/passwd fájlhoz a "-guest" kapcsolót. Más parancsértelmezőt (például ksh) szeretnél használtatni a "linux" felhasználóval? Nem probléma, egyszerűen add hozzá a "+linux::::::/bin/ksh" (idézőjelek nélkül) sort az /etc/passwd fájlhoz. Azokat a mezőket, amelyeket nem akarsz használni, üresen kell hagyni. Használhatod a Netgroups-t a felhasználó szabályozáshoz.

Például ahhoz hogy csak miquels, dth és ed, valamint a sysadmin hálózati csopot számára engedélyezd a bejelentkezés-hozzáférést, és a többiek számára megmaradjon az azonosító, a következőket kell megadnod:

      +miquels:::::::
      +ed:::::::
      +dth:::::::
      +@sysadmins:::::::
      -ftp
      +:*::::::/etc/NoShell

Jegyezzük meg, hogy Linux rendszerben a jelszó mezőt is felül lehet bírálni ugyanúgy, ahogy ebben a példában tettük. Eltávolítottuk az "ftp" felhasználót is, tehát itt többé nem létezik, azaz az anonymous ftp nem fog többé működni.

A hálózati csoport így fog kinézni:
sysadmins (-,software,) (-,kukuk,)

FONTOS: A hálózati csoport (netgroup) beállítási lehetőség a 4.5.26-os libc változattól kezdve használható. Ha 4.5.26-os libc-nél korábbi változatod van, minden NIS jelszó-adatbázisban szereplő felhasználó hozzáférhet a Linux gépedhez, ha "ypbind"-et futtatsz!

7.3. NIS kliens beállítása NYS használatával

Mindössze arra van szükség, hogy a NIS konfigurációs fájl (/etc/yp.conf) a helyes szerver(ek)re mutasson. Ezen kívül a Névszolgáltatás Kapcsoló (Name Services Switch) konfigurációs fájlt (/etc/nsswitch.conf) helyesen be kell állítani.

Az ypbind-et fel kell még telepítened. Erre nem a libc-nek, hanem a NIS(YP) tools-nak van szüksége.

Ha szeretnéd használni a felhasználók hozzáadása/kizárása jellemzőt (+/-guest/+@admins), a "passwd: compat"-t és "group: compat" sort be kell az nsswitch.conf fájlba tenned. Jegyezzük meg, hogy nincs "shadow: compat"! "shadow: files nis" bejegyzést kell használnod ebben az esetben.

A NYS források nem részei az 5-ös libc forrásnak. Ha a configure szkriptet futtatod, válaszd első alkalommal "NO"-t a "Values correct" kérdésre, és utána "YES"-t a "Build a NYS libc from nys" kérdésre.

7.4. NIS kliens beállítása glibc 2.x segítségével

A glibc a "hagyományos NIS"-t használja, tehát el kell indítanod az ypbind-et. A Név Szolgáltatás Kapcsoló konfigurációs (Name Services Switch) fájlt (/etc/nsswitch.conf) helyesen be kell állítani. Ha a compat módot használod a passwd-hez, shadow-hoz vagy a group-hoz, hozzá kell adnod ezen fájlok végéhez a "+"-t, és használhatod a felhasználó hozzáadás/kizárás jellemzőt. A beállítás ugyanilyen Solaris 2.x esetén is.

7.5. Az nsswitch.conf fájl

A Hálózati Szolgáltatások (Network Services) beállítási fájl (/etc/nsswitch.conf) határozza meg egy meghatározott információcsoport lekérdezésekor a feloldások sorrendjét, hasonlóan ahogy az /etc/host.conf fájl meghatározza, hogy milyen módon történjen a gépnév feloldása. Például a

    hosts: files nis dns

sor meghatározza, hogy a gépnév feloldás függvény először a helyi /etc/hosts fájlt nézze, majd NIS feloldás kövesse, végül a körzetnév szolgáltatáson keresztül oldja fel (/etc/resolv.conf és named). Ennél a pontnál, ha nincs találat, hibával tér vissza. Ezt az fájlt minden felhasználó számára olvashatóvá kell tenni! További információt találsz erről az nsswitch.5, vagy az nsswitch.conf.5 kézikönyv oldalakban.

Egy NIS számára használható /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 az fájlt úgy kell rendezni, hogy a leginkább használt
# szolgáltatás kerüljön az elejére.
#
# A '[NOTFOUND=return]' bejegyzés azt jelenti, hogy egy bejegyzés
# keresése be kell, hogy fejeződjön, 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
# libc5 esetén shadow: files nis -t kell használod
shadow:     compat

passwd_compat: nis
group_compat: nis
shadow_compat: nis

hosts:      nis files dns

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

A passwd_compat, group_compat és shadow_compat csak glibc 2.x alatt támogatott. Ha nincs shadow szabály az /etc/nsswitch.conf fájlban, a glibc a passwd szabályt fogja alkalmazni a feloldáshoz. Van még néhány feloldó modul a glibc-hez, mint például a hesoid. További információért olvasd el a glibc dokumentációját.

7.6. Árnyék jelszavak NIS-sel

A NIS feletti árnyék jelszavak használata mindig rossz ötlet. Elveszted az árnyék által biztosított biztonságot, és csak néhány Linux C könyvtár támogatja. Egy jó módszer a NIS feletti árnyék jelszavak használatának elkerülésére az, hogy csak a helyi felhasználók esetén használsz árnyékjelszót az /etc/shadow fájlban. Vedd ki a NIS felhasználó bejegyzéseket az árnyék adatbázisból, és tedd vissza a jelszót a passwd fájlba. Így tehát használhatod az árnyék jelszót a root bejelentkezéshez, és a hagyományos passwd-t a NIS felhasználóhoz. Ennek a módszernek megvan az az előnye, hogy minden NIS kliens esetén működni fog.