<!DOCTYPE Article PUBLIC "-//OASIS//DTD DocBook V4.1//EN">

<article id="index" lang="hu">

<artheader>

<title>Linux NIS(YP)/NYS/NIS+ HOGYAN</title>
<author>
<firstname>Thorsten Kukuk</firstname>
</author>
<pubdate>v1.3, 2003. július 1.</pubdate>

<abstract>

<para>
<indexterm><primary>HOWTOs!NIS</primary></indexterm>
<indexterm><primary>HOWTOs!YP</primary></indexterm>
<indexterm><primary>HOWTOs!NYS</primary></indexterm>
<indexterm><primary>HOWTOs!NIS+</primary></indexterm>
Ez a dokumentáció elmagyarázza, hogyan kell a Linux rendszert NIS(YP)
vagy NIS+ kliensként beállítani, és hogy kell NIS szerverként
telepíteni.
</para>

</abstract>

</artheader>
<sect1 id="introduction">
<title>Bevezetés</title>

<para>
Egyre több linuxos gépet telepítenek hálózat részeként.
A hálózati adminisztráció egyszerűsítéséhez, a legtöbb hálózatban (leginkább
a Sun alapú hálózatokban) Hálózati Információs Szolgáltatást (Network Information
Service, továbbiakban NIS) futtatnak. A Linux rendszerek teljes mértékben fel tudják
használni a már meglévő NIS szolgáltatásokat, és ők maguk is képesek NIS
szolgáltatásokat nyújtani. Mindemellett képesek teljes értékű NIS+ kliensként
viselkedni, ez a támogatás egyelőre béta állapotban van.
</para>

<para>
Ez a dokumentáció megpróbál választ adni a NIS(YP) és NIS+ beállításával
kapcsolatos kérdésekre, amik a Linux rendszereden felmerülhetnek.
Ne felejtsd el elolvasni "Az RPC Portmapper (Távoli Eljáráshívás kapuhozzárendelő)" fejezetet!
</para>

<para>
A NIS-HOGYANt szerkeszti, és karbantartja:
</para>

<para>

<screen>
        Thorsten Kukuk, &#60;kukuk@suse.de&#62;
</screen>

</para>

<para>
Az első NIS-HOGYAN forrása az alábbi emberektől származik, akiknek eme
dokumentáció első verzióit köszönhetjük:
</para>

<para>

<screen>
Andrea Dell'Amico       &#60;adellam@ZIA.ms.it&#62;
Mitchum DSouza          &#60;Mitch.DSouza@NetComm.IE&#62;
Erwin Embsen            &#60;erwin@nioz.nl&#62;
Peter Eriksson          &#60;peter@ifm.liu.se&#62;
</screen>

</para>


<sect2>
<title>A dokumentum új verziói</title>

<para>
Mindig megtalálhatod a legfrissebb változatot, megnézheted a World Wide Web használatával a
<ulink url="http://www.linux-nis.org/nis-howto/HOWTO/NIS-HOWTO.html">
http://www.linux-nis.org/nis-howto/HOWTO/NIS-HOWTO.html</ulink> honlapot.
</para>

<para>
A dokumentáció új verziói több linuxos WWW és FTP helyre felkerülnek,
beleértve az LDP honlapot is.
</para>

<para>
A dokumentáció fordításaira mutató hivatkozásokat a
<ulink url="http://www.linux-nis.org/nis-howto/">
http://www.linux-nis.org/nis-howto/</ulink> honlapon találod.
</para>

</sect2>

<sect2>
<title>A felelősség teljes elhárítása</title>

<para>
Habár ezt a dokumentációt a legjobb tudásom szerint állítottam össze,
lehet, sőt, szinte biztos, hogy tartalmaz hibákat. Kérlek, olvass el
minden OLVASSEL (README) fájlt, ami ebben a dokumentációban
leírtakhoz kapcsolódik, hogy még részletesebb, és pontosabb
információkat szerezhess. Megpróbálom amennyire csak lehet hibátlanul
tartani ezt a dokumentumot.
</para>

</sect2>

<sect2>
<title>Visszajelzés és javítások</title>

<para>
Ha kérdésed, vagy megjegyzésed van ezzel a dokumentummal
kapcsolatban, kérlek ne habozz levelet küldeni Thorsten Kukuknak a
<ulink url="mailto:kukuk@linux-nis.org">kukuk@linux-nis.org</ulink>
e-mail címre. Örömmel fogadok bármilyen ötletet vagy kritikát.
Ha hibát találnál e dokumentációban, kérlek értesíts, hogy ki tudjam
javítani a következő változatban. Köszönöm.
</para>

<para>
Kérlek <emphasis>ne</emphasis> küldj nekem levelet a Linux disztribúciód belső
problémáiról! Nem ismerem mindegyik Linux disztribúciót, de
megpróbálom hozzáadni az összes megoldást, amit küldesz.
</para>

</sect2>

<sect2>
<title>Köszönetnyilvánítás</title>

<para>
Szeretnénk megköszönni mindenkinek, aki közreműködött (közvetlenül,
  vagy közvetve) eme dokumentum létrehozásában. ABC sorrendben:
</para>

<para>

<screen>
Byron A Jeff            &#60;byron@cc.gatech.edu&#62;
Markus Rex              &#60;msrex@suse.de&#62;
Miquel van Smoorenburg  &#60;miquels@cistron.nl&#62;
Dan York                &#60;dyork@lodestar2.com&#62;
Christoffer Bromberg    &#60;christoffer@web.de&#62;
</screen>

</para>

<para>
Theo de Raadt felelős az eredeti yp-kliensek kódjáért. Swen Thuemmler
portolta az yp-kliensek kódját Linuxra, illetve az yp-rutinokat libc-
be (szintén Theo munkájára alapozva). Thorsten Kukuk írta a NIS(YP)
és NIS+ rutinokat GNU libc 2.x-re a semmiből.
</para>
</sect2>
<sect2>
        <title>Magyar fordítás</title>
        <para>
	    A magyar fordítást <ulink url="mailto:bbk@swi.hu_NO_SPAM">Bábos Balázs</ulink> készítette (?).
	    A dokumentumot <ulink url="mailto:petvolgyi@freemail.hu_NO_SPAM">Völgyi Péter</ulink> frissítette (2003.02.28).
	    A lektorálást <ulink url="mailto:sysop@szigetvar.partner.enternet.hu_NO_SPAM">Szilágyi Szilárd</ulink> végezte el (2003.09.04).
	    Utoljára <ulink url="mailto:dacas@freemail.hu_NO_SPAM">Daczi László</ulink> frissítette (2003.10.14).
	    A dokumentum legfrissebb változata megtalálható a <ulink url="http://tldp.fsf.hu/index.html">Magyar Linux Dokumentációs Projekt</ulink> honlapján.
   </para>
  </sect2>
</sect1>

<sect1 id="glossary">
<title>Összefoglalás és általános információ</title>

<sect2>
<title>Kifejezések összefoglalása
<indexterm><primary>NIS!glossary</primary></indexterm>
<indexterm><primary>YP!glossary</primary></indexterm>
<indexterm><primary>NYS!glossary</primary></indexterm>
<indexterm><primary>NIS+!glossary</primary></indexterm>
<indexterm><primary>glossary!NIS/NYS/YP/NIS+</primary></indexterm>
</title>

<para>
Ebben a dokumentumban nagyon sok szakkifejezés található. Íme a
legfontosabb szakkifejezések rövid magyarázata:
</para>

<para>
<variablelist>

