Következő Előző Tartalom

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

7.1 A 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 láncoljá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 hozzáláncolni, és az e könyvtárhoz láncolt programok nem fognak más libc5 változatokkal működni.

Meg kell szerezned, és le kell fordítanod a GNU C 2.1-es könyvtárat az Indel alapú platformokra, a GNU C 2.1.1-es könyvtárat a 64 bites platformokra. Mint bázis rendszer, szükséged lesz egy glibc alapú disztribúcióra, mint például a Debian 2.x, RedHat 5.x, vagy SuSE Linux 6.x.

Minden disztribúcióhoz újra kell fordítanod a gcc/g++ fordítót, libstdc++ -t és az ncurses-t. RedHat-nél sok változtatást kell eszközölni a PAM konfigurációban. SuSE Linux 6.0-nál újra kell fordítani a shadow csomagot.

A NIS+ kliens szoftvert megszerezheted az alábbi címekről:

  Hely             Könyvtár                      Állomány neve

  ftp.funet.fi     /pub/gnu/funet                libc-*, glibc-crypt-*,
                                                 glibc-linuxthreads-*
  ftp.kernel.org   /pub/linux/utils/net/NIS+     nis-utils-19990223.tar.gz
  ftp.kernel.org   /pub/linux/utils/net/NIS+     pam_keylogin-1.2.tar.gz

glibc alapú disztribúciókat találhatsz az alábbi helyeken:

  Hely                   Könyvtár

  ftp.debian.org         /pub/debian/dists/slink
  ftp.redhat.com         /pub/redhat/redhat-5.2
  ftp.suse.de            /pub/SuSE-Linux/6.0

A GNU C könyvtár lefordításához kérlek, kövesd a szoftverhez kapott utasításokat. A javított, NYS-re épülő libc5-öt és a forrást, mint a hagyományos libc5 kiegészítését megtalálod az alábbi helyeken:

  Hely               Könyvtár                   Állomány neve

  ftp.kernel.org     /pub/linux/utils/net/NIS+  libc-5.4.44-nsl-0.4.10.tar.gz

Nézz körül a http://www.suse.de/~kukuk/linux/nisplus.html helyeken bővebb információkért, és a legfrisebb forrásokért.

7.2 NIS+ kliens beállítása

FONTOS: NIS+ kliens beállításához olvasd el a Solaris NIS+ dokumentációkat, hogy 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 a NIS+ szerveren. Győződj meg róla, hogy a portmap fut. Ezután ellenőrizd, hogy a Linux PC-d ideje megegyezik a NIS+ szerverével. A biztonságos RPC legfeljebb 3 perces ablak áll rendelkezésre, amíg a megbízólevelek é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>

hogy inicializáld a hideg indító állományokat. Olvasd el az nisinit manuált 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 a /etc/nsswitch.conf állományt. 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, hogy eltárold a rendszered root titkos kulcsát. (Remélem hozzáadtad az új gép publickey-ét a NIS+ szerverhen?).

A "niscat passwd.org_dir" parancsnak mostanra meg kell mutatnia a passwd adatbázisod összes bejegyzését.

7.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 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-t, ls meg kell változtatni a /etc/pam.d/login állományt ú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_keylogin.so
auth       required     /lib/security/pam_unix_auth.so
auth       required     /lib/security/pam_nologin.so
account    required     /lib/security/pam_unix_acct.so
password   required     /lib/security/pam_unix_passwd.so
session    required     /lib/security/pam_unix_session.so

7.4 Az nsswitch.conf állomány

A Hálózati Szolgáltatások kapcsoló állomány (/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 a /etc/host.conf állomány megadja az utat a gépnév feloldáshoz. Például a

    hosts: files nisplus dns

sor megadja, hogy a gépnév feloldó függvény először a helyi /etc/hosts állományt 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 jó NIS+ /etc/nsswitch.conf állomány:

#
# /etc/nsswitch.conf
#
# Egy példa Név Szolgáltatás Kapcsoló konfigurációs állomány. Ezt az
# állományt ú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                 Use NIS+ (NIS version 3)
#       nis                     Use NIS (NIS version 2), also called YP
#       dns                     Use DNS (Domain Name Service)
#       files                   Use the local files
#       db                      Use the /var/db databases
#       [NOTFOUND=return]       Stop searching if not found so far
#

passwd:     compat
# libc5-höz: passwd: files nisplus
group:      compat
# libc5-höz: group: files nisplus
shadow:     compat
# libc5-höz: shadow: files nisplus

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


Következő Előző Tartalom