A linux nis (yp)

A kérdés megválaszolásához két esetet kell figyelembe vennie:

  1. A készülék olyan hálózat része, amely már rendelkezik NIS-kiszolgálókkal
  2. Még nincsenek NIS-szerverek a hálózaton
Az első esetben, csak akkor kell a kliens programok (ypbind, ypwhich, ypcat, yppoll, ypmatch). A legfontosabb program az ypbind. A programnak mindig futnia kell, mindig a folyamatlistában kell lennie. Ez a program egy démon, és futtatni kell a rendszer indításakor (pl /etc/init.d/nis fájlok /sbin/init.d/ypclient, /etc/rc.d/init.d/ypbind, / etc / rc. helyi). Ha a ypbind démon fut a rendszeren, akkor NIS kliens lesz.

A Tobias Reber Németországból származó NIS szerver, amelyet "yps" -nek hívnak, egy másik ingyenes megvalósítása, amely nem támogatja a mester-szolga koncepciót, és más korlátokkal rendelkezik, és régóta nem támogatott.

Rendszer „/usr/lib/libc.a” (version 4.4.2 és újabb), vagy a megosztott könyvtár „/lib/libc.so.x” tartalmazza az összes szükséges rendszer kéri, hogy az ügyfél sikeresen össze és NIS szervert. A GNU C 2 könyvtár (glibc 2.x) esetében a /lib/libnsl.so.1 könyvtár is szükséges.

Néhányan azt mondják, hogy a NIS csak a 4.5.21 m-es verziójú "/usr/lib/libc.a" verzióval működik, ezért ha mindent el akarsz találni, akkor ne használd a régebbi verziókat. A NIS kliens beszerezhető innen:

Amikor megkapta az ügyfelet, kövesse az ügyfélhez kapott utasításokat. yp-clients 2.2 használható mind a libc4, mind a libc5 verziókkal az 5.4.20 verzióhoz. A libc 5.4.21 és a glibc 2.x esetében szükség van a yp-tools 1.4.1 vagy újabb verziójára. Az új yp-tools 2.2-nek minden Linux libc-vel együtt kell működnie. Mivel a libc korábbi verzióiban hiba történt a NIS kódban, nem szükséges a libc 5.4.21-5.4.35 verziója. A libc 5.4.36 vagy magasabb verzió helyett a legtöbb YP program nem működik. A ypbind 3.3 minden könyvtárral együtt is működni fog. Ha gcc 2.8.x vagy magasabb verziót használ, egcs vagy glibc 2.x, akkor hozzá kell adnod a ypbind-3.3-glibc5.diff javításokat a ypbind 3.3-hoz. Kérjük, soha ne használja az ypbind-et a yp-clients 2.2-ből. ypbind-mt egy új démon, amelyen thread (szál) használ. Szüksége van a Linux 2.2 rendszermag verziójára és a glibc 2.1 vagy újabb verzióra.

Miután sikeresen összeállította a szoftvert, készen áll a telepítésre. Az ypbind démon számára a legjobb hely az / usr / sbin könyvtár. Egyesek elmondhatják Önnek, hogy nem kell ypbind a NYS rendszeren. Ez nem igaz. Ez a ypwhich és ypcat számára szükséges.

Természetesen telepítenie kell a démont a superuser root jogosultsággal. Az egyéb programok (ypwhich, ypcat, yppasswd, yppoll, ypmatch) a felhasználók számára elérhetők, általában a / usr / bin könyvtárban.

Az ypbind új verzióinak konfigurációs fájlja az /etc/yp.conf. Ezzel beállíthatja a NIS kiszolgálót - további részletekért lásd az ypbind man oldal (8). Ez a fájl a NYS-hez is szükséges. például:

Jó lenne kipróbálni az ypbind-et, mielőtt bekapcsolná a rendszert. Az ypbind teszteléséhez tegye a következőket:

  • Győződjön meg arról, hogy megadja az YP-domain nevét. Ha ezt nem tette meg, akkor futtassa azt a parancsot, ahol a nis.domainnek meg kell egyeznie a gép megfelelő DNS-tartománynevével. Ennek az az oka, hogy ugyanazokkal a domainnevekkel rendelkező külső hackerek kis lehetőséget kapnak arra, hogy jelszó-adatbázist kapjanak a NIS szervereitől. Ha nem tudja, melyik NIS domain név van a hálózaton, kérdezze meg rendszergazdáját / hálózatát.
  • Futtassa a "/ usr / sbin / portmap" parancsot, ha még nem fut.
  • Hozzon létre a "/ var / yp" könyvtárat, ha nem létezik.
  • Futtatás "/ usr / sbin / ypbind"
  • Használja az "rpcinfo -p localhost" parancsot annak ellenőrzésére, hogy az ypbind hozzáfér-e a szolgáltatás regisztrálásához a portmapper segítségével. Meg kell szerezned: vagy attól függően, hogy a ypbind verziót használod.
  • Az "rpcinfo -u localhost ypbind" programot is futtathatja. Ennek a parancsnak a következőnek kell lennie: vagy a telepített ypbind verziójától függően. Csak a "2. verzió" üzenet érhető el.
Ezután képesnek kell lennie arra, hogy NIS kliens programokat, például ypcat-et, stb. Használjon. Például a "ypcat passwd.byname" megadja a NIS jelszóadatbázisát.

FONTOS: Ha hiányolja a tesztelési eljárást, győződjön meg róla, hogy beállította a tartománynevet, és létrehozta a könyvtárat

Ez a könyvtárnak léteznie kell ahhoz, hogy a ypbind indítása sikeres legyen.

A tartománynév beállításának helyességének ellenőrzéséhez használja a / bin / ypdomainnameet a yp-tools 2.2-ből. Ez a program a yp_get_default_domain () függvényt használja, amely korlátozottabb. Nem teszi lehetővé például a "(none)" domain név beállítását, amely alapértelmezés szerint telepítve van a Linuxban, és sok problémát okozhat.

Ha a teszt működik, akkor most meg szeretné változtatni az indítófájlokat, hogy az ypbind indításkor induljon el, és a rendszer NIS klienssé válik. Győződjön meg arról, hogy a tartománynév be van állítva az ypbind futtatása előtt.

Rendben van. Most indítsa újra a gépet, és nézze meg a rendszerindításkor kiadott üzeneteket, hogy lássa, hogy az ypbind tényleg elindult.

A csomópontok megkereséséhez telepítenie kell a (z) "nis" bejegyzést a /etc/host.conf fájlban lévő keresési sorrendben. Kérjük, olvassa el a resolv + (8) man oldal man oldalát.

Adja hozzá a következő sort a NIS kliensek / etc / passwd fájljához:

A + és - szimbólumokat a felhasználók hozzáadásához, eltávolításához vagy módosításához is használhatja. Ha ki akarja zárni a vendégfelhasználót, egyszerűen add -guest az / etc / passwd fájlba. Szeretnél egy másik parancsértelmezőt (például ksh) használni a "linux" felhasználóhoz? Nem probléma, csak add "+ linux. / Bin / ksh" (az idézőjelek nélkül) az / etc / passwd fájlba. A nem módosítható mezőket üresnek kell hagyni. A felhasználó kezeléséhez a Netgroups is használható.

Ne feledje, hogy a Linuxban felülírhatja a jelszómezőt is, mint ezt a példát. Töröltük az "ftp" nevet is, így ismeretlen lett és az anonymous ftp nem fog működni.

A hálózati csoport így néz ki

FONTOS: A hálózati csoporttal való munkavégzés megvalósítása a libc 4.5.26-tal kezdődik. Ha a 4.5.26 alatt található libc verziója van, akkor a NIS jelszóadatbázis minden felhasználója hozzáférhet a linuxos gépéhez, ha futtatod a "ypbind" parancsot.

Ehhez csak olyan fájl szükséges, amely NIS-beállításokkal (/etc/yp.conf) rendelkezik a szerver (ek) re vonatkozó helyes információkkal. Szintén helyesen kell telepíteni a névkapcsoló (/etc/nsswitch.conf) beállításait tartalmazó fájlt.