<varlistentry>
<term>DBM</term>
<listitem>
<para>
DataBase Management (adatbázis-menedzselés), egy könyvtárnyi
függvény, amely kulcs-tartalom párokat kezelnek egy
adatbázisban.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>DLL</term>
<listitem>
<para>
Dynamically Linked Library (dinamikusan láncolt programkönyvtár),
futtatható programhoz futásidőben hozzákapcsolódó programkönyvtár.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>domainname</term>
<listitem>
<para>
A domain name (domain név) egy "kulcs", amit a
NIS kliens arra használ, hogy megfelelő NIS szervert
találjon, ami ezt a domain név kulcsot szolgáltatja.
Itt jegyezném meg, hogy ennek általában semmi köze
sincs a gép(ek) DNS "domain nevéhez" (gép név).
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>FTP</term>
<listitem>
<para>
File Transfer Protocol (fájl átviteli protokoll), fájlok
két számítógép közötti átvitelére szolgáló protokoll.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>libnsl</term>
<listitem>
<para>
Name services library (név szolgáltató könyvtár), SVR4 Unixok
névszolgáltatás-hívásainak (getpwnam, getservbyname, stb...)
könyvtára. A GNU libc használja ezt a NIS(YP) és NIS+
függvényekhez.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>libsocket</term>
<listitem>
<para>
Socket services library (foglalat szolgáltatás könyvtár), SVR4
Unixok socket szolgáltatás-hívásainak (socket, bind, listen,
stb.) programkönyvtára.

</para>
</listitem>
</varlistentry>
<varlistentry>
<term>NIS</term>
<listitem>
<para>
Network Information Service (hálózati információs szolgáltatás),
a hálózat gépei számára olyan információt kínáló szolgáltatás,
amit a teljes hálózatnak ismernie kell. A Linux általános libc
könyvtára támogatást nyújt a NIS használatához, amire a
következőkben "hagyományos NIS" néven fogunk hivatkozni.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>NIS+</term>
<listitem>
<para>
Network Information Service (Plus :-) (hálózati információs
szolgáltatás plusz), alapvetően NIS szteroidokkal. A NIS+
szolgáltatást a Sun Microsystems Inc. tervezte a NIS-t
lecserélendő, hogy nagy telepítések esetén
biztonságosabb, és jobban kezelhető legyen.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>NYS</term>
<listitem>
<para>
Ez egy projekt neve, a NIS+-t, YP-t és a Switch (kapcsoló)
rövidítése, Peter Eriksson &gt;peter@ifm.liu.se&lt; vezeti.
Többek között a NYS könyvtár Name Services Switch (név szolgáltatás
kapcsoló) funkcionalitását használó NIS (= YP) kód teljes
újraírását foglalja magába.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>NSS</term>
<listitem>
<para>
Name Service Switch (név szolgáltatás kapcsoló), Az
/etc/nsswitch.conf fájl határozza meg a különböző kért
információ-darabok fellapozásának sorrendjét.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>RPC</term>
<listitem>
<para>
Remote Procedure Call (távoli eljáráshívás). Az RPC rutinok
lehetővé teszik C programok számára, hogy hálózaton keresztül
más gépeken eljárásokat hívjanak meg. Amikor RPC-ről beszélünk,
legtöbbször a Sun RPC változatára gondolunk.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>YP</term>
<listitem>
<para>
Yellow Pages(tm) (sárga oldalak(tm)), A United Kingdom
of British Telecom plc bejegyzett védjegye.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>TCP-IP</term>
<listitem>
<para>
Transmission Control Protocol/Internet Protocol (átvitelirányító
protokoll/internet protokoll), Unix gépeken leggyakrabban ezt az
adatkommunikációs protokollt használják.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>

</sect2>

<sect2>
<title>Néhány általános információ
<indexterm><primary>NIS!general information</primary></indexterm>
<indexterm><primary>YP!general information</primary></indexterm>
<indexterm><primary>NYS!general information</primary></indexterm>
<indexterm><primary>NIS+!general information</primary></indexterm>
</title>

<para>
A következő 4 sor idézet a Sun(tm) Rendszer- és hálózati
  adminisztráció kézikönyvéből:
</para>

<para>

<screen>
    "A NIS korábban Sun Yellow Pages (YP) néven volt
    ismert, de a Yellow Pages(tm) az United Kingdom of
    British Telecom plc bejegyzett védjegye, és tilos
    a beleegyezésük nélkül felhasználni."
</screen>

</para>

<para>
A NIS a Hálózati Információs Szolgáltatás rövidítése. A célja az, hogy
a hálózat gépei számára olyan információt kínáljon, amit a teljes
hálózatnak ismernie kell. A NIS által szolgáltatott információk:

<itemizedlist>
<listitem>
<para>
 felhasználói nevek/jelszavak/home könyvtárak (/etc/passwd)
</para>
</listitem>
<listitem>
<para>
 csoport információ (/etc/group)
</para>
</listitem>
</itemizedlist>

</para>

<para>
Ha például a jelszavad bejegyzése szerepel a NIS jelszó adatbázisban,
be tudsz jelentkezni a hálózat minden olyan gépére, amin fut a NIS
kliens program.
</para>

<para>
A Sun a Sun Microsystems Inc. bejegyzett védjegye,
amit a SunSoft Inc. számára licencelt.
</para>

</sect2>

</sect1>

<sect1 id="which">
<title>NIS, NYS vagy NIS+?</title>

<sect2>
<title>libc 4/5 hagyományos NIS-el, vagy NYS ?
<indexterm><primary>libc4/5, use with NIS/NYS</primary></indexterm>

<indexterm><primary>NIS/NYS, use with libc4/5</primary></indexterm>
</title>

<para>
A választás a "hagyományos NIS" és a NYS könyvtár NIS kódja között
olyan, mint a választás a lustaság és fejlettség, vagy a rugalmasság
és a kaland imádata között.
</para>

<para>
A "hagyományos NIS" kód az általános C könyvtárban található már
jó ideje, néha a korától és a rugalmatlanságától szenved.
</para>

<para>
A NYS könyvtár NIS kódjának használatához újra kell fordítanod a libc
könyvtárat, és bele kell fordítani a NYS kódot (vagy legalábbis
szerezned kell valakitől, aki már elkészítette egy előfordított libc
változatot).
</para>

<para>
A másik különbség, hogy a hagyományos NIS kód tartalmaz némi NIS
Netgroups (NIS Hálózati csoportok) támogatást, szemben a NYS kóddal.
Másfelől a NYS kód lehetővé teszi, hogy árnyék jelszavakat (Shadow
Password) használj teljesen átlátszó módon. A "hagyományos NIS" kód
nem engedélyezi NIS feletti árnyék jelszavak használatát.
</para>

</sect2>

<sect2>
<title>glibc 2 és NIS/NIS+
<indexterm><primary>glibc2, use with NIS/NIS+</primary></indexterm>
<indexterm><primary>NIS/NIS+, use with glibc2</primary></indexterm>
</title>

<para>
Ezt mind el is felejtheted, ha az új GNU C könyvtár 2.x-et (azaz libc6) használsz.
Ebben valódi NSS (név kapcsolás szolgáltatás) támogatás van, ami nagyon rugalmassá teszi,
valamint a következő NIS/NIS+ térképekre is tartalmaz támogatást: aliases, ethers, group,
hosts, netgroups, networks, protocols, publickey, passwd, rpc, services és shadow.
A GNU C könyvtárnak nincs problémája a NIS feletti árnyék jelszavakkal.
</para>

</sect2>

<sect2>
<title>NIS vagy NIS+ ?
<indexterm><primary>NIS vs. NIS+</primary></indexterm>
</title>

<para>
A NIS és NIS+ közötti választás nagyon könnyű - használj NIS-t, ha nincs szükséged a NIS+-ra,
vagy ha komoly biztonsági szükségleteid vannak. NIS+-t  sokkal körülményesebb adminisztrálni
(nagyon könnyű kezelni a kliens oldalról, de a szerver oldalán szörnyű). Másik probléma,
hogy a NIS+ Linux alatti támogatása sok hibát tartalmaz, és a fejlesztése is leállt.
</para>

</sect2>

</sect1>

<sect1 id="operation">
<title>Hogyan működik?</title>

<sect2>
<title>Hogyan működik a NIS?
<indexterm><primary>NIS/YP, theory of operation</primary></indexterm>
</title>

<para>
Egy hálózaton belül legalább egy, NIS szerverként működő gépnek kell
lennie.  Lehet több NIS szerver is úgy, hogy mindegyik más NIS
"körzetet" szolgál ki - vagy lehetnek együttműködő NIS szervereid is,
ahol van egy mester NIS szerver, és a többi úgynevezett szolga NIS
szerver (egy adott NIS "körzetedre" ez így is van) - vagy lehet
vegyesen is...
</para>

