11. NIS térképek készítése és karbantartása

11.1. Új NIS térkép létrehozása

Az első NIS térképek a

    % /usr/lib/yp/ypinit -m

parancs futtatásával hozhatók létre. Ezt a NIS mester szerver létrehozásakor kell tenni. A "NIS szerver beállítása" fejezetben bővebben olvashatsz erről. Új térkép hozzáadása, illetve egy régi eltávolítása, a /var/yp/Makefile szerkesztésével lehetséges: meg kell változtatnod az all: kezdetű sort. Add hozzá vagy távolítsd el a szükséges/szükségtelen szabály nevét.

Ha eltávolítasz egy térkép bejegyzést, a hozzá tartozó fájlokat is törölnöd kell.

A változtatások után már csak a

    % make -C /var/yp

parancsot kell futtatnod és elkészülnek a térképeid.

11.2. NIS térképek frissítése

Ha megváltoztatod a NIS térképek forrásadatait, (mondjuk egy új felhasználót veszel fel a passwd fájlba) akkor újra kell generálnod a NIS térképeket is. Ezt egyszerűen a

    % make -C /var/yp

parancs kiadásával érheted el. Ez az utasítás megnézi mely források változtak, elkészíti az új téképeket és tudatja az ypserv-vel a változásokat.

11.3. A térképfájl bejegyzéseinek hossza

A NIS protokoll 1024 karakterre korlátozza egy-egy bejegyzés hosszát. Nem lehet tehát csak úgy megváltoztatni ezt az értéket, és újrafordítani a rendszert. Minden NIS v2-t használó rendszer 1024 byte-nál rövidebb kulcs és adatértékeket vár; ha hirtelen megnöveled a kliens és szerver YPMAXRECORD változójának méretét, megszakad az átjárhatóság a NIS-t használó rendszereid között. Ahhoz, hogy ez így működjön, el kellene menned minden szoftvergyártóhoz, akik rendszerei támogatják a NIS-t és rá kellene venned őket, hogy változtassák már meg az 1024 byte-os méretet, méghozzá egyszerre, és egyformán... elég csekély a valószínűsége annak, hogy eredményes lesz az utad.

A glibc 2.1-től kezdve a glibc NIS alkalmazásain ez a korlát megszűnt. Vagyis lehetségessé vált, hogy Linux rendszereken használhassunk hosszabb bejegyzéseket is, de csak ha nincs más típusú kliens, vagy szerver a rendszerben.

Ahhoz, hogy hosszabb bejegyzéseket használhass a NIS térképeken, hozzá kell adnod a /var/yp/Makefile-ban levő makedbm bejegyzéshez a --no-limit-check opciót.

Az eredmény valami ilyesmi:

DBLOAD = $(YPBINDIR)/makedbm -c -m `$(YPBINDIR)/yphelper --hostname` --no-limit-check

FIGYELEM! Ez törést okoz a NIS protokollban, és bár a Linux támogatja, nem minden Linux alatt futó program tud a változásokkal együtt dolgozni.

Van egy másik útja is a probléma megoldásának. Ken Cameron ötletéből ered és a /etc/group fájl bejegyzéseit érinti:

1. A bejegyzést több sorban helyezzük el úgy, hogy minden csoport egymástól
   kissé eltérő nevekkel szerepeljen. 
2. A GID maradjon ugyanaz minden csoportnál

3. Legyen az első bejegyzés a jó csoportnév és GID
          (Én nem teszek felhasználónevet ide)

Amikor aztán a program felhasználó szerint haladva elolvassa a GID-et, majd
visszafelé haladva megáll az első egyező GID-nél és beolvassa a hozzá
tartozó felhasználónevet. Ronda, de működik!