  The Linux NIS(YP)/NYS/NIS+ HOWTO
  Thorsten Kukuk
  v1.0, 9 March 1999
  앐Y
  v1.0j2, 11 Jun 1999

  ̕ł Linux  NIS(YP) ܂ NIS+ ̃NCAgɐݒ肷
  @A NIS T[oCXg[@ɂďqׂ܂B
  ______________________________________________________________________

  ڎ

  1. ͂߂
     1.1 ̍̕ŐV
     1.2 Ɛ
     1.3 tB[hobNƍ̉
     1.4 ӎ

  2. pWƈʓIȏ
     2.1 pW
     2.2 ʓIȏ
     2.3 NIS  NYS  NIS+ 
     2.4 libc 4/5 ł trad-NIS AƂ NYS CuH
     2.5 glibc 2  NIS/NIS+
     2.6 NIS  NIS+ H

  3. 쌴
     3.1 NIS ̓쌴
     3.2 NIS+ ̓쌴

  4. RPC |[g}bp
  5. NIS ̐ݒɂ͉KvH
     5.1 }X^[T[oAX[uT[oANCAg߂
     5.2 \tgEFA
     5.3 ypbind f[
     5.4 trad-NIS p NIS NCAgZbgAbv
     5.5 NYS p NIS NCAgZbgAbv
     5.6 glibc 2.x p NIS NCAgZbgAbv
     5.7 nsswitch.conf t@C

  6. NIS  PAM  Shadow pX[hg
     6.1 Shadow pX[h NIS
        6.1.1 Linux
        6.1.2 Solaris
        6.1.3 PAM

  7. NIS+ ̐ݒɂ͉KvH
     7.1 \tgEFA
     7.2 NIS+ NCAg̃ZbgAbv
     7.3 NIS+, keylogin, login  PAM
     7.4 nsswitch.conf t@C

  8. NIS T[o̐ݒ
     8.1 T[ovO ypserv
     8.2 T[ovO yps
     8.3 rpc.ypxfrd vO
     8.4 rpc.yppasswdd vO

  9. NIS/NYS CXg[̃`FbN
  10. NIS ł悭Ƃ̉@
  11. 悭鎿 (FAQ)

  ______________________________________________________________________

  1.  ͂߂

  ŋ߂ł Linux }Vlbg[Nɐڑ邱Ƃ܂܂Ȃ
  Ă܂B ܂lbg[NǗ̊ȗ̂߂ɁAقƂǂ̃lbg
  [N ( Sun x[XɂȂĂlbg[N) ł NIS Ă
  B Linux }Vł́A NIS T[rX]ƂȂ󂯂A
  ܂񋟂肷邱Ƃł܂B Linux }VׂĂ̋@\
  NIS+ NCAgƂĂ삳邱Ƃł܂BA͂܂x[
  ^̒iKłB

  ̕ Linux }V NIS(YP)  NIS+ ZbgAbv@ɂ
  ċLq̂łB̗pɂĂ ``RPC |[g}bp'' ̐
  ͕KǂŉB

  NIS-HOWTO 

               Thorsten Kukuk, <kukuk@suse.de>

  ɂĕҏWƃeiXsĂ܂B

  ȑO NIS-Howto ͈ȉ̐lXɂĎM܂BނɊӂ
  B

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

  󒍁F v0.2 ̓{͍ݗǐ <negishi@yw.se.shibaura-it.ac.jp>
  ɂČJ܂B 0.6 ւ̒ǐƈȍ~̍XV͒앐Y
  <nakano@apm.seikei.ac.jp> s܂B

  1.1.  ̍̕ŐV

  ̍̕ŐVł͂ł WWW ŉ{邱Ƃł܂B URL 
  <http://www.suse.de/~kukuk/nis-howto/HOWTO/NIS-HOWTO.html> łB

  ̃hLg̍ŐVł́A Linux ֘A WWW TCg FTP TCgɂ
  o^܂B LDP ̃z[y[Wɂ܂B

  |󕶏ւ̃N <http://www.suse.de/~kukuk/linux/nis-howto.html>
  ɏW߂Ă܂B

  󒍁F{ł̍̕ŐVł <http://www.linux.or.jp/JF/JFdocs/NIS-
  HOWTO.html> ɒu܂B

  1.2.  Ɛ

  ͎͂̒̕mőW߂ďłAmłȂ
  邩܂B̕ŏЉĂvOɂẮAꂼ
  ɕtĂ README t@CKǂŉB README t@Cɂ
  ڂ萳mȏ񂪏Ă͂łB񂱂
  hLgł邾ԈႢ̂Ȃ̂ɂĂƍlĂ܂B
  1.3.  tB[hobNƍ̉

  ̕Ɋւ鎿Rg܂ACy Thorsten Kukuk
  ܂Ń[BAhX kukuk@suse.de łBĂᔻ}
  ܂B̕ɌAɘAĉΎ̔łŒ
  B낵肢܂B

  󒍁F|ɑ΂Rg͒앐Y nakano@apm.seikei.ac.jp ܂ł
  ܂B

  ȂAȂ Linux zzpbP[WɓL̖ɊւĂ͎Ƀ[
  ȂŉIׂ͂Ă̔zzpbP[WmĂł͂܂
  BA@Ă΁AɒǉƂ͎vĂ
  ܂B

  1.4.  ӎ

  ̃hLg쐬ɂāAړI邢͊ԐړIɂbɂ
  ܂ȉ̕XɊӂ܂BAt@xbgɁF

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

  yp-clients ̃IWiR[h Theo de Raadt ɂč쐬܂B
  Swen Thuemmler  yp-clients ̃R[h Linux ɈڐAA yp ֘Ã[
  ` ( Theo ̎d)  libc ɈڐA܂B Thorsten Kukuk 
  GNU libc 2.x  NIS(YP)  NIS+ ̃[`XNb`珑܂
  B

  󒍁F{ɂẮAڍׂȍZĉ{iE
  L͂߁A JF [OXg̊FɂbɂȂ܂B

  2.  pWƈʓIȏ

  2.1.  pW

  ̃hLgł͑̏ȗꂪgĂ܂BȉɏdvȂ̂
  ȒPɋĂ܂B

     DBM
        f[^x[X}lWg (DataBase Management)BL[ƃf[^
        Ƃ̃yAǗf[^x[X@\CûƁB

     DLL
        INCu (Dynamically Linked Library)BvO̎
        sɃN郉CûƁB

     domainname
        NIS T[osL[[hB NIS NCAggp
        NIS T[o肷̂ɗpB domainname  DNS 
        "domain" Ɠ̂ɂKv͂ȂAނʂɂׂłB

     FTP
        t@C]vgR (File Transfer Protocol)BRs[^
        Ńt@C]鎞ɗpvgR̈B

     libnsl
        l[T[rXCu (Name services libraly)B SVR4 Unix 
        l[T[rX֘A̖ (getpwnam, getservbyname Ȃ) 
        CuB GNU libc ł NIS (YP)  NIS+ @\ɂ̃Cu
        pB

     libsocket
        \PbgT[rXCu (Socket services library)B\Pbg
        W̃VXeR[ (socket, bind, listen Ȃ) 񋟂郉Cu
        B SVR4 Unix ɎĂB

     NIS
        lbg[NT[rX (Network Information Service)Blbg
        [Nׂ̂Ă̌vZ@ŕKvȏLT[rX̂ƁB
        Linux ̕W libc Cuɂ NIS ̃T|[g܂܂ĂA
        ̕ł "trad-NIS" ƋLB (󒍁Fł
        "traditional NIS" łÂŖ҂ɑꂵ܂)

     NIS+
        Network Information Service (Plus)B{Iɂ NIS @\Abv
        ́B NIS+  Sun Microsystems Inc. ɂĐ݌vA NIS
        p̂ƂĂBZLeBA傫ȃVXe
        ɓ̂eՂɂȂĂB

     NYS
        NYS ́uNIS+A YPA Switchv\vWFNgłB Peter
        Eriksson <pen@signum.se> ǗĂB̃vWFNgł
        NIS(=YP) ̃R[h 0 ĎĂA NYS Cũl[
        T[rXXCb`@\𗘗p悤ɂȂĂB

     NSS
        l[T[rXXCb` (Name Service Switch)Bt@C
        /etc/nsswitch.conf ɂāAȅ̃NGXgɑ΂āA
        ȏԂŌs邩肷B

     RPC
        [gvV[WR[ (Remote Procedure Call)B C vO
         RPC [`𗘗p΁Albg[Nɂ鑼̌vZ@
        ̎葱(Tu[`)ĂтƂłBʏ̕ɂ
        Ă Sun  RPC ̈Ӗŗp邱ƂB

     YP CG[y[W (db) (Yellow Pages (TM)) Yellow Pages  p
        British Telecom Ђ̓o^WB

     TCP-IP
        Transmission Control Protocol/Internet Protocol ̗B TCP/IP 
        Unix Ŕɂ悭gĂf[^ʐMvgRłB

  2.2.  ʓIȏ

  ̓e Sun(tm) System & Network Administration Manual p
  ̂łB

       NIS ͂ TECG[y[W (Sun Yellow Pages, YP) 
       Ă΂Ă܂BuYellow Pagesv͉p British Tele-
       com Ђ̓o^WŁAgp邱Ƃł܂̂ŁA
       NIS ƌĂԂƂɂ܂B

  NIS  Network Information Service ̗łBlbg[Nׂ̂Ă
  vZ@ŋLׂ񋟂ړIŗp܂B NIS Œ񋟂
  Ƃ́AႦΈȉ̂悤Ȃ̂łB

  o  OCApX[hAz[fBNg (/etc/passwd)

  o  O[v (/etc/group)

  Ⴆ΁AȂ̃pX[h NIS  pX[hf[^x[Xɓo^
  Ƃ܂傤BƂȂ̓lbg[N NIS  NCAgv
  OĂvZ@ȂAǂ̌vZ@ɂOC邱Ƃł
  悤ɂȂ̂łB

  Sun  Sun Microsystems Ђ̏WłA SunSoft ЂɃCZX^
  Ă܂B

  2.3.  NIS  NYS  NIS+ 

  2.4.  libc 4/5 ł trad-NIS AƂ NYS CuH

  trad-NIS p邩 NYS Cu NIS R[hp邩́Au@\
  vƂ邩u_`vƂ邩̑Iƌ܂B

  trad-NIS ̃R[h͕W C CuɓĂ炾ԌoĂ܂B
  ܂ꂪÂA_ɌƂ낪܂B

   NYS Cu NIS R[hpɂ́Alibc CuăR
  pC libnsl ̃R[h libc ̒Ɋ܂߂邩Kv܂ (
  ̂悤ɃRpCꂽ libc Cuł邩܂)B

  ܂ trad-NIS ̃R[hł NIS ̃lbgO[v@\g܂A NYS
  ̃R[hɂ͎Ă܂Bt NYS ̃R[hł Shadow Password
  𓧉ߓIɈƂł悤ɂȂĂ܂A trad-NIS ̃R[h
  NIS ł Shadow pX[hT|[gĂ܂B

  2.5.  glibc 2  NIS/NIS+

  GNU C Library 2.x (libc6 ƂĂ΂܂) gĂꍇ́Aȏ̑S
  Ă͖YĉB libc6 ł NSS (l[XCb`T[rX) SɃT
  |[gĂAɏ_ȉ^pł悤ɂȂĂ܂B܂ȉ
  NIS^NIS+ }bvT|[gĂ܂:  aliases, ethers, group,
  hosts, netgroups, networks, protocols, publickey, passwd, rpc,
  services, shadow.  GNU C Library ł́A shadow pX[h NIS ł܂
  ȂƂł܂B

  2.6.  NIS  NIS+ H

  ǂIԂYޕKv͂܂B ɃZLeBɉߕqɂȂKv
  ȂANIS+ g˂΂ȂȂRȂ̂ȂA NIS g
  傤B NIS+ ̊Ǘ͂Ƒςł (NCAgł͂قǂł
  ܂񂪁AT[o[Ǘ͒nł)B Linux ł NIS+ ͂܂JiK
  łBpɂ͍ŐVł glibc 2.1 Kv܂BƎ
  ݂ꍇɂ́A glibc  NIS+ T|[g libc5 ɈڐÂ݂
  ܂ (͖T|[g)B

  3.  쌴

  3.1.  NIS ̓쌴

  ȂƂ 1  NIS ̃T[o[lbg[Nœ삵ĂȂĂ͂
  ܂B̃T[oғ邱Ƃł܂B̏ꍇ͂ꂼ
  قȂ NIS uhCṽT[oƂ邩A邢 2 ̃T[oЂ
  ̃hCŋē삳邱ƂɂȂ܂B҂̍\ł͈
  T[ou}X^[T[ovȂ̃T[ouX[uT[ovƌĂт
  BhC𕡐Aꂼɑ΂T[oAƂ悤ȍ\
  \łB

  X[uT[óA}X^[T[o NIS f[^x[X̃Rs[
  ܂B}X^[T[o NIS f[^x[XύXƁAꂻ
  󂯎܂Blbg[NɐڑĂvZ@̑䐔ƃlbg[N
  MlAX[uT[oCXg[邩ǂ (CXg[
  ꍇ͂̑䐔) ߂ĉB NIS NCAǵANIS T[o
  uāv背X|Xx肷ꍇɂ́AĂȂT[o
  ƃX|X̑T[oƂ̐ڑ݂܂B

  NIS f[^x[X ASCII `̃f[^x[XϊꂽA
  DBM tH[}bgɂȂĂ܂BႦ /etc/passwd  /etc/group 
  t@ĆA ASCII-DBM ϊ\tg (makedbm: T[o\tgɓ
  ܂) gĒ DBMtH[}bgɕϊł܂B NIS ̃}X^[T
  [o ASCII ` DBM `̃f[^x[X𗼕ĂȂĂ͂Ȃ
  ܂B

  X[uT[o NIS }bvύXƒʒm󂯂܂ (yppush vO
  p܂)BƃX[uT[o͕KvȕύXsAf[^x
  [X𓯊܂B NIS NCAgɂ̂悤ȍƂKv͂
  ܂BNCAg͏ NIS T[oɍŐV DBM f[^x[X̓e
  ǂ݂ɍsłB

  ypbind ̌Âo[Wł́A쒆 NIS T[oT߂Ƀu[h
  LXgp悤ɂȂĂ܂B̓ZLeB肪
  BȂȂN NIS T[oCXg[ău[hLXg̖
  킹ɓ悤ɂ邱Ƃł邩łBVo[W
  ypbind (ypbind-3.3 ܂ ypbind-mt) ł̓T[oݒt@C擾
  ł܂ - ău[hLXg͕svłB

  3.2.  NIS+ ̓쌴

  NIS+  Sun ɂlbg[NCtH[VT[rX̐Vo[
  WłB NIS  NIS+ ̍ł傫ȈႢ́A NIS+ ł̓f[^̈Í
  ƁA secure RPC ʂF؂\ɂȂĂ_łB

  NIS+ ̖f̓c[\ɊÂĂ܂Bc[̂ꂼ̃m[
  h NIS+ ̃IuWFNgɑΉĂAɂ͘Z̃^Cv
  BfBNg (directory)AGg (entry)AO[v (group)A
  N (link)Ae[u (table)AvCx[g (private) łB

  NIS+ ̖OԂŃ[gƂȂ NIS+ fBNg root fBNg
  Ă΂܂B NIS+ ɂ͓̓ʂȃfBNg݂܂B org_dir
   groups_dir łB org_dir fBNgɂׂ͂Ă̊Ǘe[u
  ܂܂BႦ passwd, hosts, mail_aliases ȂǂłB gourps_dir
  fBNgɂ̓ANZXRg[ɗp NIS+ O[vIuWF
  Ng܂܂܂B org_dir  group_dirAт̐efBNg
  W߂̂ NIS+ hCƂĎQƂ܂B

  4.  RPC |[g}bp

  ꂩĂ\tgEFA𓮂߂ɂ́A܂
  /usr/sbin/rpc.portmap 𓮍삳ĂKv܂B Linux ̔zz
  pbP[W̒ɂ́Ãf[𗧂グ邽߂̃R}h
  /sbin/init.d  /etc/rc.d/ ɏł̂܂̂ŁȀ
  ͊YARgău[g邾łBۂ̂̓fB
  Xgr[ṼhLgǂ݂܂傤B

  RPC |[g}bp (portmap(8)) ́A RPC vOԍ TCP/IP |[g
  ԍɕϊT[ovOłB NIS NCAgvO
  Ă悤ɁA RPC T[o (NIS T[oȂ)  RPC R[邽߂ɂ́A
  RPC |[g}bpĂȂ΂Ȃ܂B RPC T[ovO
  ́AĎ TCP/IP |[gԍƃf[^񋟂 RPC vOԍ
  ANɃ|[g}bpɓ`܂BNCAgvOA RPC
  vOԍɃR[Ȃɂ́A܂T[o}V RPC |[
  g}bpƌMāAǂ TCP/IP |[gԍ RPC ̃pPbg𑗂Η
  ̂肵܂B

  ʏ RPC T[ovO inetd(8) ɂċN܂̂ŁA inetd
  NO RPC |[g}bpN悤ɂĉB

  secure RPC pꍇɂ́A|[g}bp time T[rXKvƂ
  BׂẴzXg /etc/inetd.conf ŁAȉ̂悤 time T[rX
  p\ɂȂĂ邱ƂmFĉB

       #
       # Time service is used for clock syncronization.
       #
       time    stream  tcp     nowait  root    internal
       time    dgram   udp     wait    root    internal

  dvFݒt@CύX inetd ċN̂YȂ!

  5.  NIS ̐ݒɂ͉KvH

  5.1.  }X^[T[oAX[uT[oANCAg߂

  ܂ȉ̓̏ꍇlKv܂B

  1. ڑlbg[N NIS T[oꍇB

  2. ڑlbg[N NIS T[oȂꍇB

  ŏ̃P[Xł ypbind, ypwhich, ypcat, yppoll, ypmatch ƂN
  CAgvON邾Ŏg悤ɂȂ܂BԏdvȂ̂
  ypbind ŁÃvO͏ɎsĂKv܂ (܂ ps
  R}hsƂɃvZXe[uɕ\Ȃ΂Ȃ܂
  )B ypbind ͂f[vZXŁAVXẽX^[gAbv
  t@CNKv܂ (܂ /etc/init.d/nis,
  /sbin/init.d/ypclient, /etc/rc.d/init.d/ypbind, /etc/rc.local Ȃ)B
  ypbind N΁ǍvZ@͂̎_ NIS NCAgƂȂ
  ܂B

  Ԗڂ̃P[XA܂ NIS T[oȂꍇɂ́ANIS T[ovO
  (ʏ ypserv) KvƂȂ܂B̕ ``NIS T[o̐ݒ'' ̏
  ł́A Linux }V NIS T[oɐݒ肷@ɂĐĂ܂B
  ł Peter Eriksson  Thorsten Kukuk ɂ ypserv ̎p
  ܂B̎ 0.14 ȍ~̔łł ``NIS ̓쌴'' ̐߂ŐGꂽ}
  X^[^X[u@\T|[gĂ܂B

  ɂt[ NIS T[o܂B yps ƂvOŁAhCc
  Tobias Reber ɂďꂽ̂łB}X^[^X[u@\
  ܂AȊO̓_ɐ܂B

  5.2.  \tgEFA

  o[W 4.4.2 ȏ̃VXeCu /usr/lib/libc.a ̓VF
  A[hCu /lib/libc.so.x ɂ́A NIS ̃NCAgT[õv
  ORpĈɕKvȃVXeR[ׂĊ܂܂Ă
  B GNU C Library 2 (glibc 2.x) ł /lib/libnsl.so.1 KvłB

  NIS  /usr/lib/libc.a o[W 4.5.21 ȏłȂƂ
  ܂̂ŁAŜ߂ɂ͌Â͎̂gȂǂł傤B NIS
  ̃NCAgvO͈ȉ̏ꏊœł܂B

  o  <ftp://ftp.kernel.org/pub/linux/utils/net/NIS/> ɂ yp-
     tools-2.2.tar.gz, ypbind-mt-1.4.tar.gz, ypbind-3.3.tar.gz,
     ypbind-3.3-glibc5.diff.gz ܂B

  o  <ftp://ftp.uni-paderborn.de/linux/local/yp/> yp-clients-2.2.tar.gz
     ܂B

  \tgɓꂽAĂɂĉB yp-
  clients 2.2  libc4 ܂ 5.4.20 ܂ł libc ƋɗpĉB
  libc 5.4.21 ȍ~ glibc 2.x ɂ yp-tools 1.4.1 ȍ~KvłBV
   yp-tools ̃o[W 2.2 ́AׂĂ Linux libc œ삵܂B
  5.4.21  5.4.35 ܂ł libc ɂ́A NIS ̃R[hɃoÔŎg
  Ȃǂł傤B libc 5.4.36 ȍ~gȂƁAقƂǂ YP v
  O͓삵Ȃł傤B ypbind 3.3 ׂẴCuœ삵
  ܂B gcc 2.8.x ȍ~ egcsA glibc 2.x 𗘗pĂꍇ́A
  ypbind-3.3-glibc5.diff ς ypbind 3.3 ɓĂKv܂B
  yp-clients 2.2 ɓĂ ypbind ͌ĎgȂ悤ɂĉB
  ypbind-mt ́AVJꂽ}`Xbh̃f[łB
  Linux 2.2 J[l glibc 2.1 ȍ~KvłB

  5.3.  ypbind f[

  \tgEFA܂RpCꂽACXg[łB ypbind f[
   /usr/sbin ɓƗǂł傤B NYS ̃VXeł ypbind 
  KvȂƌl邩܂񂪁A͊ԈႢłB ypwhich 
  ypcat ɂ ypbind KvłB

  ypbind ̃CXg[͂X[p[[UōsKv܂B
  ̃oCi (ypwhich, ypcat, yppoll, ypmatch) ׂ͂Ẵ[U[A
  NZX\ȃfBNgɂ܂傤Bʏ /usr/bin ǂł
  B

  ŋ߂ ypbind ɂ͐ݒt@C /etc/yp.conf ܂B NIS T
  [o𒼂ɏĂƂł܂Bڂ ypbind(8) ̃}jA
  ǂŉB̃t@C NYS łKvłBȉ͗łB

         ypserver voyager
         ypserver defiant
         ypserver ds9

  NIS ȂłzXg̉łVXeł́A IP AhXłȂO
  p邱Ƃł܂BłȂ IP AhXp܂B ypbind
  3.3 ɂ̓oOAŌ̃Gg (L̗ł ypserver ds9) p
  ꂸA͑SĖ܂B ypbind-mt ł͐ƂłA
  ŏɕԎT[op܂B

  ypbind X^[gAbvt@CɓOɃeXgĂƂ
  ܂B ypbind ̃eXg͈ȉ̂悤ɂčs܂B

  o  YP ̃hCl[ݒ肳Ă邱ƂmFĉBݒ肳
     Ȃꍇ͈ȉ̂悤ɂ܂B

       /bin/domainname nis.domain

  nis.domain ͒ʏKȕŁAȂ̃}V DNS hCl[
  ͈Ⴄ̂ɂׂłBĂ΁AÕNbJ[T[o
  NIS pX[hf[^x[X𓐂ł̂킸Ȃ獢ɂȂ܂B
  NIS hCmȂꍇ̓VXeǗ҂lbg[NǗ҂ɐq
  ĉB

  o  /usr/sbin/rpc.portmap NĂȂ΋N܂B

  o  /var/yp ƂfBNgȂ΍쐬܂B

  o  /usr/sbin/ypbind N܂B

  o  ypbind T[rXe|[g}bpɓo^łǂm߂邽
     ɁA "rpcinfo -p localhost"  ƂR}hsĉBȉ
     悤ȏo͂͂łB

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

  邢͎gĂo[WɂĂ

              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

  ̂悤ɂȂ邩܂B

  o  "rpcinfo -u localhost ypbind" sĂ݂ĉBȉ̂悤ȕ\
     o͂łB

          program 100007 version 2 ready and waiting

  邢̓CXg[ ypbind ̃o[WɂĂ

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

  ̂悤ȏo͂ɂȂ邩܂BdvȂ̂ "version 2" ̃bZ[W
  łB

  ܂ŗ ypcat ̂悤 NIS NCAgvOs邱
  ł͂łB Ⴆ NIS ̃pX[hf[^x[XQƂꍇ
  ɂ́A "ypcat passwd.byname" Ƃ܂B

  dv: q ypbind ̃eXg΂ꍇAȂƂhCl[
  ݒ肵Ă邱Ƃ /var/yp ƂÕfBNgĂ邱
  ƂmFĉB /var/yp Ȃ ypbind ͐ɋN܂B

  hCl[̐ݒ肪ǂ`FbNɂ́A yp-tools 2.2
   /bin/ypdomainname gĉB̃vO
  yp_get_default_domain() ֐ĝŁA茵`FbNł܂B
  Ⴆ Linux ŃftHgɂȂĂ (đ̖̌ɂȂ
  )  "(none)" ̂悤ȃhĆÃvOł͋܂
  B

  eXg܂X^[gAbvt@CύXāAu[g
  ypbind N悤ɂĂƗǂł傤BI NIS NCA
  gƂĂ̊Jn܂B ypbind ̋NOɁAhCl[
  肳悤ɂ̂YȂƁB

  ȏŐݒ͏I܂Bu[gĂAu[gbZ[W ypbind
  ɓ삵Ă邩ǂmFĉB

  5.4.  trad-NIS p NIS NCAgZbgAbv

  zXg̖O NIS pɂ́A /etc/host.conf t@Cŉ
  w肷郉C "nis" w (܂͒ǉ) ĉBڍׂɕt
   resolv+(8) ̃}jAǂŉB

  ȉ̍s NIS NCAg /etc/passwd ɒǉĉB

       +::::::

  ܂ +  - ƂgƂŁA[U[ǉ/폜Ԃ
  ύX肷邱Ƃł܂BႦ΃[U guest 폜Ȃ
  /etc/passwd t@C -guest ǉ OK łB[U "linux" 
  VF (Ⴆ ksh) g킹łāHvA
  "+linux::::::bin/ksh"  /etc/passwd ɒǉ邾ł (p͎
  ĉ)BύXȂtB[h͋̂܂܂ɂĂKv
  B[ŨRg[ɂ̓lbgO[vp邱Ƃł܂B

  Ⴆ΁uOCANZX miquiels, dth, ed ƃlbgO[v sysadmin
  ̃o[Ɍ肽AAJEgf[^͑̃[USKvv
  Ƃ悤ȏꍇ͈ȉ̂悤ɂȂ܂B

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

  Linux ł̓pX[h̃tB[h㏑ł邱ƂɒӂĉB
  ͍̗ƑSłB̗ł "ftp" ̃OC폜Ă
  B]Ẵ[U݂͑ȂȂA anonymous ftp ͋@\ȂȂ
  ܂B

  /etc/netgroup t@C͈ȉ̂悤ɂȂĂƎv܂B

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

  dvFlbgO[v̋@\ libc 4.5.26 ܂B 4.5.26
  ȑO libc gĂ Linux }V ypbind sƁA NIS ̃p
  X[hf[^x[XɃGgׂẴ[U͂̃}VɃANZ
  XłĂ܂܂I

  5.5.  NYS p NIS NCAgZbgAbv

  KvȂ̂ NIS ̐ݒt@C (/etc/yp.conf) ŐT[o(Q)
  炦悤ɂĂƁAăl[T[rXXCb`̐ݒt@
  C (/etc/nsswitch.conf) 𐳂ݒ肷邱ƂłB

  ypbind CXg[Ă܂傤B libc ɂ͕Kv܂񂪁A
  NIS(YP) ̊ec[ł ypbind KvɂȂ܂B

  [U̒ǉEr@\ (+/-guest/+@admins) pꍇ́A "passwd:
  compat"  "group: compat"  nsswitch.conf Ŏw肷Kv܂B
  "shadow: compat" Ƃw͂܂B̏ꍇ "shadow: files
  nis" ̂悤ɂĉB

  NYS ̃\[X libc 5 ̃\[XɓĂ܂B configure s
  A "Values correct" ̖₢ɑ΂Ĉxڂ "NO" ƓĉB
   "Build a NYS libc from nys" ɑ΂ "YES" ƓĉB

  5.6.  glibc 2.x p NIS NCAgZbgAbv

  glibc  trad-NIS 𗘗p܂B] ypbind NKv
  B܂l[T[rXXCb`̐ݒt@C (/etc/nsswitch.conf) 
  ݒ肷Kv܂B passwd, shadow, group  compat [h
  gꍇ́Ãt@C̍Ō "+" ǉKv܂B
  [U̒ǉE폜@\p邱Ƃł܂Bݒ Solaris 2.x ̂
  Ƃ܂łB
  5.7.  nsswitch.conf t@C

  lbg[NT[rXXCb`̃t@C /etc/nsswitch.conf ͏ւ̃A
  NZXvƂɍs̏Ԃ肷̂łBzXǧ
  ŗp /etc/host.conf t@CƎĂ܂BႦ΂̃t@C
  

           hosts: files nis dns

  Ǝw肷΁AzXǧ@\͂܂[J /etc/hosts t@C
  TA NISAăhCl[T[rX (/etc/resolv.conf 
  named) ƂԂŌs܂BŌ܂Ń}b`̂Ȃ΁A
  G[Ԃ邱ƂɂȂ܂B̃t@C͑SẴ[Uǂݎ
  \łȂ΂Ȃ܂Iڍׂȏ nsswitch.5 
  nsswitch.conf.5 ̃}jAy[WĂB

  NIS p /etc/nsswitch.conf t@CƂẮAȉ̂悤Ȃ̂ǂ
  傤B

  ______________________________________________________________________
  #
  # /etc/nsswitch.conf
  #
  # An example Name Service Switch config file. This file should be
  # sorted with the most-used services at the beginning.
  #
  # The entry '[NOTFOUND=return]' means that the search for an
  # entry should stop if the search in the previous entry turned
  # up nothing. Note that if the search failed due to some other reason
  # (like no NIS server responding) then the search continues with the
  # next entry.
  #
  # Legal entries are:
  #
  #       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
  # For libc5, you must use 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, shadow_compat  glibc 2.x ł̂݃T|[g
  Ă܂B /etc/nsswitch.conf  shadow [Ȃ΁A glibc
  ̓pX[ȟ passwd [p܂B glibc p̌W[
  ƂāA hesoid ̂悤Ȃ݂̂Ă܂BɂĂ glibc
  ̕ǂłB

  6.  NIS  PAM  Shadow pX[hg

  6.1.  Shadow pX[h NIS

  NIS  shadow pX[h𗬒ʂ̂͗ǂlł͂܂B
  shadow VXẽbgłZLeBĂ܂łB
  ɂꂪT|[gĂ Linux C Cu͏ɉ߂܂B
  NIS  shadow 𗬂Ȃ悤ɂɂ́A[JVXẽ[U
   /etc/shadow ɓo^邱ƂłB NIS ɗ[UGg shadow
  f[^x[X폜ÃpX[h passwd ɏĉB
   root OCɂ shadow Aʂ NIS [Uɂ passwd 
  p邱Ƃł悤ɂȂ܂B̕@ȂAׂĂ NIS NCA
  gł܂삵܂B

  6.1.1.  Linux

  NIS  shadow pX[hp邱ƂłB Linux libc  GNU C
  Library 2.x łB Linux libc5 ͂T|[gĂ܂B Linux
  libc5  NYS ƈꏏɃRpCꍇ́ÃR[h܂܂邱
  ɂ͂Ȃ܂Bł̃R[h͏󋵂ɂĂ͂ЂǂĂ܂A
  shadow GgSĐꍇł삵ȂƂ܂B

  6.1.2.  Solaris

  Solaris  NIS ł shadow pX[hT|[gĂ܂B

  6.1.3.  PAM

  PAM  NIS ł shadow pX[hT|[g܂B
  pam_pwdb/libpwdb ߂ȂłB RedHat 5.x [UɂƂđ傫
  ȖłB glibc  PAM gĂꍇ́A /etc/pam.d/* ̃Gg
  ύXKv܂B pam_unix_* W[ɂ pam_pwdb ̃[
  uĉB pam_unix_auth.so W[ɂ̓oO
  ̂ŁA͕K삷Ƃ͌܂B

  /etc/pam.d/login ̗ƂĂ͈ȉ̂悤ɂȂł傤B

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

  auth ɂ pam_unix_auth.so W[pAaccount ɂ
  pam_unix_acct.so A password ɂ pam_unix_passwd.so A session 
   pam_unix_session.so p܂B

  7.  NIS+ ̐ݒɂ͉KvH

  7.1.  \tgEFA

  Linux  NIS+ NCAgR[h GNU C Cũo[W 2 p
  JĂ܂B libc5 ֈڐÂ܂BpAv
  P[V̂قƂǂ libc5 ɃNĂ܂AAvP[
  V glibc ɍăRpC邱Ƃ͂ł܂񂩂B
  libc5  NIS+ 𓯎Ɏgۂɂ͖肪܂BX^eBbNȃvO
   libc5 ɃN邱Ƃ͂ł܂񂵁ÃCuŃRpC
  vO͑̃o[W libc5 ł͓삵܂B

  GNU C Library 2.1 ɓARpCKv܂B 64bit v
  bgtH[Ȃ GNU C Library 2.1.1 łBx[X̃VXeƂāA
  glibc x[X̔zzpbP[WKvɂȂ܂B Debian 2.x, RedHat 5.x,
  SuSE Linux 6.x ȂǂłB

  ǂ̃fBXgr[VłA gcc/g++ RpCA libstdc++,
  ncurses ăRpCȂ΂Ȃ܂B Redhat ł PAM ̐ݒ
  啝ɕύXȂ΂Ȃ܂B SuSE Linux 6.0 ł shadow pbP[W
  ăRpCȂ΂Ȃ܂B

  NIS+ NCAg̃\tgEFA͈ȉł܂B

  o  <ftp://ftp.funet.fi/pub/gnu/funet/> ɂ libc-*, glibc-crypt-*,
     glibc-linuxthreads-* uĂ܂B

  o  <ftp://ftp.kernel.org/pub/linux/utils/net/NIS+/> ɂ nis-
     utils-19990223.tar.gz, pam_keylogin-1.2.tar.gz uĂ܂B

  glibc x[X̔zzpbP[W͈ȉł܂B

  o  <ftp://ftp.debian.org/pub/debian/dists/slink/>

  o  <ftp://ftp.redhat.com/pub/redhat/redhat-5.2/>

  o  <ftp://ftp.suse.de/pub/SuSE-Linux/6.0/>

  GNU C CũRpĆA\tgEFAɕt̐ɏ]ĉ
  B NYS  glibc ̃\[Xx[Xɂ libc5 ւ̃pb`݂
  Bȉɏꏊ܂B͕W libc5 ƒuĂ݂
  ꍇȂǂɓKĂ܂B

  o  <ftp://ftp.kernel.org/pub/linux/utils/net/nis+/> t@C
     libc-5.4.44-nsl-0.4.10.tar.gz łB

  <http://www.suse.de/~kukuk/linux/nisplus.html> ɂ́Aڍׂȏ
  ŐṼ\[X܂B

  7.2.  NIS+ NCAg̃ZbgAbv

  dvF NIS+ NCAgZbgAbvOɁA Solaris  NIS+ h
  LgǂŃT[oŕKvȍƂsĉB̕ł̓N
  CAgłǂ΂悢ɂĂqׂĂ܂I

  V libc  nis-tools CXg[ANIS+ T[oł̐V
  ȃNCAgp̐MC (credential) 쐬܂B portmap 삵
  Ă邱ƂmF悤ɂĉBɃNCAgɂ Linux PC
  ̎ NIS+ T[oƈvĂ邩`FbNĉB secure RPC 
  ꍇ́AMC؂̗LԂ 3 ܂BׂẴzXg xntpd
  𑖂点̂ǂł傤B炪mFłȉs܂B

       domainname nisplus.domain.
       nisinit -c -H <NIS+ server>

  s cold X^[gt@C܂B̃IvVɂ
   nisinit ̃}jAy[WǂŉBhCl[̓u[g
  ̂тɐݒ肳悤ɂĂĉBȂ̃lbg[N NIS+
  hCl[킩Ȃꍇ́AVXelbg[N̊Ǘ҂ɐq
  ĉB

   /etc/nsswitch.conf t@CύX܂B publickey ɏT[
  rX nisplus  ("publickey: nisplus") ŁÂ̂͏Ă͂Ȃ
  ȂƂɒӂĉB

   keyserv NĉB̓u[gɕK portmap ̒ɋN
  悤ɂĂĉB

       keylogin -r

  Ƃ΃VXe root ̔閧ۊǂ܂ (̐VzXg
  J NIS+ ̃T[oɒǉ܂ˁH)B

  "niscat passwd.org_dir" Ƃ΁A passwd f[^x[Xׂ̂ẴGg
  邱Ƃł͂łB

  7.3.  NIS+, keylogin, login  PAM

  OCƂɁA[U͎̔閧 keyserv ɃZbgKv
  ܂B keylogin ĂяoƂɂčs܂B glibc 2.1
  ƃRpCꂽꍇɂ́A shadow pbP[W login ͂[U
  ̑ɎsĂ܂B PAM F login pӂɂ́A
  pam_keylogin-1.2.tar.gz CXg[A /etc/pam.d/login t@C
  ύX pwdb ̑ pam_unix_auth g悤ɂKv܂
  (pwdb  NIS+ T|[g܂)B܂B

       #%PAM-1.0
       auth       required     /lib/security/pam_securetty.so
       auth       required     /lib/security/pam_keylogin.so
       auth       required     /lib/security/pam_unix_auth.so
       auth       required     /lib/security/pam_nologin.so
       account    required     /lib/security/pam_unix_acct.so
       password   required     /lib/security/pam_unix_passwd.so
       session    required     /lib/security/pam_unix_session.so

  7.4.  nsswitch.conf t@C

  lbg[NT[rXXCb`̃t@C /etc/nsswitch.conf ͏ւ̃A
  NZXvƂɍs̏Ԃ肷̂łBzXǧ
  ŗp /etc/host.conf t@CƎĂ܂BႦ΂̃t@C
  

           hosts: files nisplus dns

  Ǝw肷΁AzXǧ@\͂܂[J /etc/hosts t@C
  TA NIS+AăhCl[T[rX (/etc/resolv.conf 
  named) ƌԂŌs܂BŌ܂Ń}b`̂Ȃ΃G
  [Ԃ邱ƂɂȂ܂B

  NIS+ p /etc/nsswitch.conf t@ĆAȉ̂悤Ȃ̂ɂĂ
  ǂł傤B

  ______________________________________________________________________
  #
  # /etc/nsswitch.conf
  #
  # An example Name Service Switch config file. This file should be
  # sorted with the most-used services at the beginning.
  #
  # The entry '[NOTFOUND=return]' means that the search for an
  # entry should stop if the search in the previous entry turned
  # up nothing. Note that if the search failed due to some other reason
  # (like no NIS server responding) then the search continues with the
  # next entry.
  #
  # Legal entries are:
  #
  #       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
  # for libc5: passwd: files nisplus
  group:      compat
  # for libc5: group: files nisplus
  shadow:     compat
  # for 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
  automount:  files
  aliases:    nisplus [NOTFOUND=return] files
  ______________________________________________________________________

  8.  NIS T[o̐ݒ

  8.1.  T[ovO ypserv

  ̕ł́A NIS T[oƂĂ "ypserv" ̐ݒ@݂̂L܂B

  NIS T[õ\tg͈ȉɂ܂B

  o  <ftp://ftp.kernal.org/pub/linux/utils/net/NIS/> t@C
     ypserv-1.3.6.tar.gz łB

  <http://www.suse.de/~kukuku/linux/nis.html> ɂ́Aڂ񂪂
  ܂B
  T[õZbgAbv@ trad-NISA NYS ǂ̏ꍇłłB

  RpC ypserv  makedbm ܂B securenets t@Cg
   tcp_wrappers gݒł܂B tcp_wrapper ̕Ə_
  łAꂪ̌ƂȂꍇmĂ܂B tcp_wrapper
  p̐ݒt@C̏ɂĂ̓[[NNƂ
  B tcp_wrapper g悤 ypserv RpCĖ肪N
  ꍇɂ́A securenets t@Cp悤ɃRpCȂĂ
  B ypserv --version Ƃ΂ǂ̃o[WgĂ邩
  ܂B

  T[o}X^[ƂċNꍇ́ANIS pċLt@C
  ߂ĂB /var/yp/Makefile  "all" [ɕKvȂ̂
  AsvȂ̂폜肵ĂB܂ Makefile ̐擪̕
  KāAIvV̊ɂ킹ĕҏWĂׂłB

  ypserv 1.1  ypserv 1.2 Ƃ̊Ԃł́A傫ȕύXs܂B 1.2 
  ~ł́At@CnhLbV悤ɂȂ̂łBɂ
  AV}bv𐶐Ƃɂ͕K makedbm  -c IvV
  Ȃ΂ȂȂȂ܂B /var/yp/Makefile  ypserv 1.2 ȍ~ɕt
  ̂̂ł邱ƂmFĉB邢 Makefile  makedbm ɁA
   -c tOĉBYƁAypserv ͍XVꂽ}b
  vł͂ȂAÂ}bvgĂ܂܂B

   /var/yp/securenets  /etc/ypserv.conf ҏW܂BڍׂɊւ
  ́A ypserv(8)  ypserv.conf(5) ̃}jAy[WǂŉB

  |[g}bp (rpc.portmap) Ă邩mFĉBmFł
  ypserv 𓮂܂B

           % rpcinfo -u localhost ypserv

  ƂR}hsĂ݂āA

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

  Əo͂邱ƂmFĉB

  "version 1" ̍śA ypserv ̃o[WpݒɂĂ͏oȂ
  ܂BꂪKvɂȂ̂͐̂ SunOS 4.x NCAgƂ
  gꍇłB

   NIS (YP) f[^쐬܂B}X^[T[oňȉsĉ
  B

           % /usr/lib/yp/ypinit -m

  X[uT[oł́A ypwhich -m @\邱ƂmFĉB܂
  X[uɂzXǵA܂ NIS NCAgƂēłȂ΂
  Ȃ̂łBmFłȉs܂B
           % /usr/lib/yp/ypinit -s masterhost

  ł܂AT[o͓삵Ă͂łB

  傫Ȗ肪A ypserv  ypbind ʂ xterm fobO
  [hŋNĂ݂܂傤BfobOo͂牽Ȃ̂fł
  ͂łB

  }bvXVKvꍇ́A NIS }X^[ /var/yp fBNg
   make sĂB\[Xt@CVꍇɂ̓}bvX
  VAX[uT[o push ܂B}bv̍XVɂ ypinit ͗p
  Ȃ悤ɂĂB

  uX[uvT[oł root  crontab ҏWAȉ̂悤ȍs
  ĂƗǂ܂B

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

  }X^T[oł̍XV̍ۂɃX[u_EĂăf[^󂯑
  ȂĂCɂ NIS }bvŐVɕۂƂł܂B

  X[u͂łǉ邱Ƃł܂B܂VCXg[X
  [uT[o NIS }X^[ɐڑ鋖Ă邩mF܂
  B

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

  VX[uŎs܂B}X^[T[oł́A̐VX[uT
  [o̖O /var/yp/ypservers ɒǉA /var/yp  make s
  }bvXV܂B

  NIS T[oւ̃[UANZX𐧌ꍇ́A NIS T[õzXg
  NCAgƂĂsKv܂B܂ ypbind s +
  ̕tGgpX[ht@C /etc/passwd ̔΂ɒǉ܂B
  Cu֐ NIS Ggȍ~ɒuꂽʏ̃GgSĖ
  Ac NIS ʂĎ擾܂B̂悤ɂ NIS ̃ANZX[
  Ǘ邱Ƃł܂B܂B

       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

  ̂悤Ƀ[U "tester" ݂͑܂AVF /etc/NoShell ɂȂ
  ܂B miquels ͒ʏ̃ANZXƂɂȂ܂B

  ʖ@ƂāA /var/yp/Makefile t@CҏWA NIS gpX[h
  t@CʂɎw肷邱Ƃł܂B傫ȃVXeł́A NIS ̃pX
  [ht@CƃO[vt@C͒ʏ /var/yp/ypfiles ɒuƂ
  悤łB̂悤ɂƃpX[ht@C֘ÅǗc[͎g
  Ȃ܂B܂ passwd, chfn, adduser Ȃǂɑ΂Aʂȃc[K
  vɂȂ܂B

   yppasswdA ypachshA ypchfn ͓R삵܂B

  8.2.  T[ovO yps

  NIS T[o yps ̐ݒ͑ÕZNVQlɂĉB̎Ă
  Sɓł͂Ȃ̂ŁAypserv ̐Kpۂɂ͒ӂ悤
  ɂĉB yps ͂͂NT|[gĂ܂񂵁AZL
  eBz[݂Ă܂Bgׂł͂܂I

  yps ̃\tg͈ȉ̃TCgɂ܂B

  o  <ftp://ftp.lysator.liu.se/pub/NYS/servers/>

  o  <ftp://ftp.kernel.org/pub/linux.utils/net/NIS/>

     t@C yps-0.21.tar.gz łB

  8.3.  rpc.ypxfrd vO

  rpc.ypxfrd ͔ɑ傫 NIS }bv NIS }X^[ NIS X[uT
  [o[ɓ]ۂɁA]邽߂ɗp܂B NIS X[
  uT[o[́AV}bvƂbZ[W󂯎ƁÃ}b
  v擾邽߂ ypxfr N܂B ypxfr  yp_all() ֐p
  }bv̓e}X^[T[o[ǂݍƂ܂B̏̓f[^
  [x[XCuʂĕۑ邽߁A}bṽTCYɑ傫
  ȂƁÃvZX͐Ă܂Ƃ܂B

  rpc.ypxfrd T[o[́A NIS X[uT[o[Ƀ}X^[̃}bvt@C
  PɃRs[A]vZX܂BX[uT[o[[
  玩Õ}bv𐶐̂ɔׁA͂ƒZԂł݂܂B
  rpc.ypxfrd  RPC x[X̓]vgRp̂ŁAV}bv
  Kv͂܂B
  rpc.ypxfrd  inetd N邱Ƃł܂ANɂ͎Ԃ
  ̂ŁA ypserv ƈꏏɃf[ƂċNĂقł傤B
  rpc.ypxfrd  NIS }X^[T[ołNĂ OK łB

  8.4.  rpc.yppasswdd vO

  [UpX[hύXƂɂ́A NIS ̃pX[hf[^x[X
  AɈˑ NIS f[^x[XύXȂ΂Ȃ܂B
  sȂ̂ rpc.yppasswdd łB̃vO̓pX[hύX
  舵A NIS ̏񂪐XV悤ɂ܂B
  rpc.yppasswdd  ypserv ̈ꕔƂȂĂ܂BʃpbP[WɂȂĂ
  yppasswd-0.9.tar.gz  yppasswd-0.10.tar.gz Ȃǂ͌Â̂ŎgKv͂
  ܂񂵁A܂gׂł͂܂B ypserv 1.3.2 
  rpc.yppasswdd  shadow SɃT|[gĂ܂B yppasswd  yp-
  tools-2.2.tar.gz ɓĂ܂B

  rpc.yppasswdd ŝ NIS }X^[T[ô݂łBftHg
  ́A[U[̓tl[⃍OCVFύX邱ƂłȂ悤
  ȂĂ܂Bɂ́Aꂼ -e chfn  -e chsh Iv
  Vw肵܂B

  passwd  shadow t@C /etc ȊOɂꍇ́A -D IvVw
  肷Kv܂BႦΑSẴ\[Xt@C /etc/yp ɒuāA
  [UɃVF̕ύX\ɂꍇ́A rpc.yppasswdd ȉ̃p
  [^ŎsȂ΂Ȃ܂:

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

  ܂

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

  ł OK łB

  ɂ͓ɂ邱Ƃ͂܂BA rpc.yppasswdd 
  /var/yp/Makefile Ɠt@CgĂ邩ǂ͋CĂ
  BG[ syslog ʂċL^܂B

  9.  NIS/NYS CXg[̃`FbN

  ׂĂ܂sAȒPȃR}hgăCXg[̃`FbN
  sĉBႦ΃pX[ht@C NIS/NYS ŋLĂꍇ
  ́A

           % ypcat passwd

  ƂR}h NIS ̃pX[ht@C̓e͂łB
  A

           % ypmatch userid passwd

  Ƃ΁Aw肵[ŨGgpX[ht@Co
  \܂ (userid ɂ͓Kȃ[ŨOC܂)BȂ
  ypcat  ypmatch ́ANIS  NYS ̔zzpbP[WɓĂ܂B

  [U[ɂ郍OCłȂꍇɂ́Aȉ̃vONCA
  gŎsĂ݂ĉB

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

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

    if(argc != 2)
      {
        fprintf(stderr,"Usage: getwpnam username\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,"User \"%s\" not found!\n",argv[1]);

    exit(0);
  }
  ______________________________________________________________________

  ̃vO[Up[^ƂĎs܂ƁÃ[Uɑ
   getpwnam ֐Ԃ񂪑Sĕ\܂BɂāAǂ̃G
  gԈĂ邩킩ł傤B悭ԈႢƂẮApX[
  h̃tB[h "*" ɂď㏑ĂAȂǂ܂B

  GNU C Library 2.1 (glibc 2.1) ɂ getent Ƃc[Ă܂B
  ̂悤ȃVXeł́AL̑ɂg܂傤B

          getent passwd

  

     getent passwd login

  ̂悤ɎĂ݂܂傤B

  10.  NIS ł悭Ƃ̉@

  ȉ̂悤Ȗ肪̃[U񍐂Ă܂B

  1. o[W 4.5.19 ̃Cu͉Ă NIS ͓삵܂B

  2. Cu 4.5.19  4.5.24 ɃAbvO[h su R}h
     gȂȂ܂B̏ꍇ su R}h Slackware 1.2.0 
     肵܂BłɍŐṼCuĂ܂Ɨǂł傤B

  3. NIS T[oċNہA ypbind 

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

  ̂悤ȃbZ[W\A NIS ̃f[^x[Xɓo^Ăl
  OCłȂȂ邱Ƃ܂B root ŃOC ypbind  kill
  A ypbind NȂĂ݂ĉB ypbind 3.3 ȍ~ɃAbvf[g
  ĂłƎv܂B

  4. libc  5.4.20 ȏ̔łɃAbvO[hƁA YP tools 삵
     Ȃ܂B libc >= 5.4.21  glibc 2.x ɂ yp-tools 1.2 K
     vłBȑO̔ł libc ɂ yp-clients 2.2 KvłB yp-
     tools 2.x Ȃ炷ׂẴCuœ삵܂B

  5. libc 5.4.21-5.4.35  yp_maplist ͉Ă܂B yp-tools 1.x p
     ɂ 5.4.36 ȍ~KvłBȂ ypwhich Ȃǂ YP vO
      segfault Ă܂͂łB

  6. libc5  trad-NIS  shadow pX[h NIS ł̔zzT|[g
     ܂B libc5 + NYS ܂ glibc 2.x pKv܂B

  7. ypcat  "shadow" }bv\܂B͐łB
     shadow }bv̖O "shadow.byname" łB

  8. Soralis ͕K|[gp܂B] Soraris ̃NCA
     gꍇ̓pX[h mangling pĂ͂܂B

  11.  悭鎿 (FAQ)

  Ȃ^ɎvĂƂ͂܂łɑ啔ꂽƂƎv
  A܂^_cĂ܂A

           comp.os.linux.networking

  ȂǂɎ₷ƗǂƎv܂B

  󒍁F{̃j[XO[v

           fj.os.linux
           japan.comp.linux

  Ȃǂ܂B

  ҂̃y[W <http://surf.ap.seikei.ac.jp/~nakano/linux/NIS-j.html> 
  ́AlIȃCXg[̌LĂقA̕ŏЉĂ
  \tgEFÃ~[̂Â̂ЉĂ܂B