<para>
A szolga szervereknek a NIS adatbázisról csak egy másolatuk van, és
ezeket a másolatokat a mester NIS szervertől kapják, amikor abban
változás történt. A hálózatod gépeinek számától és a hálózatod
megbízhatóságától függően választhatsz, hogy egy vagy több szolga
szervert telepítesz. Amikor egy NIS szerver lekapcsolódik, vagy túl
lassan válaszol a kérésekre, a NIS kliens, ami ehhez a szerverhez
kapcsolódik, megpróbál egy működő vagy gyorsabb szervert találni.
</para>

<para>
A NIS adatbázisok úgynevezett DBM formátumban tárolódnak, amik ASCII
adatbázisból konvertálhatók. Például az /etc/passwd és az /etc/group
fájlok közvetlenül átalakíthatók DBM formátumba ASCII-ből-DBM-be
átalakító szoftverrel ("makedbm", amit a szerver szoftveréhez
csatolnak). A mester NIS szerveren egyaránt kell ASCII és DBM
adatbázisnak lennie.
</para>

<para>
A szolga szerverek minden a NIS térképben történt változásról értesülnek
(az <command>"yppush"</command> program segítségével),
és automatikusan megkapják az adatbázisok szinkronizálásához szükséges változásokat.
A NIS klienseknek nem kell ezt megtenniük, hiszen ők folyamatosan a NIS
szerverrel kommunikálnak, hogy a szerverek DBM adatbázisából
megszerezzék a szükséges információkat.
</para>

<para>
A régi ypbind változatok üzenetszórással keresnek futó NIS szervert.
Ez nem biztonságos, mert bárki telepíthet NIS szervert, és válaszolhat
az üzenetszórással érkező üzenetekre. Az ypbind újabb változatai
(ypbind-3.3 vagy ypbind-mt) képesek a szervert konfigurációs
fájlból olvasni - tehát nincs szükség üzenetszórásra.

</para>

</sect2>

<sect2>
<title>Hogyan működik a NIS+?
<indexterm><primary>NIS+!theory of operation</primary></indexterm>
</title>

<para>
A NIS+ a Sun hálózati információs névszolgáltatásának új változata. A
legnagyobb különbség a NIS és NIS+ között az, hogy a NIS+ támogatja az
adattitkosítást és a biztonságos RPC hitelesítést.
</para>

<para>
A NIS+ névmodellje fa-struktúrán alapul. Minden levél a fában egy NIS+
objektumnak felel meg. Az objektumok hat típusa: könyvtár, bejegyzés,
csoport, hivatkozás, tábla és privát.
</para>

<para>
A NIS+ névterület gyökerét alkotó NIS+ könyvtárat gyökér könyvtárnak
hívják. Két különleges NIS+ könyvtár létezik: org_dir és groups_dir.
Az org_dir (org=organization: szervezet, dir=directory: könyvtár)
könyvtár tartalmazza az összes adminisztrációs táblát, olyanokat mint
a passwd (passwd=password: jelszó), hosts (hosts: gépnevek) és a
mail_aliases (mail aliases: levél álnevek). A groups_dir (groups:
csoportok) könyvtár tartalmazza a hozzáférés vezérlésére szolgáló NIS+
csoport objektumokat. Az org_dir, groups_dir és a szülő könyvtárak
együttesét NIS+ körzetnek nevezzük (NIS+ domain).
</para>

</sect2>

</sect1>

<sect1 id="portmapper">
<title>Az RPC Portmapper (Távoli Eljáráshívás kapuhozzárendelő)
<indexterm><primary>RPC portmapper</primary></indexterm>
<indexterm><primary>portmapper, RPC</primary></indexterm>
<indexterm><primary>NIS!use of RPC portmapper</primary></indexterm>
</title>

<para>
A lentebb említésre kerülő programok futtatásához el kell indítanod az
/sbin/portmap programot. Néhány Linux disztribúció már tartalmazza
a kódot e démon futtatásához az /sbin/init.d/ vagy /etc/rc.d/
könyvtárakban. Csak annyit kell tenned, hogy aktiválod és újraindítod
a Linux gépedet. Olvasd el a Linux disztribúciód dokumentációjában
ennek menetét.
</para>