Telepítenie kell az ypbindet. Ez nem igényel libc-t, de szükséges a NIS (YP) segédprogramokhoz.

Ha a felhasználó hozzáadási / törlési képességét (+/- guest / + @ admins) szeretné használni, használja az "passwd: compat" és a "group: compat" parancsot az nsswitch.conf fájlban. Ne feledje, hogy nincs line "shadow: compat"! Ebben az esetben használja az "shadow: files nis" fájlt.

A NYS források nem részei a libc forrás 5. Amikor futtatja configure, mondjuk az első alkalommal a „NEM” a kérdést: „Értékek helyes”, majd a „YES” arra a kérdésre: „Építs NYS libc NYS”.

A glibc "hagyományos NIS-t" használ, ezért csak ypbindet kell futtatnia. A névszolgáltatás kapcsoló (/etc/nsswitch.conf) beállításait tartalmazó fájlt megfelelően telepíteni kell. Ha kompatibilis módot használ a passwd, árnyék vagy csoport számára, add "+" -ot kell hozzáadnia ezekhez a fájlokhoz, és használhatja a felhasználók hozzáadását / kizárását. A konfiguráció pontosan ugyanaz, mint a Solaris 2.x-ben.

A Nameservice Switch fájl /etc/nsswitch.conf megadja a keresési sorrendet, amelyre szükség van egy adott információra, valamint a /etc/host.conf fájlra, amely megadja a webhely-keresést. Például egy karakterlánc

meghatározza, hogy a gépnév feloldó függvény először a helyi / etc / hosts, majd NIS feloldás, végül a domain név szolgáltatás (/etc/resolv.conf és named) és ha nincs találat, akkor hibával tér vissza. Ez a fájl minden felhasználó számára olvasható legyen! További információt az nsswitch (5) vagy az nsswitch.conf (5) kézikönyv oldalán talál.

Egy jó /etc/nsswitch.conf a NIS számára:

A passwd_compat, a group_compat és az shadow_compat csak a glibc 2.x által támogatott. Ha az /etc/nsswitch.conf fájlban nincsenek árnyékszabályok, a glibc a passwd-t használja a kereséshez. A glibc-nek több modulja van a kereséshez, mint például a hahaid. A részleteket lásd a glibc dokumentációban.

Az árnyék jelszavak a NIS-en keresztül mindig rossz ötlet. Elveszíti az árnyék jelszavak által biztosított biztonságot, emellett ezt a funkciót csak néhány Linux könyvtár támogatja. Jó ötlet az árnyékjelszavak NIS használatával csak a helyi rendszerfelhasználóknak az / etc / shadow-ban való elhelyezése. Törölje a NIS felhasználói rekordokat az árnyék-jelszó adatbázisból, vagy helyezze vissza a jelszavakat az / etc / passwd fájlba. Használhatja az árnyék jelszót a gyökér felhasználó számára és a normál jelszót a NIS felhasználó számára. Ez minden NIS-ügyfélnél működni fog.

Csak a GNU C 2.x könyvtár támogatja az árnyék-jelszavakat a NIS-en keresztül. A NYS-vel kompatibilis Linux libc5-nek is vannak funkciói ehhez. De a kód néhány esetben rosszul működik, és nem mindig működik megfelelően.

A Solaris nem támogatja az árnyék jelszavakat a NIS-en keresztül.

A PAM nem támogatja az árnyék jelszavakat a NIS-en keresztül, különösen pam_pwdb / libpwdb-t. Ez nagy probléma a RedHat 5.x felhasználók számára. Ha van glibc és PAM, meg kell változtatnod az /etc/pam.d/* értékeket. Cserélje ki a pam_pwdb szabályokat pam_unix_ * modulokkal. De a pam_unix_auth.so hiba miatt ez nem mindig működik.

Példa a /etc/pam.d/login fájlra:

Az auth kell használni pam_unix_auth.so modul számla modul pam_unix_acct.so, az pam_unix_passwd.so jelszó modul és munkamenet modul pam_unix_session.so.

Kapcsolódó cikkek