A NIS kliens telepítése

Linux NIS(YP)/NYS/NIS+ HOGYAN
Előző |  | Következő

# 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:

- Győződj meg róla, hogy van YP-körzet név beállításod. Ha ez nincs beállítva, akkor add ki a következő utasítást:

      	    /bin/domainname nis.domain

  ahol a `nis.domain` olyan szöveg, aminek általában SEMMI köze a géped DNS-körzet nevéhez. Ez azért van így, hogy a külső betörők számára megnehezítse a NIS szerveredből a jelszó adatbázis megszerzését. Ha nem tudod, hogy mi a NIS körzet neve a hálózatodon, kérdezd meg a rendszergazdát/hálózati adminisztrátort.

- Indítsd el az "/sbin/portmap" programot, ha még nem fut.

- Készíts egy `/var/yp` nevű könyvtárat, ha még nem létezik.

- Indítsd el az /usr/sbin/ypbind programot.

- Ellenőrizd a rpcinfo -p localhost utasítással, hogy az ypbind be tudta-e regisztrálni a szolgáltatását a portmapper-be. A kimenetnek ilyesminek kell lennie:

             program vers proto   port
              100000    2   tcp    111  portmapper
              100000    2   udp    111  portmapper
              100007    2   udp    637  ypbind
              100007    2   tcp    639  ypbind

  vagy

             program vers proto   port
              100000    2   tcp    111  portmapper
              100000    2   udp    111  portmapper
              100007    2   udp    758  ypbind
              100007    1   udp    758  ypbind
              100007    2   tcp    761  ypbind
              100007    1   tcp    761  ypbind

  az általad használt ypbind változattól függően.

- Elindíthatod az rpcinfo -u localhost ypbind programot is. Ez az utasítás valami ehhez hasonlót fog eredményezni:

              program 100007 version 2 ready and waiting

  vagy

              program 100007 version 1 ready and waiting
              program 100007 version 2 ready and waiting

  A kimenet attól függ, hogy melyik ypbind változatot telepítetted. Csak a "version 2" üzenet fontos.

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.

### 7.6.1. Linux

Az egyetlen Linux libc, amely támogatja az árnyék jelszavak NIS feletti használatát a GNU C 2.x könyvtár. A Linux libc5-ben nincs ehhez támogatás. A Linux libc5 engedélyezett NYS-sel lefordítva tartalmaz némi kódot hozzá. Azonban ez a kód néhány esetben hibásan működik, és nem működik minden árnyék bejegyzéssel helyesen.

### 7.6.2. Solaris

A Solaris nem támogatja a NIS feletti árnyék jelszavakat.

### 7.6.3. PAM

A Linux-PAM 0.75 és újabb verzói támogatják a NIS feletti árnyék jelszavakat, amennyiben pam_unix.so modult használsz, vagy telepíted a pam_unix2.so modult. Régi rendszereknél (például RedHat 5.x) , melyek még a pam_pwdb/libpwdb-t használják, meg kell változtatnod az /etc/pam.d/* bejegyzéseket. Cseréld ki az összed pam_pwdb szabályt a pam_unix_* modulokban.

Az /etc/pam.d/login fájl például így néz ki:

    #%PAM-1.0
    auth     requisite      pam_unix2.so            nullok #set_secrpc
    auth     required       pam_securetty.so
    auth     required       pam_nologin.so
    auth     required       pam_env.so
    auth     required       pam_mail.so
    account  required       pam_unix2.so
    password required       pam_pwcheck.so          nullok
    password required       pam_unix2.so            nullok use_first_pass use_authtok
    session  required       pam_unix2.so            none # debug or trace
    session  required       pam_limits.so

Előző | Tartalomjegyzék | Következő
Mire van szükség a NIS üzembe helyezéséhez? |  | Mire van szükség a NIS+ beállításához?