  Opis systemw NIS(YP)/NYS/NIS+ na Linux-ie.
  Autor:Thorsten Kukuk kukuk@suse.de
  v1.0, 9 Marca 1999
  WWeerrssjjaa ppoollsskkaa:: BBaarrttoosszz MMaarruusszzeewwsskkii BB..MMaarruusszzeewwsskkii@@jjttzz..oorrgg..ppll
  v3.0, 9 Sierpnia 1999






  Dokument ten opisuje jak skonfigurowa Linux-a, aby dziaa jako
  klient NIS(YP) czy NIS+ oraz jako serwer. Dokument ten zosta napisany
  w standardzie ISO-8859-2.
  ______________________________________________________________________

  Spis treci

















































  1. Wprowadzenie.

     1.1 Nowe wersje tego dokumentu.
     1.2 Zrzeczenie.
     1.3 Komentarze i poprawki.
     1.4 Podzikowania.
     1.5 Od tumacza.

  2. Sowniczek i informacje oglne.

     2.1 Sowniczek terminw.
     2.2 Troch oglnych informacji.

  3. NIS , NYS czy NIS+ ?

     3.1 libc 4/5 z tradycyjnym NIS czy NYS ?
     3.2 NIS czy NIS+ ?

  4. Jak to dziaa.

     4.1 Jak dziaa NIS.
     4.2 Jak dziaa NIS+.

  5. Portmapper RPC

  6. Czego potrzebujesz, aby ustawi NIS?

     6.1 Sprawd czy jeste serwerem, serwerem slave czy klientem.
     6.2 Oprogramowanie.
     6.3 Demon ypbind.
     6.4 Ustawianie kilenta NIS przy uyciu Tradycyjnego NIS-a.
     6.5 Ustawianie klienta NIS uywajc NYS.
     6.6 Ustawianie klienta NIS uywajc glibc 2.x
     6.7 Plik nsswitch.conf
     6.8 Shadow Passwords z NIS i PAM.
        6.8.1 Linux
        6.8.2 Solaris
        6.8.3 PAM

  7. Czego potrzebujesz do ustawienia NIS+?

     7.1 Oprogramowanie.
     7.2 Konfiguracja klienta NIS+.
     7.3 NIS+, keylogin, login i PAM.
     7.4 Plik nsswitch.conf.

  8. Konfiguracja serwera NIS.

     8.1 Program ypserv.
     8.2 Program serwera yps.
     8.3 Program rpc.ypxfrd
     8.4 Program rpc.yppasswdd

  9. Weryfikacja instalacji NIS/NYS.

  10. Popularne problemy i rozwizywanie ich.

  11. Czsto zadawane pytania.



  ______________________________________________________________________




  11..  WWpprroowwaaddzzeenniiee..


  Coraz wicej komputerw z Linux-em instalowanych jest jako cz sieci
  komputerowych. Aby uproci administracj sieci wikszo sieci
  (gwnie oparte na Sun-ach) posiada Network Information Service.
  Maszyny Linux-owe mog w peni korzysta z serwera NIS albo samemu
  dostarcza tak usug. Linux moe take dziaa jako peny klient
  NIS+, obsuga tego jest jeszcze w fazie beta.

  Dokument ten prbuje odpowiedzie na pytania dotyczce ustawienia
  NIS(YP) i NIS+ na twoim komputerze. Nie zapomnij przeczyta sekcji na
  temat ``Portmapper-a RPC''.

  NIS-HOWTO zajmuje si



               Thorsten Kukuk, <tt/kukuk@vt.uni-paderborn.de/




  Pierwotnym rdem informacji dla pierwszej wersji NIS-HOWTO byli:



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




  ktrym powinnimy podzikowa za napisanie pierwszych wersji tego
  dokumentu.


  11..11..  NNoowwee wweerrssjjee tteeggoo ddookkuummeennttuu..



  Najnowsz wersj tego dokumentu moesz zawsze znale pod adresem
  http://www.suse.de/~kukuk/linux/HOWTO/NIS-HOWTO.html.

  Najnowsze wersje bd take umieszczane na rnych serwerach WWW i FTP
  zwizanych z Linux-em wcznie ze stron LDP.

  Odnoniki do tumacze tego dokumentu mona znale pod adresem
  http:///www.suse.de/~kukuk/linux/nis-howto.html.


  11..22..  ZZrrzzeecczzeenniiee..


  Pomimo, i dokument ten powsta w jak najlepszej intencji moe i
  pewnie zawiera bdy. Czytaj prosz wszystkie pliki README znajdujce
  si wraz z oprogramowaniem wymienianym tutaj w celu uzyskania jak
  najwieszych informacji. Bd sie stara aby byo tu jak najmniej
  bdw.





  11..33..  KKoommeennttaarrzzee ii ppoopprraawwkkii..


  Jeli masz jakie pytania czy poprawki dotyczce tego dokumentu, pisz
  miao do Thorstena Kukuk na adres kukuk@suse.de. Przyjmuj wszelkie
  sugestie czy krytyk. Jeli znajdziesz jaki bd daj mi zna prosz,
  ebym mg go poprawi w nastpnej wersji. Dziki.

  Prosz _n_i_e przysyaj mi pyta na temat problemw dotyczcych twojej
  dystrybucji Linux-a. Nie znam kadej dystrybucji. Ale bd si stara
  doda kade rozwizanie jaki mi przylecie.


  11..44..  PPooddzziikkoowwaanniiaa..


  Chcielibymy podzikowa wszystkim ludziom, ktrzy przyczynili si w
  jaki sposb do powstania i rozwoju tego dokumentu. W porzdku
  alfabetycznym:




       Byron A Jeff            <byron@cc.gatech.edu>
       Markus Rex              <msrex@suse.de>
       Miquel van Smoorenburg  <miquels@cistron.nl>




  Theo de Raadt jest odpowiedzialny za oryginalny kod yp-klienta. Swen
  Thuemmler przenis ten kod na Linux-a jak rwnie procedury yp do
  biblioteki libc (znowu na podstawie pracy Theo). Thorsten Kukuk
  napisa od zera procedury NIS(YP) i NIS+ dla GNU libc 2.x.


  11..55..  OOdd ttuummaacczzaa..


  Tumaczenie to jest chronione prawami autorskimi  Bartosza
  Maruszewskiego.  Dozwolone jest rozprowadzanie i dystrybucja na
  prawach takich samych jak dokument oryginalny.

  Jeli znalaze jakie race bdy ortograficzne, gramatyczne,
  skadniowe, techniczne to pisz do mnie. Zaznaczam, e nie jestem
  biegy w terminologii kryptografii wic wystepuj tu pewnie jakie
  dziwne wyraenia, ktre powinienem zapisa inaczej. Jeli wiesz jak to
  ma brzmie, napisz;

  B.Maruszewski@jtz.org.pl

  Oficjaln stron tumacze HOWTO jest http://www.jtz.org.pl/

  Aktualne wersje przetumaczonych dokumentw znajduj si na teje
  stronie. Dostpne s take poprzez anonimowe ftp pod adresem
  ftp.jtz.org.pl w katalogu /JTZ/.

  Przetumaczone przeze mnie dokumenty znajduj si take na mojej
  stronie WWW. <http://www.jtz.org.pl/bartek/tlumaczenie.html> S tam
  te odwoania do Polskiej Strony Tumaczeniowej.

  Kontakt z nasz grup, grup tumaczy moesz uzyska poprzez list
  dyskusyjn jtz@ippt.gov.pl. Jeli chcesz sie na ni zapisa, to wylij
  list o treci subscribe jtz Imi Nazwisko na adres
  majordomo@ippt.gov.pl

  Zmiany w tym dokumencie wprowadzone przez tumacza to odwoania do
  polskich serwerw ftp.


  22..  SSoowwnniicczzeekk ii iinnffoorrmmaaccjjee ooggllnnee..



  22..11..  SSoowwnniicczzeekk tteerrmmiinnww..


  W dokumencie tym wystpuje wiele akronimw. Oto te najwaniejsze i
  krtkie wyjanienie:


     DDBBMM
        DataBase Management - biblioteka funkcji, ktre obsuguj pary z
        kluczem (-key-content) w bazie danych.


     DDLLLL
        Dynamically Linked Library - biblioteka doczana do
        wykonywalnego programu podczas jego dziaania.


     ddoommaaiinnnnaammee
        "Nazwa-klucz", ktra jest uywana przez klientw NIS, aby
        zlokalizowa pasujcy serwer NIS, ktry udostepnia klucz dla
        domeny (domainname key). Zauwa prosz, e to nie koniecznie ma
        co wsplnego z domen DNS-ow (nazw maszyny).


     FFTTPP
        File Transfer Protocol - protok uywany do przenoszenia plikw
        pomidzy komputerami.


     lliibbnnssll
        Name services library - biblioteka odwoa "name service"
        (getpwnam, getservbyname itp.) na unix-ach SVR4. GNU libc uywa
        tego do funkcji NIS (YP) i NIS+.


     lliibbssoocckkeett
        Socket services library - biblioteka odwoa obsugi gniazdek
        (socket, bind, listen itp.) na unix-ach SVR4.


     NNIISS
        Network Information Service - serwis ktry udostpnia
        informacj, ktra musi by znana poprzez sie dla wszystkich
        maszyn w sieci. W standardowej bibliotece Linux-a - libc - jest
        obsuga dla NIS, ktra dalej zwana jest "tradycyjnym NIS-em".


     NNIISS++
        Network Information Service (Plus :-) - waciwie to taki NIS na
        sterydach. NIS+ zosta zaprojektowany przez Sun Microsystems
        Inc. jako zastpca NIS-a z lepszym bezpieczestwem i lepsz
        obsug _wielkich_ instalacji.


     NNYYSS
        Jest to nazwa projektu, ktry powsta z NIS+, YP i Switch i
        zarzdzany jest przez Petera Erikssona <peter@ifm.liu.se>.
        Midzy innymi zawiera powtrn implementacj kodu NIS-a (=YP),
        ktra uywa funkcjonalnoci Name Service Switch biblioteki NYS.


     NNSSSS
        Name Service Switch. Plik /etc/nsswitch.conf okrela kolejno,
        w jakiej sprawdza si pewne dane informacje.


     RRPPCC
        Remote Procedure Call. Procedury RPC pozwalaj programom w C
        odwoywa si do procedur na odlegej maszynie poprzez sie.
        Kiedy ludzie mwi o RPC to najczciej maj na myli wariant
        Sun-a RPC.


     YYPP Yellow Pages(TM) - zarejestrowany znak towarowy w UK firmy
        British Telecom plc.


     TTCCPP--IIPP
        Transmission Control Protocol/Internet Protocol. To protok
        komunikacji danych najczciej uywany na maszynach unix-owych.


  22..22..  TTrroocchh ooggllnnyycchh iinnffoorrmmaaccjjii..


  Nastpujce 3 linijki to cytat z podrcznika Sun(TM) System & Network
  Administration Manual:



       "NIS znany by wczeniej jako Sun Yellow Pages (YP), ale nazwa Yellow
       Pages(TM) jest zarejestrowanym znakiem towarowym w Zjednoczonym
       Krlestwie firmy British Telecom plc i nie moe by uywana bez zgody."




  NIS to skrt od Network Information Service. Celem jego jest
  dostarczanie informacji, ktra musi by znana na sieci dla wszystkich
  komputerw. Informacja, ktra najprawdopodobniej bdzie dystrybuowana
  to:


    login/hasa/katalogi domowe (/etc/passwd)

    informacje o grupach (/etc/group)

  Jeli na przykad informacja o twoim hale jest zapisana w bazie hase
  NIS, bdziesz mg si zalogowa na wszystkich maszynach na sieci,
  ktre maj uruchomionego klienta NIS.

  Sun jest znakiem towarowym Sun Microsystems, Inc. licencjonowane dla
  SunSoft, Inc.


  33..  NNIISS ,, NNYYSS cczzyy NNIISS++ ??



  33..11..  lliibbcc 44//55 zz ttrraaddyyccyyjjnnyymm NNIISS cczzyy NNYYSS ??


  Wybr pomidzy "tradycyjnym NIS" czy kodem NIS w bibliotece NYS jest
  wyborem pomidzy lenistwem i rozwojem a elastycznoci i zamiowaniem
  do przygody.

  Kod "tradycjnego NIS" jest w standardowej bibliotece C i istnieje ju
  dugo i czasem cierpi z powodu swojego wieku i pewnej
  nieelastycznoci.

  Kod NIS w bibliotece NYS wymaga rekompilacji biblioteki libc, aby
  wczy do niej kod NYS (albo moesz wzi ju skompilowan wersj
  libc od kogo kto ju j skompilowa).

  Inn rnic jest to, e "tradycyjny NIS" ma pewn obsug NIS
  Netgroups, ktrej  NYS nie ma. Z drugiej strony NYS pozwala obsugiwa
  Shadow Passwords w sposb przezroczysty. "Tradycyjny NIS" nie
  obsuguje Shadow passwords przez NIS.

  Zapomnij o tym wszystkim jeli uywasz nowej biblioteki GNU C 2.x (aka
  libc6). Ma ona rzeczywist obsug NSS (Name Switch Service), co czyni
  j bardzo elastyczn oraz zawiera obsug nastpujcych map NIS/NIS+:
  aliases, ethers, group, hosts, netgroups, networks, protocols,
  publickey, passwd, rpc, services i shadow. Biblioteka GNU C nie ma
  adnych problemw z shadow password przez NIS.


  33..22..  NNIISS cczzyy NNIISS++ ??


  Wybr midzy NIS a NIS+ jest prosty - uyj NIS-a jeli nie musisz
  uywa NIS+ czy nie musisz stosowa zaostrzonego bezpieczestwa. Z
  NIS+ jest _o wiele_ wicej kopotw jeli chodzi o administracj (jest
  nim cakiem atwo zarzdza od strony klienta, ale serwer to horror).
  Innym problemem jest fakt, e wsparcie dla NIS+ w Linux-ie jest cigle
  w fazie rozwoju - potrzebujesz najnowszej biblioteki glibc, albo
  musisz poczeka na glibc 2.1. Istnieje wersja zastpcza glibc z
  obsug NIS+ dla libc5.


  44..  JJaakk ttoo ddzziiaaaa..



  44..11..  JJaakk ddzziiaaaa NNIISS..


  W caej sieci musi by przynajmniej jedna maszyna dziaajca jako
  serwer NIS. Moesz zrobi wicej serwerw NIS, kady dla innej
  "domeny" NIS - albo moesz mie wsppracujce serwery NIS, gdzie
  jeden ma by gwnym serwerem NIS (master) a wszystkie inne s tak
  zwanymi slave NIS servers (to znaczy dla pewnej "domeny" NIS!) - albo
  moesz to pomiesza.

  Serwery slave posiadaj tylko kopi baz danych NIS i otrzymuj te
  kopie od gwnego serwera NIS kiedy tylko robione s jakie zmiany w
  gwnej bazie. W zalenoci od liczby komputerw w twojej sieci,
  moesz zdecydowa si na instalacj jednego lub wikszej iloci
  serwerw slave. Kiedy tylko serwer NIS jest unieruchamiany (goes down)
  albo jest zbyt wolny w odpowiedziach na dania, klient NIS-a
  podczony do tego serwera sprbuje znale ten, ktry dziaa albo
  jest szybszy.

  Bazy danych NIS s w tak zwanym formacie DBM, pochodzcym od baz
  danych ASCII. Na przykad, pliki /etc/passwd i /etc/group mog by
  bezporednio zamienione na DBM przy pomocy oprogramowania
  translacyjnego ASCII-na-DBM ("makedbm" - dostarczanym wraz z
  serwerem). Gwny serwer NIS powinien posiada obie bazy - tak ASCII
  jak i DBM.

  Serwery slave zostan powiadomione o kadej zmianie w mapach NIS,
  (poprzez program "yppush") i automatycznie uaktualni owe zmiany, aby
  zsynchronizowa swoje bazy danych. Klienci NIS nie musz tego robi
  poniewa oni zawsze cz si z serwerem NIS, aby odczyta informacje
  zapisane w bazach danych DBM.

  Stare wersje ypbind wysyaj adres rozgoszeniowy (broadcast), aby
  znale dziaajcy serwer NIS. Jest to niebezpieczne poniewa kady
  moe zainstalowa serwer NIS i odpowiedzie na takie zapytanie.
  Nowsze wersje ypbind (3.3 czy mt) pobieraj adres serwera z pliku
  konfiguracyjnego - i nie ma potrzeby wysyania adresu
  rozgoszeniowego.


  44..22..  JJaakk ddzziiaaaa NNIISS++..


  NIS+ to nowa wersja "network information nameservice" z Sun-a.
  Najwiksz rnic pomidzy NIS i NIS+ jest obsuga kodowania danych i
  autentykacja poprzez bezpieczne RPC w NIS+.

  Model nazewnictwa w NIS+ jest zbudowany w postaci struktury
  drzewiastej. Kady wze w drzewie odpowiada objektowi NIS+, ktrych
  mamy sze typw: katalog, pozycja (entry), grupa, doczenie, tablica
  i prywatne.

  Katalog NIS+, ktry tworzy podstaw przestrzeni nazw w NIS+ nazywa si
  katalogiem "root". S dwa specjalne katalogi NIS+: org_dir i
  groups_dir. Katalog org_dir skada si z wszystkich tablic
  administracyjnych, takich jak passwd, hosts i mail_aliases.  Katalog
  groups_dir skada si z grup objektw NIS+, ktre uywane s do
  kontroli dostpu. Kolekcja org_dir, groups_dir i ich katalogw
  nadrzdnych to domena NIS+.


  55..  PPoorrttmmaappppeerr RRPPCC


  Aby mc uruchomi jakikolwiek z wymienionych poniej programw,
  bdziesz musia uruchomi program /usr/bin/portmap. Niektre
  dystrybucje maj skrypt uruchamiajcy ten demon w plikach startowych
  /sbin/init.d/ czy /etc/rc.d/. Wszystko co musisz zrobi, to uaktywni
  go i zrestartowa komputer. Przeczytaj dokumenctaj dostarczon wraz z
  dystrybucj, aby si dowiedzie jak to zrobi.

  Portmapper RPC (portmap(8)) jest serwerem, ktry zamienia numery
  programowe RPC na numery portw protokou TCP/IP (albo UDP/IP).  Musi
  by on uruchomiony, aby mc uywa na tej maszynie odwoa RPC (co
  wanie robi oprogramowanie klienta NIS/NIS+) do serwerw RPC (takich
  jak serwer NIS czy NIS+). Kiedy serwer RPC jest startowany,
  poinformuje on portmap-a na ktrych portach nasuchuje, i jakimi
  numerami programowymi RPC moe suy. Kiedy klient chce odwoa si
  przez RPC do danego numeru programowego, najpierw skontaktuje si z
  portmap-em na maszynie serwerowej, aby okreli numer portu, do
  ktrego naley wysa pakiety RPC.

  Normalnie, standardowe serwery RPC s startowane przez inetd(8), wic
  portmap musi dziaa zanim wystartuje inetd.

  Dla bezpieczestwa portmapper potrzebuje serwisu czasu (Time Service).
  Upewnij si czy serwis ten jest wczony w /etc/inetd.conf na
  wszystkich hostach:




  #
  # Time service is used for clock syncronization.
  #
  time    stream  tcp     nowait  nobody  /usr/sbin/tcpd  in.timed
  time    dgram   udp     wait    nobody  /usr/sbin/tcpd  in.timed




  WANE: Nie zapomnij zresetowa (kill -HUP) inetd-a po dokonaniu zmian
  jego pliku konfiguracyjnym !


  66..  CCzzeeggoo ppoottrrzzeebbuujjeesszz,, aabbyy uussttaawwii NNIISS??



  66..11..  SSpprraawwdd cczzyy jjeessttee sseerrwweerreemm,, sseerrwweerreemm ssllaavvee cczzyy kklliieenntteemm..


  Aby odpowiedzie na to pytanie musisz rozway dwa przypadki:


  1. Twoja maszyna bdzie czci sieci z istniejcymi serwerami NIS.

  2. Nie masz jeszcze adnego serwera NIS w sieci.

  W pierwszym przypadku potrzebujesz tylko programw klienta (ypbind,
  ypwhich, ypcat, yppoll, ypmatch). Najwaniejszym programem jest
  ypbind. Program ten musi by uruchomiony przez cay czas, to znaczy
  powinien zawsze pojawia si w licie procesw. Jest to proces-demon i
  musi by startowany z plikw startowych systemu (np. /etc/init.d/nis,
  /sbin/init.d/ypclient, /etc/rc.local, /etc/rc.d/init.d/ypbind).
  Jak tylko ypbind jest uruchomiony, twj komputer staje si klientem
  NIS.

  W drugim przypadku, jeli nie masz serwerw NIS, to bdziesz take
  potrzebowa programu serwera NIS (zwykle zwanego ypserv). Sekcja
  ``Konfiguracja serwera NIS'' opisuje jak ustawi serwer NIS na twojej
  maszynie Linux-owej przy pomocy implementacji "ypserv" Petera
  Erikssona i Thorstena Kukuka.
  Zauwa, e od wersji 0.14 implementacja ta obsuguje koncept master-
  slave omwiony w sekcji 4.1.

  Jest jeszcze jeden darmowy serwer NIS, zwany "yps", napisany przez
  Tobiasa Rebera w Niemczech, ktry obsuguje koncept master-slave, ale
  ma inne ograniczenia i nie jest wspierany od dugiego czasu.


  66..22..  OOpprrooggrraammoowwaanniiee..


  Biblioteka systemowa "/usr/lib/libc.a" (wersja 4.4.2 i nowsza) czy
  biblioteka dzielona "/lib/libc.so.x" zawieraj wszystkie odwoania
  systemowe niezbdne do skompilowania oprogramowania klienta i serwera
  NIS. Do biblioteki glibc 2.x, potrzebujesz take biblioteki
  /lib/libnsl.so.1.

  Niektrzy podawali, e NIS dziaa tylko z "/usr/lib/libc.a" w wersji
  4.5.21 i nowszej, wic jeli chcesz by zabezpieczony, to nie uywaj
  starszych bibliotek.  Oprogramowanie klienckie NIS mona znale w:





    Adres                 Katalog                          Nazwa Pliku


    ftp.kernel.org        /pub/linux/utils/net/NIS         yp-tools-2.2.tar.gz
    ftp.kernel.org        /pub/linux/utils/net/NIS         ypbind-mt-1.4.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
    ftp.uni-paderborn.de  /linux/local/yp                  yp-clients-2.2.tar.gz
    ftp.icm.edu.pl        /pub/Linux/sunsite/system/network/admin yp-clients-2.2.tar.gz




  [Od tumacza: Jeli jeste w Polsce, to uyj raczej tego ostatniego
  adresu.]

  Jak ju masz oprogramowanie, postpuj zgodnie z instrukcjami
  przychodzcymi wraz z nim. yp-clients 2.2 nadaje si do uytku z libc4
  i libc5 a do 5.4.20. libc 5.4.21 i glibc 2.x potrzebuj yp-tools
  1.4.1 lub nowsze. Nowe yp-tools 2.0 bd dzia z kad bibliotek
  libc dla Linux-a. Poniewa by pewien bd w kodzie NIS-a nie
  powiniene uywa libc 5.4.21-35. W zamian uyj 5.4.36 lub nowszej,
  inaczej wikszo programw YP nie bdzie dziaaa. ypbind 3.3 bdzie
  dziaa take ze wszystkimi bibliotekami. Jeli uywasz gcc 2.8.x lub
  nowszej wersji, egcs lub glibc 2.x, to powiniene naoy at
  ypbind-3.3-glibc5.diff na ypbind 3.3. Nie powiniene nigdy uywa
  ypbind z yp-clients 2.2. ypbind-mt jest nowym, wielowtkowym demonem;
  do dziaania potrzebuje  jdra w wersji 2.2 i glibc 2.1 lub nowszej.


  66..33..  DDeemmoonn yyppbbiinndd..


  Zakadajc, e udao ci si skompilowa oprogramowanie jeste gotowy
  do zainstalowania go. Odpowiednim miejscem dla demona ypbind bdzie
  /usr/sbin. Niektrzy mog ci mwi, e nie potrzebujesz ypbind w
  systemie z NYS. Jest to bdne, gdy ypwhich i ypcat potrzebuj go.

  Bdziesz to oczywicie musia zrobi jako root. Inne programy
  (ypwhich, ypcat, yppoll, ypmatch) powinny znale si w katalogu
  dostpnym dla wszystkich uytkownikw, zwykle /usr/bin.

  Nowsze wersje ypbind posiadaj plik konfiguracyjny - /etc/yp.conf.
  Moesz tam na stae wpisa serwer NIS - wicej informacji w
  podrczniku systemowym - man ypbind(8).
  Potrzebujesz tego pliku take do NYS. Przykad:



         ypserver voyager
         ypserver defiant
         ypserver ds9




  Jeli system moe rozwin nazw bez NIS, to mgby uy tej nazwy. W
  przeciwnym wypadku musisz uy adresu IP. W ypbind 3.3 jest bd;
  tylko ostatni adres zostanie uyty (ds9 w tym przykadzie). Wszystkie
  pozostae pozycje zostan zignorowane.  ypbind-mt obsuy to poprawnie
  i uyje tego, ktry odpowiedzia pierwszy.

  Dobrym pomysem bdzie przetestowanie ypbind przed wprowadzeniem go do
  plikw startowych. Aby to zrobi postpuj tak:


    Upewnij si, e masz ustawion nazw domeny YP. Jeli nie, to wydaj
     polecenie:



                   /bin/domainname domena.nis





  gdzie domena.nis powinno by jakim acuchem zwykle _NIE_ zwizanym z
  DNS-em twojej maszyny! Powodem tego jest, to e zewntrznym wamywac
  zom jest wtedy troch trudniej zdoby baz danych z hasami z twojego
  serwera NIS. Jeli nie wiesz jaka jest nazwa domeny NIS w twojej
  sieci, to zapytaj swojego administratora.


    uruchom "/usr/bin/portmap" jeli nie jest jeszcze uruchomiony.

    stwrz katalog "/var/yp" jeli go nie ma.

    uruchom "/usr/bin/ypbind"

    uyj polecenia "rpcinfo -p localhost", aby sprawdzi czy ypbind
     zarejestrowa swj serwis u portmapper-a.  Co takiego powinno si
     pojawi na ekranie:



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





  lub



              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





  Zalenie od wersji ypbind jakiej uywasz.

    moesz take uruchomi "rpcinfo -u localhost ypbind". Polecenie to
     powinno da mniej wicej taki wynik:



               program 100007 version 2 ready and waiting


  lub



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





  Wynik ten zaley od wersji ypbind, ktr zainstalowae. Wan
  wiadomoci jest tutaj tylko "version 2".

  W tym momencie powiniene mc uywa programw klienckich NIS takich
  jak ypcat itp... Na przykad "ypcat passwd.byname" poda ci ca baz
  danych NIS z hasami.

  WANE: Jeli pomine test, to upewnij si, e ustawie nazw domeny
  i stworzye katalog



           /var/yp




  Ten katalog MUSI istnie, aby ypbind poprawnie si uruchomi.

  Aby sprawdzi czy nazwa domeny zostaa ustawiona poprawnie uyj
  programu /bin/ypdomainname z pakietu yp-tools 2.2. Uywa on funkcji
  yp_get_default_domain(), ktra jest bardziej restrykcyjna. na przykad
  nie pozwala na domen "(none)", ktra jest domyln w Linux-ie. i
  stwarza wiele kopotw.

  Jeli test si powid moesz tera zmodyfikowa pliki w skryptach
  startowych twojego systemu, tak eby ypbind startowa podczas startu
  systemu.  Upewnij si, e nazwa domeny zostanie ustawiona zanim
  wystartujesz ypbind.

  C, to wszystko. Zresetuj komputer i obserwuj komunikaty podczas
  startu, eby zobaczy czy ypbind waciwie wystartowa.


  66..44..  UUssttaawwiiaanniiee kkiilleennttaa NNIISS pprrzzyy uuyycciiuu TTrraaddyyccyyjjnneeggoo NNIISS--aa..


  Do sprawdzania nazw musisz ustawi (albo doda) "nis", do linii
  kolejnoci sprawdzania w pliku /etc/host.conf. Przeczytaj stron
  podrcznika systemowego "resolv+.8", aby dowiedzie si wicej
  szczegw.

  Na maszynach klienckich dodaj nastpujc lini w /etc/passwd:



       +::::::




  Moesz take uy znaczkw +/-, aby wczy/wyczy lub zmieni
  uytkownikw. Jeli chcesz wyczy uytkownika guest dodaj -guest do
  swojego pliku /etc/passwd. Chcesz uy innej powoki (np. ksh) dla
  uytkownika "linux"? Nie ma problemu, po prostu dodaj do swojego
  /etc/passwd "+linux::::::/bin/ksh" (bez cudzysowiw). Pola, ktrych
  nie chcesz zmienia musz pozosta puste. Mgby take uy Netgroups
  do kontroli uytkownikw.

  Na przykad, aby pozwoli tylko miquels, dth, ed i wszystkim czonkom
  grupy sieciowej sysadmin na login, ale eby dane o kontach wszystkich
  innych uytkownikw byy dostpne uyj:



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




  Zauwa, e na Linuksie moesz take zmieni pole z hasem, jak to
  zrobilimy w tym przykadzie. Usunlimy take login "ftp", tak wic
  nie jest on ju znany i anonimowe ftp nie bdzie dziaa.

  Netgroup wygldaoby tak:



       sysadmins (-,software,) (-,kukuk,)




  WANE: Cecha netgroup jest zaimplementowana poczwszy od libc 4.5.26.
  Jeli masz wersj biblioteki wczeniejsz ni 4.5.26, kady uytkownik
  w bazie danych z hasami ma dostp do twojego Linux-a jeli masz
  uruchomiony "ypbind".


  66..55..  UUssttaawwiiaanniiee kklliieennttaa NNIISS uuyywwaajjcc NNYYSS..


  Wszystko co jest potrzebne, to to, eby plik konfiguracyjny
  (/etc/yp.conf) wskazywa na poprawn-y/e serwer(y). Take plik
  konfiguracyjny Name Service Switch (/etc/nsswitch.conf) musi by
  poprawnie ustawiony.

  Powiniene zainstalowa ypbind. Nie jest on potrzebny dla libc, ale
  narzdzia NIS(YP) go potrzebuj.

  Jeli chcesz uywa cechy wczania/wyczania uytkownika
  (+/-guest/+@admins), musisz uy "passwd: compat" i "group: compat" w
  pliku nsswitch.conf. W tym przypadku musisz uy "shadow: files nis"

  rda NYS s czci rde libc 5. Kiedy uruchamiasz configure, za
  pierwszym razem odpowiedz "NO" na pytanie "Values correct", potem
  odpowiedz "YES", na "Build a NYS libc from nys".


  66..66..  UUssttaawwiiaanniiee kklliieennttaa NNIISS uuyywwaajjcc gglliibbcc 22..xx


  Glibc uywa "tradycyjnego NIS", tak wic musisz uruchomi ypbind. Plik
  konfiguracyjny Name Service Switch (/etc/nsswitch.conf) musi by
  poprawnie ustawiony. Jeli  uywasz trybu kompatybilnego z passwd,
  shadow czy group, musisz doda "+" na kocu tego pliku, i moesz
  uywa cechy wczania/wyczania uytkownika. Konfiguracja jest
  dokadnie taka sama jak pod Solaris-em 2.x.


  66..77..  PPlliikk nnsssswwiittcchh..ccoonnff


  Plik /etc/nsswitch.conf okrela kolejno w jakiej odbywa si
  sprawdzanie kiedy pojawi si danie pewnej informacji, tak samo jak
  plik /etc/host.conf, ktry okrela kolejno sprawdzania adresw
  hostw. Na przykad linia:



           hosts: files nis dns




  okrela, e funkcje sprawdzania adresw hostw powinny najpierw szuka
  w lokalnym pliku /etc/hosts, potem w bazie NIS i na kocu w DNS-ie
  (/etc/resolv.conf i named), gdzie jeli nie znaleziono odpowiedzi
  pojawia si bd. Ten plik musi by czytelny dla kadego uytkownika.
  Wicej informacji znajdziesz na stronie podrcznika systemowego
  nsswicth.5 lub nsswitch.conf.5.

  Poprawny plik /etc/nsswitch.conf dla NIS:







































  #
  # /etc/nsswitch.conf
  #
  # An example Name Service Switch config file. This file should be
  # sorted with the most-used services at the beginning.
  #
  # Pozycja '[NOTFOUND=return]' oznacza, e poszukiwania powinny
  # zakoczy si, jeli poszukiwania w poprzedniej pozycji nic nie
  # day. Zauwa, e jeli poszukiwania nie powiody si z
  # jakich innych powodw (jak nie odpowiadajcy serwer NIS), to
  # poszukiwania s kontynuowane z nastpn pozycj.
  #
  # Poprawne pozycje to:
  #
  #       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
  group:      compat
  # Jeli masz libc5 musisz uy shadow: files nis
  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




  passwd_compat, group_compat i shadow_compat s obsugiwane tylko przez
  glibc 2.x. Jeli nie ma zasad (rules) shadow w /etc/nsswitch.conf,
  glibc uyje zasady (rule) passwd do sprawdzenia. Jest wicej moduw
  szukania dla glibc jak hesoid. Wicej informacji znajdziesz w
  dokumentacji glibc.


  66..88..  SShhaaddooww PPaasssswwoorrddss zz NNIISS ii PPAAMM..


  Shadow passwords przez NIS to zawsze zy pomys. Stracie ochron,
  ktr daje shadow passwords i tylko niewiele bibliotek C ma obsug
  takiej kombinacji. Dobrym pomysem na uniknicie przesyania shadow
  paswords przez NIS jest umieci tylko uytkownikw lokalnego systemu
  do pliku /etc/shadow. Usu pozycje dotyczce uytkownikw NIS z bazy
  shadow i umie haso spowrotem w passwd. Tak e moesz uywa shadow
  dla logowania si jako root i normalnych hase dla uytkownikw NIS.
  Ma to t zalet, e bdzie to dziaao z kadym klientem NIS.
  66..88..11..  LLiinnuuxx


  Jedyn bibliotek jaka obsuguja kombinacj Shadow passwords prze NIS
  jest libc 2.x. Libc5 nie potrafi tego obsuy. Libc5 skompilowana z
  obsug NYS posiada troch kodu na ten temat. Jednak kod ten jest
  miernej wartoci i nie dziaa poprawnie z wszystkimi pozycjami shadow.


  66..88..22..  SSoollaarriiss


  Solaris nie obsuguje takiej kombinacji w ogle.


  66..88..33..  PPAAMM


  PAM nie obsuguje Shadow Passwords przez NIS,a szczeglnie
  pam_pwdb/libpwdb. Jest to powany problem dla uytkownikw RedHat 5.x.
  Jeli masz glibc i PAM, to musisz zmieni pozycje w plikach
  /etc/pam.d/*. Zamie wszystkie zasady dotyczce pam_pwdb na moduy
  pam_unix_*. Z powodu bdu w module pam_unix_auth.so nie bdzie on
  zawsze dziaa.

  Przykadowy plik /etc/pam.d/login moe wyglda tak:



       #%PAM-1.0
       auth       required    /lib/security/pam_securetty.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





  Do autoryzacji potrzbujesz moduu pam_unix_auth.so, do kont
  pam_unix_acct.so, do hase pam_unix_passwd.so a do sesji
  pam_unix_session.so.


  77..  CCzzeeggoo ppoottrrzzeebbuujjeesszz ddoo uussttaawwiieenniiaa NNIISS++??



  77..11..  OOpprrooggrraammoowwaanniiee..


  Klient dla NIS+ na Linuxa zosta napisany dla biblioteki GNU C 2.
  Jest take wersja dla libc5, poniewa wikszo komercyjnych aplikacji
  jest z ni skompilowane i nie mona ich przekompilowa z bibliotek
  glibc. Z bibliotek t i NIS+ s problemy: Nie mgby doczy
  statycznie tej biblioteki do programw i programy skompilowane z t
  bibliotek nie bd dziaay z inn.

  Musisz cign i skompilowa najnowsz bibliotek GNU C 2.1 dla
  platformy Intela albo biblioteki GNU C 2.1.1 dla platform 64-bitowych.
  Potrzebujesz take systemu opartego na glibc jak RedHat 5.x, Debian
  2.x czy SuSE Linux 6.x.


  W kadej dystrybucji musisz przekompilowa kompilator gcc/g++,
  libstdc++ i ncurses. W RedHat musisz wiele zmieni w konfiguracji PAM.
  W SuSE 6.0 musisz przekompilowa pakiet Shadow Passwords.

  Oprogramowanie klienckie NIS+ mona pobra z:



         Adres                  Katalog                    Nazwa Pliku

         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




  Dystrybucje oparte na glibc mona cign z:



         Adres                  Katalog

         ftp.redhat.com         /pub/redaht/redhat-5.2
         ftp.debian.org         /pub/debian/dists/stable
         ftp.icm.edu.pl         /pub/Linux/redhat
         ftp.icm.edu.pl         /pub/Linux/debian





  [Od tumacza: Jeli jeste w Polsce, to uyj dwch ostatnich adresw.]

  Aby skompilowa bibliotek GNU C postpuj zgodnie z instrukcjami
  doczonymi do niej. Tutaj moesz znale zaatan libc5, opart o
  rda NYS i glibc zamiast standardowej libc5:



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




  Powiniene take zajrze do
  http://www.suse.de/~kukuk/linux/nisplus.html
  <http://www.suse.de/~kukuk/linux/nisplus.html>, aby zdoby wicej
  informacji i najnowsze rda.


  77..22..  KKoonnffiigguurraaccjjaa kklliieennttaa NNIISS++..


  WANE: Aby ustawi klienta NIS+, przeczytaj dokumenctaj do NIS+ na
  Solaris-a, aby si dowiedzie co zrobi po stronie serwera !  Dokument
  ten opisuje tylko co zrobi po stronie klienta !

  Po zainstalowaniu nowej biblioteki libc i nis-tools stwrz listy
  uwierzytelniajce dla nowego klienta na serwerze NIS+. Upewnij si, e
  dziaa portmap. Potem sprawd czy na twoim Linux-ie jest ten sam czas
  co na serwerze. W bezpiecznym RPC masz tylko 3 minuty, w cigu ktrych
  listy uwierzytelniajce s aktualne. Dobrym pomysem jest uruchomienie
  na wszystkich hostach xntpd. Potem uruchom
       domainname domena.nisplus
       nisinit -c -H <serwer NIS+>




  aby zainicjalizowa zimny start file. Przeczytaj stron podrcznika
  systemowego o nisinit i znajd jego opcje. Upewnij si, e nazwa
  domeny bdzie zawsze ustawiona po resecie. Jeli nie wiesz jaka jest
  nazwa domeny w twojej sieci, zapytaj administratora.

  Teraz powiniene zmieni swj plik konfiguracyjny /etc/nsswitch.conf.
  Upewnij si, e jedynym serwisem po publickey jest nisplus
  ("publickey: nisplus") i nic wicej !

  Potem uruchom keyserv i upewnij si, e zawsze bdzie startowany jako
  nastpy demon po portmaperze podczas startu. Uruchom:



       keylogin -r




  aby zapisa tajny klucz (secretkey) root-a na twoim systemie. (Mam
  nadziej, e dodae klucz publiczny dla nowego hosta na serwerze
  NIS+?).

  "niscat passwd.org_dir" powinno pokaza ci teraz wszystkie pozycje w
  bazie danych z hasami.


  77..33..  NNIISS++,, kkeeyyllooggiinn,, llooggiinn ii PPAAMM..


  Kiedy uytkownik si loguje musi ustawi swj tajny klucz dla keyserv-
  a. Robi si to przez wywoanie "keylogin".  Login z pakietu shadow
  zrobi to za uytkownika jeli zosta skompilowany z bibliotek glibc
  2.1. W przypadku login-u PAM musisz zainstalowa
  pam_keylogin-1.2.tar.gz i zmodyfikowa plik /etc/pam.d/login, tak aby
  uywa pam_unix_auth, a nie pwdb, ktre nie obsuguje NIS+. Na
  przykad:



       #%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7..44..  PPlliikk nnsssswwiittcchh..ccoonnff..


  Plik /etc/nsswitch.conf okrela kolejno w jakiej odbywa si
  sprawdzanie kiedy pojawi si danie pewnej informacji, tak samo jak
  plik /etc/host.conf, ktry okrela kolejno sprawdzania adresw
  hostw. Na przykad linia:
           hosts: files nis dns




  okrela, e funkcje sprawdzania adresw hostw powinny najpierw szuka
  w lokalnym pliku /etc/hosts, potem w bazie NIS i na kocu w DNS-ie
  (/etc/resolv.conf i named), gdzie jeli nie znaleziono odpowiedzi, to
  zwracany jest bd.

  Poprawny plik /etc/nsswitch.conf dla NIS:



       #
       # /etc/nsswitch.conf
       #
       # An example Name Service Switch config file. This file should be
       # sorted with the most-used services at the beginning.
       #
       # Pozycja '[NOTFOUND=return]' oznacza, e poszukiwania powinny
       # zakoczy si, jeli poszukiwania w poprzedniej pozcyji nic nie
       # day. Zauwa, e jeli poszukiwania nie powiody si z
       # jakich innych powodw (jak nie odpowiadajcy serwer NIS), to
       # poszukiwania s kontynuowane z nastpn pozycj.
       #
       # Poprawne pozycje to:
       #
       #       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
       # dla libc5: passwd: files nisplus
       group:      compat
       # dla libc5: group: files nisplus
       shadow:     compat
       # dla libc5: 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 [NOTFOUND=return] files
       automount:  files
       aliases:    nisplus [NOTFOUND=return] files






  88..  KKoonnffiigguurraaccjjaa sseerrwweerraa NNIISS..



  88..11..  PPrrooggrraamm yyppsseerrvv..


  Dokument ten opisuje tylko jak skonfigurowa serwer NIS oparty na
  "ypserv".

  Oprogramowanie serwera NIS mona znale na:



         Adres                  Katatlog                      Nazwa pliku

         ftp.kernel.org     /pub/linux/utils/net/NIS     ypserv-1.3.6.tar.gz




  Moesz take zajrze do http://www.suse.de/~kukuk/linux/nis.html
  <http://www.suse.de/~kukuk/linux/nis.html> po wicej informacji i
  najnowsze rda.

  Ustawianie serwera jest takie samo dla tradycyjnego NIS i NYS.

  Skompiluj oprogramowanie, aby wygenerowa programy "ypserv" i
  "makedbm". Moesz skonfigurowa program ypserv, aby uywa pliku
  securenets albo tcp_wrappers.  Tcp_wrappers sa o wiele bardziej
  elastyczne, ale wielu ludzi ma z tym powane kopoty. A niektre pliki
  konfiguracyjne mog powodowa przeciek w pamici (?? memory leak: moe
  autor mia na myli brak pamici ?? - lack of memory). Jeli masz
  problemy z ypserv skompilowanym dla tcp_wrappers, to przekompiluj go
  do uywania pliku securenets. ypserv --version, pokae jak masz
  wersj.

  Jeli uruchamiasz swj serwer jako gwny, okrel jakie pliki maj by
  dostpne przez NIS i wtedy dodaj lub usu odpowiednie pozycje w
  /var/yp/Makefile. Zawsze powiniene zaglda do plikw Makefile i
  zapozna si z opcjami na pocztku pliku.

  Pomidzy ypserv 1.1 a 1.2 bya jedna dua zmiana. Od wersji 1.2,
  ypserv "keszuje" uchwyty plikw (file handles). Oznacza to, e zawsze
  kiedy stworzysz now map musisz wywoa makedbm z opcj -c. Upewnij
  si, e uywasz nowego /var/yp/Makefile z ypserv 1.2 lub nowszego,
  albo dodaj opcj -c do makedbm w pliku Makefile. Jeli tego nie
  zrobisz, ypserv bdzie wci uywa starych map zamiast
  uaktualnionych.

  Teraz zmodyfikuj /var/yp/securenets i /etc/ypserv.conf.
  Wicej informacji na stronach podrcznika man o ypserv(8) i
  ypserv.conf(5).

  Upewnij si czy portmapper (portmap(8)) jest uruchomiony i uruchom
  serwer ypserv. Polecenie:



           % rpcinfo -u localhost ypserv




  powinno pokaza co takiego:

           program 100004 version 1 ready and waiting
           program 100004 version 2 ready and waiting




  Linii z "version 1" moe nie by; zalenie od wersji ypserv i
  konfiguracji, ktrej uywasz. Tylko w klientach SunOS 4.x jest to
  wymagane.

  Teraz wygeneruj baz danych NIS (YP). Na serwerze gwnym uruchom:



           % /usr/lib/yp/ypinit -m




  na slave upewnij si, e dziaa ypwhich -m. Potem uruchom



           % /usr/lib/yp/ypinit -s masterhost




  To wszystko, twj serwer ju dziaa.

  Jeli masz wiksze problemy, moesz wystartowa ypserv i ypbind i
  trybie ledzenia (debug) w innym oknie. Komunikaty pojawiajce si w
  tym trybie powinny ci powiedzie co jest nie tak.

  Jeli musisz uaktualni map, to uruchom make w katalogu /var/yp na
  master serwerze NIS. Uaktualni to map jeli plik rdowy jest nowszy
  i przele pliki do serwerw slave. Nie uywaj ypinit do uaktualniania
  map.

  Moesz zmodyfikowa crontab root-a *na serwerze slave* i doda
  ponisze linie:



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




  To upewni nas, e mapy NIS s aktualne, nawet jeli jakie
  uaktualnienie zostao przeoczone z powodu np. wyczenia serwera slave
  podczas modyfikowania bazy gwnej.

  Serwer slave moesz doda kiedykolwiek pniej. Najpierw upewnij si,
  e nowy serwer slave ma pozwolenie na kontaktowanie si z masterem
  NIS. Potem uruchom



           % /usr/lib/yp/ypinit -s masterhost




  na nowym slavie. Na serwerze master dodaj nazw nowego serwera slave
  do pliku /var/yp/ypservers  uruchom make w </var/yp, aby uaktualni
  mapy.

  Jeli chcesz ograniczy dostp do twojego serwera NIS bdziesz musia
  ustawi serwer NIS take jako klienta przez uruchomienie ypbind i
  dodanie pozycji + do /etc/passwd _w poowie_ (halfway) pliku z
  hasami. Funkcje biblioteczne zignoruj wszystkie normalne pozycje po
  pierwszej pozycji NIS i i reszt informacji zdobd przez NIS.W ten
  sposb obsugiwany jest dostp NIS.  Przykad:



            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
       [ PO tej linii normalni uytkownicy ! ]
            tester:*:299:10:Just a test account:/tmp:
            miquels:1234567890123:101:10:Miquel van Smoorenburg:/home/miquels:/bin/zsh




  Uytkownik tester bdzie istnia, ale bdzie mia ustawion powok na
  /etc/NoShell. miquels bdzie mia normalny dostp.

  Alternatywnie mgby zmodyfikowa plik /var/yp/Makefile i ustawi
  NIS, tak eby uywa innego rdowego pliku z hasami. W duych
  systemach NIS-owe pliki z hasami i grupami znajduj si zwykle w
  /etc/yp/. Jeli tak zrobisz, to zwyke narzdzia jak passwd, chfn,
  adduser nie bd ju dziaa i bdziesz potrzebowa specjalnych
  wasnorcznie zrobionych wersji.

  Chocia yppsswd, ypchsh i ypchfn bd oczywicie dziaa.


  88..22..  PPrrooggrraamm sseerrwweerraa yyppss..


  Aby ustawi serwer NIS "yps" przeczytaj poprzedni paragraf. Ustawianie
  serwera "yps" jest podobne, _ale_ nie dokadnie takie samo, wic
  uwaaj jak bdziesz stosowa instrukcje dla "ypserv-a" do "yps" !
  "yps" nie jest wspierany przez adnego autora i zawiera par dziur w
  bezpieczestwie. Na prawd nie powiniene go uywa !

  Oprogramowane do serwera NIS "yps" mona znale na:



         Adres               Katalog                           Nazwa pliku

         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


  88..33..  PPrrooggrraamm rrppcc..yyppxxffrrdd


  Program rpc.ypxfrd suy do przyspieszania przesyu bardzo duych map
  z serwera master na slave. Jeli serwer NIS slave otrzyma informacje,
  e jest nowa mapa wystartuje program ypxfr, aby j pobra. ypxfr
  przeczyta zawarto mapy z serwera master przy pomocy funkcji
  yp_all(). Proces ten moe zaj do kilku minut jeli s bardzo due
  mapy, ktre musz by zapisane przez biblioteki bazy danych.

  Program rpc.ypxfrd przyspiesza proces pobrania przez pozwolenie
  serwerowi slave na skopiowanie mapy serwera master zamiast tworzenia
  jej od nowa. rpc.ypxfrd uywa protokou do przesyu plikw na
  podstawie RPC, tak e nie ma potrzby na tworzenie nowej mapy.

  rpc.ypxfrd moe by uruchomiony przez inetd. Ale poniewa startuje
  bardzo wolno, powinien byc startowany przez ypserv. Musisz wystartowa
  rpc.ypxfrd tyko na serwerze NIS master.


  88..44..  PPrrooggrraamm rrppcc..yyppppaasssswwdddd


  Kiedy uytkownicy zmieniaj swoje hasa, baza danych NIS z hasami i
  przypuszczalnie inne bazy danych NIS, ktre zale od bazy danych z
  hasami, powinny by uaktualnione. Program "rpc.yppasswdd" jest
  serwerem, ktry odpowiedzialny jest za zmiany hase i uaktualnianie
  baz danych NIS. rpc.yppasswdd jest zintegrowany z ypserv. Nie
  potrzebujesz starszych oddzielnych yppasswd-0.9.tar.gz czy
  yppasswd-0.10.tar.gz i nie powiniene ich ju uywa. rpc.yppasswdd z
  ypserv 1.3.2 ma pen obsug shadow.  yppasswd jest teraz czci yp-
  tool-.2.2.tar.gz.

  Musisz uruchomi rpc.yppaswdd tylko na serwerze NIS master.  Domylnie
  uytkownicy nie maj prawa zmienia swoich "penych nazw" czy powoki.
  Moesz na to pozwoli opcj -e chfn czy -e chsh.

  Jeli twoje pliki passwd i shadow nie s umieszczone w innym katalogu
  ni /etc, musisz doda opcj -D. Na przykad jeli umiecie
  wszystkie pliki rdowe w /etc/yp i chcesz udostpni swoim
  uytkownikom moliwo zmiany powoki, musisz uruchomi rpc.yppasswdd
  z nastpujcymi parametrami:



          rpc.yppasswdd -D /etc/yp -e chsh




  lub



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




  Nic wicej do zrobienia ju nie zostao. Musisz si tylko upewni, e
  rpc.yppasswdd uywa tych samych plikw co /var/yp/Makefile. Bdy bd
  logowane za pomoc syslog.




  99..  WWeerryyffiikkaaccjjaa iinnssttaallaaccjjii NNIISS//NNYYSS..


  Jeli wszystko jest w porzdku (jak powinno by), powiniene mc
  zwersyfikowa instalacj kilkoma prostymi poleceniami. Zakadajc na
  przykad, e twj plik z hsami jest dostarczany prze NIS, polecenie



           % ypcat passwd




  powinno pokaza ci zawarto pliku z hasami z NIS. Polecenie



           % ypmatch userid passwd




  (gdzie userid jest login-em jakiego uytkownika) powinno pokaza ci
  pozycj w pliku z hasami dotyczc tego uytkownika. Programy "ypcat"
  i "ypmatch" powinny by zawarte w dystrybucji NIS lub NYS.

  Jeli uytkownik nie moe sie zalogowa, uruchom nastpujcy program
  po stronie klienta:



       #include <stdio.h>
       #include <pwd.h>
       #include <sys/types.h>

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

         if(argc != 2)
           {
             fprintf(stderr,"Stosowanie: getwpnam nazwa-uzytkownika\n");
             exit(1);
           }

         pwd=getpwnam(argv[1]);

         if(pwd != NULL)
           {
             printf("name.....: [%s]\n",pwd->pw_name);
             printf("password.: [%s]\n",pwd->pw_passwd);
             printf("user id..: [%d]\n", pwd->pw_uid);
             printf("group id.: [%d]\n",pwd->pw_gid);
             printf("gecos....: [%s]\n",pwd->pw_gecos);
             printf("directory: [%s]\n",pwd->pw_dir);
             printf("shell....: [%s]\n",pwd->pw_shell);
           }
         else
           fprintf(stderr,"Nie znaleziono uzytkownika \"%s\"!\n",argv[1]);

         exit(0);
       }


  Uruchomienie tego programu z uytkownikiem jako parametr, spowoduje
  wywietlenie wszystkich informacji jakie uzyska funkcja getpwnam dla
  tego uytkownika. Powinno ci to pokaza, ktra pozycja jest
  niepoprawna. Najpopularniejszym problemem jest zapisanie "*" w polu
  hasa.

  Razem z bibliotek GNU C 2.1 (glibc 2.1) dostarczane jest narzdzie
  getent. Uyj tego programu zamiast powyszego na systemie z t
  bibliotek. Moesz sprbowa:



          getent passwd




  lub



          getent passwd login






  1100..  PPooppuullaarrnnee pprroobblleemmyy ii rroozzwwiizzyywwaanniiee iicchh..



  1. Biblioteki do 4.5.19 s niepoprawne. NIS nie bdzie z nimi
     wsppracowa.

  2. Jeli uaktualnisz biblioteki z 4.5.19 na 4.5.24, to polecenie su
     nie dziaa. Potrzebujesz tego polecenia ze Slackware 1.2.0.
     Przypadkowo tam moesz znale uaktulanione biblioteki.

  3. Kiedy serwer NIS si wyczy i potem uruchomi ponownie ypbind
     zaczyna wypisywa co takiego:


              yp_match: clnt_call:
                          RPC: Unable to receive; errno = Connection refused



  i uytkownicy zarejestrowani w bazie danych NIS nie mog si zalo
  gowa. Sprbuj zalogowa si jako root i zakocz ypbind i uruchom go
  ponownie. Uaktualnienie do ypbind 3.3 lub nowszego take powinno
  pomc.

  4. Po uaktualnieniu libc do wersji nowszej ni 5.4.20, narzdzia YP
     nie bd dziaa. Potrzebujesz w takim przypadku yp-tools w wersji
     1.2 lub nowszej dla libc >= 5.4.21 i glibc 2.x.  Dla wczeniejszych
     wersji libc potrzbujesz yp-clients 2.2. yp-tools 2.x powinny
     dziaa ze wszystkimi bibliotekami.

  5. W libc 5.4.21-35 yp_maplist jest popsute, potrzbujesz 5.4.36 lub
     nowszej wersji, albo niektre programy z YP jak np. ypwich bd
     przerywa dziaanie z bdem _S_e_g_m_e_n_t_a_t_i_o_n _f_a_u_l_t.

  6. libc 5 z tradycyjnym NIS nie obsuguje shadow passwords przez NSI.
     Potrzebujesz libc5 + NYS lub glibc 2.x

  7. ypcat shadow nie pokazuje mapy shadow. Jest to poprawne - nazwa
     mapy shadow to _s_h_a_d_o_w_._b_y_n_a_m_e a nie _s_h_a_d_o_w.

  8. Solaris nie zawsze uywa uprzywilejowanych portw. Wic staraj si
     nie robi nic z hasami jeli masz klienta na Solarisie.


  1111..  CCzzssttoo zzaaddaawwaannee ppyyttaanniiaa..


  Na wikszo twoich pyta powiniene ju uzyska odpowied. Jeli
  wci masz jakie pytania bez odpowiedzi to moesz wysa list na
  grup



           comp.os.linux.networking




  albo na ktr z polskich grup



           pl.comp.security
           lub
           pl.comp.os.linux
           lub
           pl.comp.os.linux.siec(i)




  Albo skontaktuj si z ktrym z autorw tego HOWTO.