<para>
Az RPC portmapper (portmap(8) egy RPC program számokat TCP/IP (vagy
UDP/IP) protokoll port számokká alakító szerver. Ennek futnia kell
ahhoz, hogy RPC hívásokat (mint amilyeneket a NIS/NIS+ kliens szoftver
is nyújt) adhass RPC szervereknek (mint amilyen a NIS vagy NIS+ szerver)
azon a gépen.  Amikor egy RPC szerver elindul, megmondja a portmap-nek
hogy melyik porton hallgat, és milyen RPC program számok
kiszolgálására van felkészítve.  Amikor egy kliens RPC hívást szeretne
tenni egy adott programszámra, először kapcsolatot teremt a szerver
portmap-jével, hogy megállapítsa, melyik portcímre küldje az RPC
csomagokat.
</para>

<para>
Szabványosan, az általános RPC szervert az inetd(8) indítja, így a
portmap-nek már az inetd indulása előtt el kell indulnia.
</para>

<para>
A biztonságos RPC-hez a portmapper-nek szüksége van az idő
szolgáltatásra (Time service). Győződj meg arról, hogy engedélyezted
az idő szolgáltatást az /etc/inetd.conf-ban minden gépre:

<screen>
#
# Az idő szolgáltatás óra egyeztetésre használatos.
#
time    stream  tcp     nowait  root    internal
time    dgram   udp     wait    root    internal
</screen>

</para>

<para>
FONTOS: Ne feledkezz el a konfigurációs fájlok változtatása után
az inetd újraindításáról!
</para>

</sect1>

<sect1 id="setting-nis">
<title>Mire van szükség a NIS üzembe helyezéséhez?
<indexterm><primary>NIS!setting up</primary></indexterm>
</title>

<sect2>
<title>Határozd meg, hogy géped szerver, szolga vagy kliens lesz.
<indexterm><primary>NIS!determining system type</primary></indexterm>
</title>

<para>
 Ennek eldöntéséhez két esetet kell megvizsgálni:
</para>

<para>

<orderedlist>
<listitem>

<para>
A géped egy már NIS szervereket tartalmazó hálózat része lesz.
</para>
</listitem>
<listitem>

<para>
Még nincs NIS szervered a hálózatban.
</para>
</listitem>

</orderedlist>

</para>

<para>
Az első esetben csak a kliens programokra van szükséged (ypbind,
ypwhich, ypcat, yppoll, ypmatch). A legfontosabb program az ypbind.
Ennek a programnak állandóan futnia kell, ami azt jelenti, hogy mindig
szerepelnie kell a folyamatok listájában (list of processes). Ez egy
démon folyamat, és a rendszerindító fájlokból kell indítani (például
/etc/init.d/nis, /sbin/init.d/ypclient, /etc/rc.d/init.d/ypbind,
/etc/rc.local).  Amint fut az ypbind, a géped máris NIS klienssé válik.
</para>

<para>
A második esetben, ha még nincs NIS szervered, akkor a NIS szerver
programokra is szükséged lesz (általában ypserv-nek hívják).
A "NIS szerver beállítása" fejezet mutatja be, hogy hogyan kell a
Linux gépedre NIS szervert telepíteni, használva az <command>ypserv</command> démont.
</para>

</sect2>

<sect2>
<title>A szoftver
<indexterm><primary>NIS!library requirements</primary></indexterm>
</title>

<para>
A NIS kliens és szerver szoftver sikeres lefordításához minden
szükséges rendszerhívás megtalálható az "/usr/lib/libc.a" (v.4.4.2 és újabb)
rendszerkönyvtárban, vagy a "/lib/libc.so.x" oszott könyvtárban.
A GNU C könyvtár 2-höz (glibc 2.x), a /lib/libnsl.so.1 is szükséges.
</para>

<para>
Néhányan jelezték, hogy a NIS csak 4.5.21 és újabb "/usr/lib/libc.a"
változatokkal működik, tehát ha biztonságosan szeretnéd használni, ne
használj régebbi libc-ket. A NIS kliens szoftver beszerezhető az
alábbi helyekről:
</para>

<para>

<screen>
  Hely                  Könyvtár                         Fájl neve

  ftp.kernel.org        /pub/linux/utils/net/NIS         yp-tools-2.8.tar.gz
  ftp.kernel.org        /pub/linux/utils/net/NIS         ypbind-mt-1.13.tar.gz
  ftp.kernel.org        /pub/linux/utils/net/NIS         ypbind-3.3.tar.gz
  ftp.kernel.org        /pub/linux/utils/net/NIS         ypbind-3.3-glibc5.diff.gz
</screen>

</para>

<para>
Amint megszerezted a szoftvert, kérlek, kövesd a szoftverrel kapott
utasításokat.  Az yp-clients-2.2 libc4-el és libc5-el használható
5.4.20-ig. A libc5.4.21-hez és glibc 2.x-hez yp-tools-1.4.1-re vagy
újabbra lesz szükséged. Az új yp-tools-2.4-nek minden Linux libc-vel
működnie kell. Mivel volt egy hiba a NIS kódban, ne használj
libc-5.4.21-5.4.35 közötti változatot. Használj inkább 5.4.36-os vagy
frissebb libc könyvtárat helyette, vagy a a legtöbb YP program nem fog működni. Az
ypbind 3.3 is működni fog minden könyvtárral. Ha gcc-2.8.x-et vagy
újabbat használsz, egcs-t vagy glibc-2.x-t, hozzá kell adnod az
ypbind-3.3-glibc5.diff foltot (patch) az ypbind-3.3-hoz. Ha lehetséges
ne használd az ypbind 3.3-as verzióját, biztonsági hiányosságokból kifolyólag.
Az ypbind-mt egy új, többszálú démon. 2.2-es Linux kernel kell hozzá,
és 2.1-es vagy újabb glibc.
</para>

</sect2>
</sect1>


<sect1 id="settingup-client">
<title>A NIS kliens telepítése
</title>
<sect2>
<title>Az ypbind démon
<indexterm><primary>NIS!ypbind daemon</primary></indexterm>

<indexterm><primary>ypbind NIS daemon</primary></indexterm>

<indexterm><primary>daemon!ypbind</primary></indexterm>
</title>

<para>
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.
</para>

<para>
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.
</para>

<para>
Ú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:

<screen>
  ypserver 10.10.0.1
  ypserver 10.0.100.8
  ypserver 10.3.1.1
</screen>

</para>

<para>
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.
</para>

<para>
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:
</para>

<para>

<itemizedlist>
<listitem>

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

<screen>
	    /bin/domainname nis.domain

</screen>

	ahol a <literal remap="tt">nis.domain</literal> 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.

</para>
</listitem>
<listitem>

<para>
Indítsd el az "<command>/sbin/portmap</command>" programot, ha még nem fut.

</para>
</listitem>
<listitem>

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

</para>
</listitem>
<listitem>

<para>
Indítsd el az <command>/usr/sbin/ypbind</command> programot.

</para>
</listitem>
<listitem>

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


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

</screen>


vagy


<screen>
       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

</screen>


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

</para>
</listitem>
<listitem>

<para>
Elindíthatod az <command>rpcinfo -u localhost ypbind</command> programot is.
Ez az utasítás valami ehhez hasonlót fog eredményezni:
<screen>
        program 100007 version 2 ready and waiting

</screen>


vagy


<screen>
        program 100007 version 1 ready and waiting
        program 100007 version 2 ready and waiting

</screen>


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

</itemizedlist>

</para>

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

<para>
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:
</para>

<para>

<screen>
    /var/yp
</screen>

</para>

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

<para>
A körzetnév helyességének ellenőrzésére használd a
<command>/bin/ypdomainname</command> 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.

</para>

<para>
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!

</para>

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

</para>

</sect2>

<sect2>
<title>A NIS kliens beállítása hagyományos NIS használatával
<indexterm><primary>NIS!client setup</primary></indexterm>
</title>

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

</para>

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

<para>

<screen>
+::::::
</screen>

</para>

<para>
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 <filename>/etc/passwd</filename>
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 <filename>/etc/passwd</filename>
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.
</para>

<para>
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:
</para>

<para>

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

</para>

<para>
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.
</para>

<para>
A hálózati csoport így fog kinézni:

<screen>
sysadmins (-,software,) (-,kukuk,)
</screen>

</para>

<para>
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!
</para>

</sect2>

<sect2>
<title>NIS kliens beállítása NYS használatával
<indexterm><primary>NYS!client setup</primary></indexterm>
</title>

<para>
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.

</para>

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

<para>
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.
</para>

<para>
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.
</para>

</sect2>

<sect2>
<title>NIS kliens beállítása glibc 2.x segítségével
<indexterm><primary>NIS!client setup!using glibc 2.x</primary></indexterm>
</title>

<para>
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.
</para>

</sect2>

<sect2>
<title>Az nsswitch.conf fájl
<indexterm><primary>nsswitch.conf file</primary></indexterm>

<indexterm><primary>NIS!nsswitch.conf file</primary></indexterm>
</title>

<para>
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
</para>

<para>

<screen>
    hosts: files nis dns
</screen>

</para>

<para>
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.
</para>

<para>
Egy NIS számára használható /etc/nsswitch.conf fájl:

<screen>
#
# /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
</screen>

</para>

<para>
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.
</para>

</sect2>

<sect2>
<title>Árnyék jelszavak NIS-sel
<indexterm><primary>NIS!shadow passwords</primary></indexterm>
</title>

<para>
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.
</para>

<sect3>
<title>Linux</title>

<para>
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.
</para>

</sect3>

<sect3>
<title>Solaris</title>

<para>
A Solaris nem támogatja a NIS feletti árnyék jelszavakat.
</para>

</sect3>

<sect3>
<title>PAM
<indexterm><primary>PAM!shadow passwords</primary></indexterm>
</title>

<para>
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.
</para>

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

<para>

<screen>
#%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
</screen>

</para>

</sect3>

</sect2>

</sect1>

<sect1 id="nisplus">
<title>Mire van szükség a NIS+ beállításához?</title>

<sect2>
<title>Szoftver
<indexterm><primary>NIS+!software required</primary></indexterm>
</title>

<para>
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 fordítjá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 ehhez fordítani, és az e
könyvtárhoz fordított programok nem fognak más libc5 változatokkal működni.
</para>

<para>
Ha olyan disztribúciód van, amelyikben nincs 2.11-es vagy újabb glibc,
akkor be kell szerezned egyet, vagy frissítened kell a rendszered glibc-jét.
Alaprendszerként, szükséged lesz egy glibc alapú disztribúcióra,
mint például a Debian, RedHat, vagy SuSE Linux.
</para>

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

<screen>
  Hely             Könyvtár                      Fájl neve

  ftp.gnu.org      /pub/gnu/glibc                glibc-2.3.2.tar.gz,
                                                 glibc-linuxthreads-2.3.2.tar.gz
  ftp.kernel.org   /pub/linux/utils/net/NIS+     nis-utils-1.4.1.tar.gz
</screen>

</para>

<para>
Nézz körül a <ulink url="http://www.linux-nis.org/nisplus/">http://www.linux-nis.org/nisplus/</ulink> webhelyen további információkért,
és a legfrissebb forrásokért.
</para>

</sect2>

<sect2>
<title>NIS+ kliens beállítása
<indexterm><primary>NIS+!client setup</primary></indexterm>
</title>

<para>
FONTOS: NIS+ kliens beállításához olvasd el a Solaris NIS+
dokumentációkat, abban van leírva mit kell tenni a szerver oldalán!
Ez a dokumentáció csak a kliens oldali teendőket írja le!
</para>

<para>
Miután feltelepítetted az új libc-t és NIS-eszközöket, elkészítheted
az új kliens megbízólevelét (credential) a NIS+ szerveren. Győződj meg róla, hogy a
portmap fut. Ezután ellenőrizd, hogy a Linux géped ideje megegyezik a
NIS+ szerverével. Biztonságos RPC használatakor legfeljebb 3 perces ablak áll
rendelkezésre, amíg a megbízások érvényesek. Jó ötlet minden gépen
az xntpd futtatása. Mindezek után futtasd a következőket:
</para>

<para>

<screen>
domainname nisplus.domain.
nisinit -c -H &#60;NIS+ server&#62;
</screen>

</para>

<para>
az indítófájlok beállításához. Olvasd el az nisinit
kézikönyv oldalt 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.
</para>

<para>
Most célszerű megváltoztatnod az <filename>/etc/nsswitch.conf</filename> fájlt.
Bizonyosodj meg arról, hogy a publickey szolgáltatás utáni egyetlen
szolgáltatás a nisplus ("publickey: nisplus"), és semmi más!
</para>

<para>
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

<screen>
keylogin -r
</screen>

parancsot a rendszered root titkos kulcsának eltárolásához.
(Remélem hozzáadtad az új gép nyilvános kulcsát a NIS+ szerveren?).
</para>

<para>
A <command>niscat passwd.org_dir</command> parancsnak
ekkor már meg kell mutatnia a passwd adatbázisod összes bejegyzését.
</para>

</sect2>

<sect2>
<title>NIS+, keylogin, bejelentkezés és PAM
<indexterm><primary>NIS+!use of PAM with</primary></indexterm>
</title>

<para>
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 (shadow)
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 csomagot, és meg kell változtatni az /etc/pam.d/login
fájlt úgy, hogy a pam_unix_auth-ot használja, ne a pwdb-t, ami nem
támogatja a NIS+ -t. Például:

</para>

<para>

<screen>
#%PAM-1.0
auth       required	/lib/security/pam_securetty.so
auth       required	/lib/security/pam_unix2.so       set_secrpc
auth       required	/lib/security/pam_nologin.so
account    required	/lib/security/pam_unix2.so
password   required	/lib/security/pam_unix2.so
session    required	/lib/security/pam_unix2.so
</screen>

</para>

</sect2>

<sect2>
<title>Az nsswitch.conf fájl
<indexterm><primary>nsswitch.conf file</primary></indexterm>

<indexterm><primary>NIS+!nsswitch.conf file</primary></indexterm>
</title>

<para>
A Hálózati Szolgáltatások (Network Services) beállítási fájl (<filename>/etc/nsswitch.conf</filename>)
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 az <filename>/etc/host.conf</filename>
fájl meghatározza a gépnév feloldásának menetét.
Például a
</para>

<para>

<screen>
    hosts: files nisplus dns
</screen>

</para>

<para>
sor meghatározza, hogy a gépnév feloldó függvény először a helyi <filename>/etc/hosts</filename>
fájlt nézze, amit egy NIS+ feloldás kövessen, végül a körzetnév
szolgáltatást kérdezze (<filename>/etc/resolv.conf</filename> és named), ami után ha nincs
találat, akkor hibával tér vissza.
</para>

<para>
Egy használható NIS+ <filename>/etc/nsswitch.conf</filename> fájl:

<screen>
#
# /etc/nsswitch.conf
#
# Egy példa Név Szolgáltatás Kapcsoló (Name Service Switch) beállítási fájl.
# Ezt a fájlt úgy kell rendezni, hogy a legtöbbször használt szolgáltatás
# kerüljön az elejére.
#
# A '[NOTFOUND=return]' bejegyzés azt jelenti, hogy egy bejegyzés
# keresése fejeződjön be, 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
shadow:     compat

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
</screen>

</para>

</sect2>

</sect1>

<sect1 id="ypserv">
<title>NIS szerver beállítása
<indexterm><primary>NIS!server setup</primary></indexterm>
</title>

<sect2>
<title>Az ypserv szerver-program
<indexterm><primary>ypserv!setup</primary></indexterm>

<indexterm><primary>NIS!ypserv setup</primary></indexterm>
</title>

<para>
Ez a dokumentáció csak az "ypserv" NIS szerver beállítását
tartalmazza.
</para>

<para>
A NIS szerver szoftvert megtalálod a
</para>

<para>

<screen>
  Hely                Könyvtár                     Fájl neve

  ftp.kernel.org      /pub/linux/utils/net/NIS     ypserv-2.9.tar.gz
  ftp.kernel.org      /pub/linux/utils/net/NIS     ypserv-2.9.tar.bz2
</screen>
</para>
<para>
helyen.
</para>

<para>
Bővebb információkat találsz még a
<ulink url="http://www.linux-nis.org/nis/">http://www.linux-nis.org/nis/</ulink> webhelyen.
</para>

<para>
A hagyományos NIS és a NYS szerver beállítása megegyezik.
</para>

<para>
Az <command>ypserv</command> és <command>makedbm</command> programok 
elkészítéséhez fordítsd le a szoftvert.
Beállíthatod az ypserv-et securenets fájlok vagy tcp_wrapper-ek
használatára.
</para>

<para>
Ha a szerveredet mesterként futtatod, határozd meg, hogy melyik
fájlokat kell NIS-en keresztül elérhetővé tenned, és add hozzá
vagy vedd ki a megfelelő bejegyzéseket az "all" szabálynál a
<filename>/var/yp/Makefile</filename> fájlban. Mindig célszerű megnézned, és
megfelelően szerkeszteni az Opciókat (Options) a Makefile elején.
</para>

<para>
Nagy váltás volt az ypserv 1.1 és az 1.2 között. Az 1.2-es verzió óta
az fájlkezelők cache-ben tárolódnak. Ez azt jelenti, hogy ha új map-eket
készítesz, mindig a -c kapcsolóval kell meghívnod a makedbm-et.
Győződj meg róla, hogy az ypserv 1.2-ből, vagy újabbból származó
<filename>/var/yp/Makefile</filename>-t használod, vagy add hozzá a -c kapcsolót a makedbm-
hez a Makefile-ban. Ha ezt nem teszed meg, az ypserv nem fogja tovább
használni a régi map-eket, és a frissítetteket sem.
</para>

<para>
Most átszerkesztheted a <filename>/var/yp/securenets</filename> és a <filename>/etc/ypserv.conf</filename>
fájlokat. Bővebb információkért olvasd el az ypserv(8) és az
ypserv.conf(5) kézikönyv oldalakat.
</para>

<para>
Bizonyosodj meg róla, hogy a portmapper (portmap(8)) fut, és indítsd
el az <command>ypserv</command> szervert. A
</para>

<para>

<screen>
    % rpcinfo -u localhost ypserv
</screen>

</para>

<para>
utasítás kimenete hasonló lesz ehhez:
</para>

<para>

<screen>
    program 100004 version 1 ready and waiting
    program 100004 version 2 ready and waiting
</screen>

</para>

<para>
A "version 1" sor lehet, hogy hiányzik, az ypserv verziójától függően,
és attól függően, hogy milyen konfigurációs fájlt használsz. Csak
akkor lényeges, ha régi SunOS 4.x-es klienseket használsz.
</para>

<para>
Most készítsük el a NIS (YP) adatbázist. A mesteren futtasd a
</para>

<para>

<screen>
    % /usr/lib/yp/ypinit -m
</screen>

</para>

<para>
parancsot. A szolgán nézd meg, hogy működik-e az <Command>ypwhich -m</Command>. 
Mielőtt a

<screen>
    % /usr/lib/yp/ypinit -s masterhost
</screen>

parancs kiadásával beüzemelnéd a gépet NIS szolgának, 
NIS kliensként kell beállítani
</para>

<para>
Nos, a szervered kész van és működik.
</para>

<para>
Ha nagyobb problémáid vannak, elindíthatod az <command>ypserv</command>
és <command>ypbind</command> programokat nyomkövető üzemmódban is, különböző xterm-ekben.
A nyomkövetés kimenetének mutatnia kell, hogy mi működik rosszul.
</para>

<para>
Ha map-et kell frissítened, futtasd a NIS mester szerveren a <command>make</command>-et a
<literal remap="tt">/var/yp</literal> könyvtárban. Ez frissíteni fogja a map-et, ha a forrásfájl
frissebb, majd át is adja a szolga szervereknek is. Kérlek ne
használd a map frissítéshez az <literal remap="tt">/var/yp</literal>-et.
</para>

<para>
Esetleg átszerkesztheted a root crontabját *a szolga*
szerveren és hozzáadni a következő sorokat:
</para>

<para>

<screen>
      20 *    * * *    /usr/lib/yp/ypxfr_1perhour
      40 6    * * *    /usr/lib/yp/ypxfr_1perday
      55 6,18 * * *    /usr/lib/yp/ypxfr_2perday
</screen>

Ez biztosítani fogja, hogy a legtöbb NIS map frissüljön, még ha ki
is maradt egy frissítés, ha a mester szerver frissítésekor a szolga le
volt kapcsolva.
</para>

<para>
A későbbiekben bármikor hozzáadhatsz új szolgát. Először biztosítsd,
hogy az új szolga szervernek legyen jogosultsága a NIS mester
szerverhez kapcsolódni, majd futtasd a

<screen>
    % /usr/lib/yp/ypinit -s masterhost
</screen>

programot az új szolgán. A mester szerveren add hozzá a
<filename>/var/yp/ypservers</filename>-hez az új szolga szerver nevét
és futtasd a <command>make</command>-et a
<literal remap="tt">/var/yp</literal> könyvtárban a map frissítéséhez.
</para>

<para>
Ha korlátozni szeretnéd a felhasználók hozzáférését a NIS
szerveredhez, a NIS szerveredet kliensként is üzemeltetned kell úgy,
hogy elindítod az ypbind-et, és hozzáadod az <filename>/etc/passwd</filename> jelszó
fájlhoz _félúton_ a plusz bejegyzéseket. A könyvtár függvények
figyelmen kívül hagyják a hagyományos bejegyzéseket az első NIS
bejegyzés után és a többit NIS-en keresztül szerzik meg. Így a NIS
hozzáférés-szabályok karbantartottak.
Például:
</para>

<para>

<screen>
     root:x:0:0:root:/root:/bin/bash
     daemon:*:1:1:daemon:/usr/sbin:
     bin:*:2:2:bin:/bin:
     sys:*:3:3:sys:/dev:
     sync:*:4:100:sync:/bin:/bin/sync
     games:*:5:100:games:/usr/games:
     man:*:6:100:man:/var/catman:
     lp:*:7:7:lp:/var/spool/lpd:
     mail:*:8:8:mail:/var/spool/mail:
     news:*:9:9:news:/var/spool/news:
     uucp:*:10:50:uucp:/var/spool/uucp:
     nobody:*:65534:65534:noone at all,,,,:/dev/null:
     +miquels::::::
     +:*:::::/etc/NoShell
     [ All normal users AFTER this line! ]
     tester:*:299:10:Just a test account:/tmp:
     miquels:1234567890123:101:10:Miquel van Smoorenburg:/home/miquels:/bin/zsh
</screen>

</para>

<para>
Bár a "tester" felhasználó létezik, a parancsértelmezője azonban az
/etc/NoShell.  miquels-nek rendes hozzáférése lesz.

</para>

<para>
Alternatívaként átszerkesztheted a <filename>/var/yp/Makefile</filename> fájlt és
beállíthatod, hogy a NIS másik jelszó forrás fájlt használjon.
Nagy rendszereken a NIS jelszó és csoport fájlok általában az
<literal remap="tt">/etc/yp/</literal> könyvtárban vannak. Ha a hagyományos eszközöket nem használhatók
a <literal remap="tt">passwd</literal>, <literal remap="tt">chfn</literal>, <literal remap="tt">adduser</literal> fájlokat adminisztrálására.
Ehhez saját készítésű programokra lesz szükséged.
</para>

<para>
Habár az <literal remap="tt">yppasswd</literal>, <literal remap="tt">ypchsh</literal> és az <literal remap="tt">ypchfn</literal> természetesen működni fog.
</para>

</sect2>

<sect2>
<title>Az yps szerver program
<indexterm><primary>NIS!yps server</primary></indexterm>

<indexterm><primary>yps NIS server</primary></indexterm>
</title>

<para>
Az "yps" NIS szerver beállításához tanulmányozd az előző fejezetet.
Az "yps" szerver beállítása hasonló, _de_ nem pontosan ugyanolyan,
tehát légy óvatos, mielőtt megpróbálod az "ypserv" utasításait az
"yps"-re alkalmazni! Az "yps"-t nem támogatja egyik szerző sem, és
néhány biztonsági rést is tartalmaz. Tényleg nem kellene használod!
</para>

<para>
Az "yps" NIS szerver szoftvert megtalálod az alábbi címeken:
</para>

<para>

<screen>
  Hely                  Könyvtár                    Fájl neve

  ftp.lysator.liu.se    /pub/NYS/servers            yps-0.21.tar.gz
  ftp.kernel.org        /pub/linux/utils/net/NIS    yps-0.21.tar.gz
</screen>

</para>

</sect2>





<sect2>
<title>Az rpc.ypxfrd program
<indexterm><primary>NIS&verbar;rpc.ypxfrd daemon</primary></indexterm>

<indexterm><primary>rpc.ypxfrd daemon</primary></indexterm>
</title>

<para>
Az rpc.ypxfrd-t nagyon nagy NIS map fájlok esetén használjuk a mester és
szolga NIS szerverek közötti adatátvitel gyorsítására. Ha egy NIS
szolga szerver olyan üzenetet kap, hogy új map készült, elindítja az
ypxfr-t, hogy letöltse azt. Az ypxfr elolvassa a mester szerver
map-jét az yp_all() függvény segítségével. Ez a folyamat több percet
is igénybe vehet, ha nagyon nagy map fájlokról van szó, amit az adatbázis
könyvtárban kell tárolni.
</para>

<para>
Az rpc.ypxfrd szerver úgy gyorsítja az átvitel folyamatát, hogy a NIS
szolga szervereknek engedélyezi, hogy egyszerűen lemásolják a szerver
map fájlait, és ne kelljen újra felépíteniük a sajátjukat. Az
rpc.ypxfrd RPC-alapú fájl átviteli protokollt használ, tehát nincs
szükség új map építésére.
</para>

<para>
Az rpc.ypxfrd indítható az inetd-ből, azonban mivel nagyon lassan
indul el, célszerű az ypserv segítségével indítani. Az rpc.ypxfrd-t
csak a mester NIS szerveren kell elindítanod.
</para>

</sect2>




<sect2>
<title>Az rpc.yppasswdd program
<indexterm><primary>NIS!rpc.yppasswdd daemon</primary></indexterm>

<indexterm><primary>rpc.yppasswdd daemon</primary></indexterm>
</title>

<para>
Amikor a felhasználók megváltoztatják a jelszavukat, a NIS jelszó
adatbázis, és feltehetőleg az összes, ettől a NIS jelszó adatbázistól
függő többi adatbázis frissítésre szorul. Az "rpc.yppasswdd" program
egy olyan szerver, ami a jelszóváltozásokat kezeli, és gondoskodik
arról, hogy a NIS információ helyesen frissüljön. Az rpc.yppasswdd
már az ypserv része. Nincs szükséged régi, különálló
yppasswd-0.9.tar.gz-re, vagy yppasswd-0.10.tar.gz-re, és nem is
javallott a továbbiakban használatuk.
</para>

<para>
Az rpc.yppasswdd démont csak a mester NIS szerveren kell elindítanod.
Alapértelmezés szerint a felhasználók nem változtathatják meg a teljes
nevüket, illetve a parancsértelmezőjüket. Engedélyezheted ezek
megváltoztatását a -e chfn vagy -e chsh kapcsolókkal.
</para>

<para>
Ha a jelszó vagy az árnyékfájlok nem az /etc könyvtárban vannak,
a -D kapcsolót is használnod kell. Például ha minden forrásfájlt az
/etc/yp könyvtárba tettél, és szeretnéd engedélyezni a felhasználók
számára, hogy megváltoztathassák a parancsértelmezőjüket, a következő
paraméterekkel kell indítanod az rpc.yppasswdd démont:
</para>

<para>

<screen>
   rpc.yppasswdd -D /etc/yp -e chsh
</screen>

</para>

<para>
vagy
</para>

<para>

<screen>
   rpc.yppasswdd -s /etc/yp/shadow -p /etc/yp/passwd -e chsh
</screen>

</para>

<para>
Nincs más tennivaló, már csak meg kell győződnöd róla, hogy az
<literal remap="tt">rpc.yppasswdd</literal> ugyanazt az fájlt használja, mint a
<literal remap="tt">/var/yp/Makefile</literal>. A hibákat a syslog naplózza.
</para>

</sect2>

</sect1>

<sect1 id="verification">
<title>A NIS/NYS telepítésének ellenőrzése
<indexterm><primary>NIS!verification of operation</primary></indexterm>

<indexterm><primary>NYS!verification of operation</primary></indexterm>
</title>

<para>
Ha minden rendben (ahogy lennie kellene), néhány egyszerű utasítással
ellenőrizheted a telepítést. Feltételezve, hogy például a jelszó
fájlodat a NIS adja, a
</para>

<para>

<screen>
    % ypcat passwd
</screen>

</para>

<para>
utasításnak vissza kell adnia a NIS jelszófájlod tartalmát. A
</para>

<para>

<screen>
    % ypmatch userid passwd
</screen>

</para>

<para>
utasítás (ahol a userid egy találomra választott felhasználó
azonosítója) vissza kell, hogy adja a felhasználó NIS jelszó fájlban lévő
bejegyzését. Az "ypcat" és az "ypmatch" programokat a
hagyományos NIS vagy NYS disztribúciód tartalmazza.
</para>

<para>
Ha egy felhasználó nem tud bejelentkezni, indítsd el a következő
programot a kliensen:


<screen>
#include &#60;stdio.h&#62;
#include &#60;pwd.h&#62;
#include &#60;sys/types.h&#62;

int
main(int argc, char *argv[])
{
  struct passwd *pwd;

  if(argc != 2)
    {
      fprintf(stderr,"Használat: getwpnam felhasználónév\n");
      exit(1);
    }

  pwd=getpwnam(argv[1]);

  if(pwd != NULL)
    {
      printf("név......: [%s]\n",pwd-&#62;pw_name);
      printf("jelszó...: [%s]\n",pwd-&#62;pw_passwd);
      printf("felh. id.: [%d]\n", pwd-&#62;pw_uid);
      printf("csoport id: [%d]\n",pwd-&#62;pw_gid);
      printf("gecos....: [%s]\n",pwd-&#62;pw_gecos);
      printf("könyvtár.: [%s]\n",pwd-&#62;pw_dir);
      printf("shell....: [%s]\n",pwd-&#62;pw_shell);
    }
  else
    fprintf(stderr,"Az \"%s\" felhasználó nem található!\n",argv[1]);

  exit(0);
}
</screen>

</para>

<para>
Ezt a programot futtatva a felhasználó nevével, mint paraméterrel,
kiírja mindazt az információt, amit a getpwnam függvény ad vissza erre
a felhasználóra. Ennek meg kell mutatnia, hogy melyik bejegyzés hibás.
A leggyakoribb probléma az, hogy a jelszó mező "*"-al felül lett írva.
</para>

<para>
A GNU C 2.1-es könyvtár (glibc 2.1) tartalmaz egy getent eszközt. Ezt
használhatod a fenti program helyett egy ilyen rendszeren.
Kipróbálhatod:

<screen>
   getent passwd
</screen>

vagy

<screen>
   getent passwd login
</screen>

</para>

</sect1>

<sect1 id="maps">
<title>NIS térképek készítése és karbantartása
<indexterm><primary>NIS!creating and updating maps</primary></indexterm>
</title>

<sect2>
<title>Új NIS térkép létrehozása
<indexterm><primary>MAP!creating</primary></indexterm>
</title>

<para>
Az első NIS térképek a
</para>

<screen>
    % /usr/lib/yp/ypinit -m
</screen>

<para>
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 <literal remap="tt">/var/yp/Makefile</literal>
szerkesztésével lehetséges: meg kell változtatnod az
<literal remap="tt">all:</literal> kezdetű sort.
Add hozzá vagy távolítsd el a szükséges/szükségtelen szabály nevét.
</para>

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

<para>
A változtatások után már csak a
</para>

<screen>
    % make -C /var/yp
</screen>

<para>
parancsot kell futtatnod és elkészülnek a térképeid.
</para>
</sect2>

<sect2>
<title>NIS térképek frissítése
<indexterm><primary>MAP!updating</primary></indexterm>
</title>

<para>
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
</para>

<screen>
    % make -C /var/yp
</screen>

<para>
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.
</para>

</sect2>

<sect2>
<title>A térképfájl bejegyzéseinek hossza
<indexterm><primary>MAP!length of entries</primary></indexterm>
</title>

<para>
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.
</para>

<para>
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.
</para>

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

<para>
Az eredmény valami ilyesmi:
</para>

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

<para>
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.
</para>

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

<screen>
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!    
</screen>

</sect2>

</sect1>

<sect1 id="reboot">
<title>Túlélőcsomag újraindítás esetére</title>
<para>
Ha egyszer beállítottad és működőképessé tetted a NIS rendszered, mind a kliens,
mind pedig a szerver oldalról, meg kell győződnöd arról is, hogy ez az állapot
fennmarad-e a rendszer újraindításakor is.
</para>
<para>
Két elkülönülő dolgot kell ellenőrizned:
Az indító szkript meglétét, és a NIS domainnév helyes tárolását.
</para>
<sect2>
<title>A NIS indító (init) szkript</title>
<para>
A Linux disztribúciód szerinti init-szkript könyvtárban
(leggyakrabban: <filename>/etc/init.d</filename>, 
<filename>/etc/rc.d/init.d </filename>,<filename>/sbin/init.d</filename>)
ellenőrizd, hogy megvan-e a NIS indításához szükséges szkript.
Általában <filename>ypbind</filename> vagy <filename>ypclient</filename> néven találod meg.
</para>
</sect2>

<sect2>
<title>NIS domainnév</title>
<para>
Talán az egyik legfontosabb kérdés, ami néhányunknál felmerülhet a NIS-sel
kapcsolatban, hogy a NIS domain újraindítás után elérhető-e vagy sem.
Solaris 2.x rendszereknél a NIS domaina t az 
</para>

<screen>
   /etc/defaultdomain
</screen>


<para>
fájlban kell tárolni.
A legtöbb Linux disztribúció nem használja ezt a fájlt.
</para>


</sect2>
<sect2>
<title>Linux-disztribúció specifikus megjegyzések</title>
<para>
Mostanáig a következő információk állnak rendelkezésre a Linux disztribúciók
NIS domainnév tárolásával kapcsolatban:
</para>

<sect3>
<title>Caldera 2.x</title>
<para>
A Caldera az <filename>/etc/nis.conf</filename> fájlt használja,
formátuma a normál <filename>/etc/yp.conf</filename>-val megegyező.
</para>
</sect3>

<sect3>
<title>Debian</title>
<para>
A Debian a Sun-os <filename>/etc/defaultdomain</filename>-t használja.
</para>
</sect3>

<sect3>
<title>Red Hat Linux 6.x and 7.x, 8x és 9</title>
<para>
Az <filename>/etc/sysconfig/network</filename> fájlban
található <command>NISDOMAIN</command> változóval állíthatjuk be a körzetnevet.
</para>
</sect3>

<sect3>
<title>SuSE Linux 6.x and 7.x</title>
<para>
Az <filename>/etc/rc.config</filename> fájlban az <command>YP_DOMAINNAME</command> változót módosíthatod, majd futtatni kell a <command>SuSEconfig</command>-ot.
</para>
</sect3>

<sect3>
<title>SuSE Linux 8.x és későbbi</title>
<para>
A 8.0-tól kezdve a SuSE is a SUN-os rendszert követi,
vagyis <filename>/etc/defaultdomain</filename>.
</para>
</sect3>

</sect2>
</sect1>

<Sect1 id="rpasswdd">
<Title>Jelszóváltás az rpasswd program segítségével
<IndexTerm><Primary
>NIS!changing passwords</Primary></IndexTerm>
</Title>

<Para>
A NIS jelszó megváltoztatásának általános módja az
<command>yppasswd</command> program meghívása, ez néhány rendszeren
ez mindössze a <command>passwd</command> program alias neve.
Ez a parancs az yppasswd protokollt használja, emellett szükséges
az <command>rpc.yppasswdd</command> folyamatnak futnia a NIS
master szerveren. A protokoll eléggé idejétmúlt, a régi jelszót
sima szövegként küldi át a hálózaton. Ez nem problémás,
amennyiben a jelszó sikeresen megváltozik. Abban az esetben a régi jelszót
felváltja egy új. De ha a jelszóváltás sikertelen, úgy egy támadó
használhatja a helyes jelszót, és beléphet a felhasználó nevében.
Még rosszabb, ha a rendszeradminisztrátor változtatja meg egy
másik felhasználó jelszavát, ekkor a NIS master szerver root
jelszava továbbítódik sima szövegként a hálózaton. És az ebben
az esetben nem fog megváltozni.
</Para>

<Para>
Egyfajta megoldás az, ha nem az yppasswd programot használod
jelszóváltásra. Ehelyett jól használható az <command>rpasswd</command>
parancs a <Literal remap="tt">pwdutils</Literal> csomagból.
</Para>

<Para>
<Screen>
  Webhely         Könyvtár                           Fájl neve

  ftp.kernel.org  /pub/linux/utils/net/NIS           pwdutils-2.3.tar.gz
  ftp.suse.com    /pub/people/kukuk/pam/pam_pwcheck  pam_pwcheck-2.2.tar.bz2
  ftp.suse.com    /pub/people/kukuk/pam/pam_unix2    pam_unix2-1.16.tar.bz2
</Screen>
</Para>

<Para>
Az <command>rpasswd</command> biztonságos SSL kapcsolaton keresztül 
megváltoztatja egy felhasználó jelszavát egy távoli szerveren.
Egy átlagos felhasználó csak a saját jelszavát változtathatja meg,
ha az adminisztrátor jelszavát is tudja, akkor pedig bárkiét, ha 
meghívja az <command>rpasswd</command> programot az -a kapcsolóval.
</Para>

<Sect2>
<Title>A szerver beállítása
<IndexTerm><Primary
>rpasswdd!server configuration</Primary></IndexTerm>
</Title>

<Para>
A szervernek az elsősorban tanúsítványra van szüksége, annak alapértelmezett
fájlneve az <filename>/etc/rpasswdd.pem</filename>. Ezt a következő
paranccsal hozhatod létre:
<Screen>
openssl req -new -x509 -nodes -days 730 -out /etc/rpasswdd.pem -keyout /etc/rpasswdd.pem
</Screen>
</Para>

<Para>
Egy PAM beállítófájlra is szüksége van az <command>rpasswdd</command> programnak.
Ha a NIS felhasználói jelszavak az <filename>/etc/passwd</filename> fájlban vannak,
a következő példa jó kiindulási alapot nyújt a beállításhoz:

<Screen>
#%PAM-1.0
auth     required       pam_unix2.so
account  required       pam_unix2.so
password required       pam_pwcheck.so
password required       pam_unix2.so    use_first_pass use_authtok
password required       pam_make.so     /var/yp
session  required       pam_unix2.so
</Screen>
</Para>

<Para>
Ha a NIS jelszótérképek forrása másutt tárolódik (például /etc/yp), 
úgy a pam_unix2 <Literal remap="tt">nisdir</Literal> kapcsolója 
használható a forrásfájl megkeresésére:

<Screen>
#%PAM-1.0
auth     required       pam_unix2.so
account  required       pam_unix2.so
password required       pam_pwcheck.so  nisdir=/etc/yp
password required       pam_unix2.so    nisdir=/etc/yp use_first_pass use_authtok
password required       pam_make.so     /var/yp
session  required       pam_unix2.so
</Screen>
</Para>

<Para>
Most indítsd el az <command>rpasswdd</command> démont a NIS mester szerveren.
</Para>

<Para>
A PAM modulokban történt jelszóbeállítás után az
<command>rpasswdd</command> is használható jelszóváltásra
NIS+, LDAP vagy más, a PAM modul által támogatott szolgáltatásokhoz.
</Para>

<Sect2>
<Title>A kliens beállítása
<IndexTerm><Primary
>rpasswd!client configuration</Primary></IndexTerm>
</Title>

<Para>
Minden egyes kliensen csak az 
<filename>/etc/rpasswd.conf</filename> fájlban vannak 
a szükséges szerverek nevei. Ha a szerver nem az alapértelmezett
portot használja, akkor azt be kell állítani:
</Para>

<Para>
<Screen>
# az rpasswdd az master.example.com gépen fut
server master.example.com
# Port 774 az alapértelmezett
port 774
</Screen>
</Para>

<sect1 id="troubleshooting">
<title>Általános, valamint NIS problémák elhárítása
<indexterm><primary>NIS!troubleshooting</primary></indexterm>

<indexterm><primary>NIS!problems with</primary></indexterm>
</title>

<para>
Íme néhány általános, felhasználók által jelzett probléma:
</para>

<para>

<orderedlist>
<listitem>

<para>
A 4.5.19-eshez szállított programkönyvtárak hibásak. A NIS nem működik vele.

</para>
</listitem>
<listitem>

<para>
Ha a 4.5.19-es könyvtárakat 4.5.24-re frissíted, akkor a su
program megszakad. Meg kell szerezned a su programot az 1.2.0-s
slackware-ből. Minő véletlen, hogy pont ugyaninnen szerezheted be a
frissített programkönyvtárakat is.

</para>
</listitem>
<listitem>

<para>
Amikor egy NIS szervert lekapcsolnak, majd újra bekapcsolnak, az
ypbind a következő üzenettel indul:


<screen>
    yp_match: clnt_call:
    RPC: Unable to receive; errno = Connection refused
</screen>

és a bejelentkezéseket megtagadja azoknak, akik a NIS adatbázisban
regisztrálva vannak. Megpróbálkozhatsz root felhasználóként bejelentkezni, és
legyilkolni az ypbind-et, majd újra elindítani. Egy 3.3-as, vagy újabb
verziójú ypbind frissítés is segíthet.

</para>
</listitem>
<listitem>

<para>
Miután a libc-t 5.4.20-asnál magasabb verziószámra frissítetted, az
YP eszközök nem működnek tovább. 1.2-es, vagy frissebb yp-tools-ra
lesz szükséged az 5.4.21-es, vagy frissebb libc-hez és a glibc 2.x-hez.
Korábbi libc verziójú libc-hez 2.2-es yp-clients kell. Az yp-
tools 2.x-nek minden programkönyvtárral működnie kell.
</para>
</listitem>
<listitem>

<para>
A 5.4.21 - 5.4.35 számú libc-ben az yp_maplist hibás, 5.4.36-es,
vagy frissebb változatra van szükséged, vagy néhány YP program,
mint például az ypwhich segfault hibával leáll.

</para>
</listitem>
<listitem>

<para>
A libc 5 hagyományos NIS-el nem támogatja a NIS feletti árnyék
jelszavakat. libc5+NYS-re vagy glibc 2.x-re van szükséged.
</para>
</listitem>
<listitem>

<para>
Az ypcat shadow nem mutatja a shadow map-et. Ez így helyes, az árnyék
térkép neve shadow.byname, nem shadow.
</para>
</listitem>
<listitem>

<para>
A Solaris nem mindig használ privilegizált kapukat, tehát ne használj
password mangling-et ha Solaris kliensed is van.
</para>
</listitem>

</orderedlist>

</para>

</sect1>

<sect1 id="faq">
<title>Gyakran Ismételt Kérdések
<indexterm><primary>NIS!frequently asked questions</primary></indexterm>
</title>

<para>
Mostanra a legtöbb kérdésedre válasz kellett kapnod. Ha még
mindig lenne megválaszolatlan kérdésed, küldj egy üzenetet a
</para>

<para>

<screen>
    comp.os.linux.networking
</screen>

</para>
<para>
hírcsoportba.
</para>
</sect1>

</article>
