<!doctype linuxdoc system>

<!-- This is the Linux NIS-HOWTO. It describes how to install and configure 
Linux as NIS client and server and as NIS+ client.
 -->

<article>

<title>The Linux NIS(YP) / NYS / NIS+ HOWTO
<author>Thorsten Kukuk
<date>v1.0, 9 March 1999

<trans>±èÇüÂù <tt><htmlurl url="zenix@air.knu.ac.kr"
                           name="zenix@air.knu.ac.kr"></tt>
<tdate>1999³â 10¿ù 3ÀÏ

<abstract>
º» ¹®¼­´Â ¸®´ª½º¿¡¼­ NIS(YP) È¤Àº NIS+ Å¬¶óÀÌ¾ðÆ®¸¦ ¾î¶»°Ô ¼³Á¤ÇÏ´ÂÁö ±×¸®
°í, NIS¼­¹ö¸¦ ¾î¶»°Ô ¼³Ä¡ÇÏ´ÂÁö¿¡ ´ëÇÑ ¼³¸íÀÔ´Ï´Ù.
</abstract>

<!-- Table of contents -->
<toc>

<sect>¼­µÎ

<p>
¸®´ª½º´Â ÄÄÇ»ÅÍ ³×Æ®¿÷ÀÇ ÇÑ ±¸¼º¿øÀ¸·Î¼­ °è¼ÓÇØ¼­ ¼³Ä¡µÇ°í ÀÖ´Ù. ³×Æ®¿÷ °ü
¸®¸¦ °£´ÜÇÏ°Ô ÇÏ±â À§ÇÏ¿©, ´ëºÎºÐ ³×Æ®¿÷µéÀº(°ÅÀÇ ¼± ±â¹ÝÀÇ ³×Æ®¿÷µé) ³×Æ®
¿÷ Á¤º¸ ¼­ºñ½º(Network Information Service)¸¦ °¡µ¿ÇÏ°í ÀÖ´Ù. ¸®´ª½º´Â Á¸Àç
ÇÏ°í ÀÖ´Â NIS¿¡ ´ëÇØ ¼­ºñ½º¸¦ ¹ÞÀ» ¼ö ÀÖ°í, ¶ÇÇÑ ±×°Íµé ÀÚÃ¼·Î NIS ¼­ºñ½º
¸¦ Á¦°øÇØ ÁÙ ¼öµµ ÀÖ´Ù. ¸®´ª½º´Â ¶ÇÇÑ NIS+ÀÇ Å¬¶óÀÌ¾ðÆ®ÀÇ ±â´ÉÀ» ´ÙÇÒ ¼ö 
ÀÖÀ¸³ª, ÀÌ°ÍÀÇ Á¦°øÀº º£Å¸ÀÇ ´Ü°èÀÌ´Ù.

º» ¹®¼­´Â ´ç½ÅÀÇ ¸®´ª½º ¸Ó½®¿¡ NIS(YP) ¿Í NIS+¸¦ ¼¼ÆÃÇÏ´Â ¹æ¹ý¿¡ ´ëÇÑ ±Ã±Ý
Áß¿¡ ´äÇÏ·Á°í ³ë·ÂÇÒ °ÍÀÌ´Ù. RPC Portmapper ºÎºÐÀ» ÀÐ´Â °ÍÀ» ÀØ¾î¹ö¸®Áö ¸¶¶ó
<ref id="portmapper" name="The RPC Portmapper">.

NIS-Howto ¿øº» ¹®¼­´Â ´ÙÀ½ÀÇ »ç¶÷¿¡ ÀÇÇØ ÆíÁýµÇ°í À¯ÁöµÈ´Ù.

<tscreen><verb>
	Thorstem Kukuk, <kukuk@suse.de>
</verb></tscreen>

´ÙÀ½Àº NIS-Howto ¹®¼­¸¦ ¾µ ¼ö ÀÖ°Ô ¿ì¼±ÀûÀÎ Á¤º¸¸¦ Á¦°øÇØ ÁØ »ç¶÷µéÀÌ´Ù.

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

À§ »ç¶÷µé¿¡ ´ëÇØ ÀÌ ¹®¼­ÀÇ Ã¹ ¹öÀüÀÌ ³ª¿Ã ¼ö ÀÖ¾ú´øµ¥ ´ëÇØ °¨»çÇØ¾ß ÇÑ´Ù.

<sect1>º» ¹®¼­ÀÇ »õ ¹öÀü

<p>
¿©·¯ºÐÀº º» ¹®¼­ÀÇ °¡Àå ÃÖ±Ù ¹öÀüÀ» ´ÙÀ½ World Wide Web URLÀ» ÅëÇÏ¿© ±¸ÇÒ 
¼ö ÀÖ´Ù.
<url url="http://www.suse.de/~kukuk/linux/HOWTO/NIS-HOWTO.html"
     name="http://www.suse.de/~kukuk/linux/HOWTO/NIS-HOWTO.html">

º» ¹®¼­ÀÇ »õ·Î¿î ¹öÀüÀº ¶ÇÇÑ, LDP(Linux Document Project) È¨ÆäÀÌÁö¸¦ ºñ·Ô
ÇÑ ´Ù¾çÇÑ Linux °ü·Ã À¥ »çÀÌÆ®³ª FTP »çÀÌÆ®¿¡¼­ ±¸ÇÒ ¼ö ÀÖ´Ù.

º» ¹®¼­ÀÇ ´Ù¾çÇÑ ¹ø¿ªº»¿¡ ´ëÇÑ ¸µÅ©´Â ´ÙÀ½ URL¿¡¼­ Ã£À» ¼ö ÀÖ´Ù.

<url url="http://www.suse.de/~kukuk/linux/nis-howto.html"
     name="http://www.suse.de/~kukuk/linux/nis-howto.html">

<sect1>±Ç¸®ÀÇ Æ÷±â

<p>
ºñ·Ï º» ¹®¼­°¡ ³» Áö½Ä¿¡ ´ëÇÑ ¸ðµç ÃÖ¼±À» ´ÙÇÏ¿´´Ù ÇÏ´õ¶óµµ, ¿À·ù°¡ ÀÖÀ» 
°¡´É¼ºµµ ¹èÁ¦ÇÒ ¼ö ¾ø´Ù. º¸´Ù ´õ ÀÚ¼¼ÇÏ°í Á¤È®ÇÑ Á¤º¸¸¦ ¾ò±â À§ÇÏ¿©, º» 
¹®¼­¸¦ ¼³¸íÇÏ°í ÀÖ´Â ¿©·¯°¡Áö °ü·Ã ¼ÒÇÁÆ®¿þ¾î¿¡ °°ÀÌ Æ÷ÇÔµÇ¾î ÀÖ´Â README
ÆÄÀÏÀ» ÀÐ±â¹Ù¶õ´Ù. ³ª´Â °¡´ÉÇÑ ÀÌ ¹®¼­¿¡ ¿À·ù°¡ ¾øµµ·Ï °è¼Ó ³ë·ÂÇÒ °ÍÀÌ´Ù.

<sect1>º» ¹®¼­¿¡ ´ëÇÑ ÇÇµå¹é(Feedback) °ú Àß¸øµÈ Á¡¿¡ ´ëÇÏ¿©

¿©·¯ºÐÀÌ º» ¹®¼­¿¡ ´ëÇÑ ÀÇ°ßÀÌ³ª Áú¹®ÀÌ ÀÖ´Â °æ¿ì, Thorsten Kukuk 
<htmlurl url = "mailto:kukuk@suse.de" name
         name = "kukuk@suse.de">
¿¡°Ô ¸ÞÀÏÀ» º¸³»´Â µ¥ ´ëÇØ ÁÖÀúÇÏÁö ¸»±â¸¦ ¹Ù¶õ´Ù. ³ª´Â ¾î¶°ÇÑ Á¦¾ÈÀÌ³ª È¤
Àº ºñ³­µéµµ È¯¿µÇÑ´Ù. ¸¸¾à ¿©·¯ºÐÀÌ º» ¹®¼­¿¡ ´ëÇÑ ¿À·ù¸¦ ¹ß°ßÇÏ¿´À» °æ¿ì,
³»°¡ º» ¹®¼­ÀÇ ´ÙÀ½ ¹öÀü¿¡¼­ ¼öÁ¤µÉ ¼ö ÀÖµµ·Ï ³ª¿¡°Ô ¾Ë·ÁÁÖ±â¸¦ ¹Ù¶õ´Ù. °¨
»çÇÕ´Ï´Ù.

³ª¿¡°Ô ¿©·¯ºÐÀÌ »ç¿ëÇÏ´Â ¸®´ª½º ¹èÆ÷ÆÇ¿¡ ´ëÇÑ Æ¯º°ÇÑ ¹®Á¦¿¡ ´ëÇØ¼­ Áú¹®ÇÏ
±â À§ÇØ ¸ÞÀÏÀ» º¸³»Áö´Â <em/¸»±â¸¦/ ¹Ù¶õ´Ù. ÇÏÁö¸¸ º¸³»ÁØ °Í¿¡ ´ëÇÑ ÇØ°áÃ¥
À» Ãß°¡ÇÏµµ·Ï ³ë·ÂÀº ÇÒ °ÍÀÌ´Ù.

<sect1>º»¹®¼­¿¡ ´ëÇÏ¿© °¨»çÇÏ´Â »ç¶÷µé

<p>
Á÷Á¢ÀûÀ¸·Î³ª °£Á¢ÀûÀ¸·Î º» ¹®¼­¿¡ °øÇåÇØ ÁØ ºÐµé¿¡ ´ëÇØ °¨»çÇÏ°Ô »ý°¢ÇÑ´Ù. 
¾ËÆÄºª ¼ø¼­·Î ³ª¿­ÇÏ¸é:

<tscreen><verb>
	Byron A Jeff			<byron@cc.gatech.edu>
	Markus Rex			<msrex@suse.de>
	Miquel Van SmoorenBurg		<miquels@cirtron.nl>
</verb></tscreen>

Theo de Raadt°¡ yp-client ÄÚµå¿¡ ´ëÇÑ º»·¡Àû Ã¥ÀÓÀ» °¡Áö°í ÀÖ´Ù. Swen Thue
mmler´Â yp-client ÄÚµå¸¦ ¸®´ª½º¿ëÀ¸·Î Æ÷ÆÃÇßÀ¸¸ç, ¶ÇÇÑ yp-routineÀ» libc(T
heoÀÇ ÀÛ¾÷¿¡ ÀÇÇÑ)¿¡¼­ Æ÷ÆÃÇÏ±âµµ Çß´Ù. Thorsten KukukÀº ½ºÅ©·¡Ä¡·ÎºÎÅÍ GN
U libc 2.x¸¦ À§ÇÑ NIS(YP) ±×¸®°í NIS+ ·çÆ¾À» ÀÛ¼ºÇÏ¿©¿Ô´Ù.

<sect>¿ë¾î¿Í ÀÏ¹ÝÀûÀÎ »çÇ×µé

<sect1>»ç¿ëµÇ´Â ¿ë¾î¿¡ ´ëÇÏ¿©
<p>
º» ¹®¼­¿¡¼­´Â ¸¹Àº µÎ¹®ÀÚ¾î(¿¹¸¦µé¾î DBMÇÏ¸é Data Base Management½ÄÀ¸·Î)µé
À» »ç¿ëÇÑ´Ù. ¿©±â¿¡¼­´Â °¡Àå Áß¿äÇÑ µÎ¹®ÀÚ¾îµé¿¡ ´ëÇÑ ¼³¸íÀ» ÇÒ °ÍÀÌ´Ù.

<descrip>
<tag/DBM/DataBase Management, µ¥ÀÌÅÍº£ÀÌ½º¿¡¼­ key-contentsÀÇ ½ÖÀ» À¯ÁöÇÏ
´Â ÇÔ¼ö ¶óÀÌºê·¯¸®ÀÌ´Ù.

<tag/DLL/Dynamic Linked Library, ÇÁ·Î±×·¥ÀÌ ·±Å¸ÀÓ½Ã(½ÇÇàµÉ ¶§), ¸µÅ©°¡µÇ
´Â ¶óÀÌºê·¯¸®.

<tag/domainname/NIS Å¬¶óÀÌ¾ðÆ®¿¡ÀÇÇØ »ç¿ëµÇ´Â key¿ªÇÒÀ» ÇÏ´Â ÀÌ¸§À¸·Î, dom
ainname key¸¦ Á¦°øÇÏ´Â NIS¼­¹öÀÇ À§Ä¡¸¦ Ã£´Âµ¥ »ç¿ëµÈ´Ù.

<tag/FTP/File Transfer Protocol, µÎ °³ÀÇ ÄÄÇ»ÅÍ°£¿¡ ÆÄÀÏÀü¼Û¿¡ ´ëÇÑ ±Ô¾à.

<tag/ibnsl/Name ¼­ºñ½º ¶óÀÌºê·¯¸®·Î, SVR4 À¯´Ð½ºµé¿¡¼­ getpwnam, getservby
nameµîÀ» È£ÃâÇÑ´Ù. GNU libc´Â NIS(YP)¿Í NIS+ÇÔ¼ö(±â´É,±¸Çö)µéÀ» À§ÇÏ¿© ÀÌ 
¶óÀÌºê·¯¸®¸¦ »ç¿ëÇÑ´Ù.

<tag/libsocket/¼ÒÄÏ ¼­ºñ½º ¶óÀÌºê·¯¸®, SVR4 À¯´Ð½ºµé¿¡¼­ socket, bind, lis
tenµîÀ» È£ÃâÇÏ´Â ¼ÒÄÏ ¼­ºñ½º ¶óÀÌºê·¯¸®ÀÌ´Ù.

<tag/NIS/Network Information Service, ³×Æ®¿÷À» ÅëÇÏ¿© ¾Ë·ÁÁø ³×Æ®¿÷»óÀÇ ¸ð
µç ¸Ó½®µé¿¡°Ô InformationÀ» Á¦°øÇÏ´Â ¼­ºñ½ºÀÌ´Ù. ´ÙÀ½¿¡ ¿À´Â "traditional 
NIS"¶ó°í ¸í½ÃµÈ ºÎºÐ¿¡¼­´Â ¸®´ª½ºÀÇ Ç¥ÁØ libc ¶óÀÌºê·¯¸®¿¡¼­ÀÇ NIS¿¡ ´ëÇÑ 
Áö¿øÀÌ ÀÖ´Ù.

<tag/NIS+/Network Information Service (Plus :-), NIS°¡ ³ì¾Æµé¾î°£ °ÝÀÎµ¥, 
NIS+´Â ¼± ¸¶ÀÌÅ©·Î½Ã½ºÅÛÁî Inc. °¡ NISÀÇ ´ë¾ÈÀ¸·Î µðÀÚÀÎÇÑ °ÍÀ¸·Î, NISº¸
´Ù º¸¾È¼º°ú ¸¹Àº ¼öÀÇ Installation¿¡ ´ëÇÑ ÇÚµé¸µÀ» ÇÏ±â¿¡ ÁÁ°Ô ¸¸µç °ÍÀÌ´Ù.

<tag/NYS/ÀÌ°ÍÀº ÇÁ·ÎÁ§Æ® ÀÌ¸§À¸·Î, NIS+¸¦ ³ªÅ¸³½´Ù. YP¿Í Switch´Â Peter Eri
ksson &lt;peter@ifm.liu.se>¿¡ ÀÇÇØ ÀÌ²ø¾îÁø´Ù. NYS´Â NYS ¶óÀÌºê·¯¸®ÀÇ Name
Services Switch ±â´ÉÀ» »ç¿ëÇÏ´Â NIS(=YP)ÄÚµå¸¦ °ÅÀÇ ¿ÏÀüÈ÷ ´Ù½Ã ÀÛ¼ºµÈ °ÍÀÌ´Ù.

<tag/NSS/Name Service Switch, /etc/nsswitch.conf ÆÄÀÏÀº ¾î¶² Á¤º¸°¡ ¿äÃ»µÇ
¾úÀ» ¶§, ¼öÇàµÇ´Â lookupµéÀÇ ¼ø¼­¸¦ °áÁ¤ÇÑ´Ù.

<tag/RPC/Remote Procedure Call. RPC ·çÆ¾Àº C ÇÁ·Î±×·¥ÀÌ ³×Æ®¿÷ÀÇ ´Ù¸¥ ¸Ó½®
»ó¿¡¼­ ÇÁ·Î½ÃÀú ÄÝÀ» ÇÒ ¼öÀÖ°Ô ÇÑ´Ù. »ç¶÷µéÀÌ ÀÏ¹ÝÀûÀ¸·Î RPC¿¡ ´ëÇØ ¸»ÇÒ¶§
´Â, ±×°ÍÀº Sun RPCÀÇ º¯Á¾À» ¸»ÇÏ´Â °ÍÀÌ´Ù.

<tag/YP/Yellow Pages(tm), ¿µ±¹ÀÇ British Telecom plc.ÀÇ µî·Ï»óÇ¥ÀÌ´Ù.

<tag/TCP-IP/Transmission Control Protocol/Internet Protocol. ÀÌ°ÍÀº À¯´Ð½º 
¸Ó½®µé »çÀÌ¿¡¼­ °¡Àå ³Î¸® »ç¿ëµÇ´Â µ¥ÀÌÅÍ Åë½Å ±Ô¾àÀÌ´Ù.
</descrip>

<sect1>ÀÏ¹ÝÀûÀÎ »çÇ×µé

<p>
´ÙÀ½ 3ÁÙÀÇ ±¸¹®Àº ¼± ¸¶ÀÌÅ©·Î½Ã½ºÅÛÁî¿Í ³×Æ®¿öÅ© °ü¸® ¸Þ´º¾ó¿¡¼­ ¹ßÃéÇÑ °Í
ÀÌ´Ù.

<tscreen><verb>
	"NIS´Â ¿ø·¡ Sun Yellow Pages(YP) ·Î ¾Ë·ÁÁ³À¸³ª,
	Yellow Pages(tm)ÀÌ¶ó´Â ÀÌ¸§Àº ´ë¿µÁ¦±¹ÀÇ British Telecom plc
	ÀÇ Æ®·¹ÀÌµå¸¶Å©·Î µî·ÏµÇ¾î ÀÖ¾î¼­ Çã°¡ ¾øÀÌ´Â »ç¿ëÇÒ ¼ö ¾ø´Ù."
</verb></tscreen>

NIS´Â ³×Æ®¿öÅ© Á¤º¸ ¼­ºñ½º(Network Information Service)À» ÀÇ¹ÌÇÑ´Ù. ±×°Í
ÀÇ ¸ñÀûÀº ³×Æ®¿öÅ©»ó¿¡ ÀÖ´Â ¸ðµç ¸Ó½®µé¿¡°Ô, ³×Æ®¿öÅ©¸¦ Åë¾Ö ¾Ë·ÁÁø Á¤º¸
¸¦ Á¦°øÇÏ´Âµ¥ ÀÖ´Ù. NIS¿¡ ÀÇÇØ Á¦°øµÇ´Â Á¤º¸µéÀº ´ë·« ´ÙÀ½°ú °°Àº °ÍµéÀÌ´Ù.

<itemize>
<item>login names/passwords/home directories (/etc/passwd)
<item>group information (/etc/group)
</itemize>

¸¸¾à, ¿¹µéµé¾î ´ç½Å°èÁ¤ÀÇ ÆÐ½º¿öµå°¡ NIS passwd µ¥ÀÌÅÍº£ÀÌ½º¿¡ ±â·ÏµÇ¾î ÀÖ
´Ù¸é, ´ç½ÅÀº NIS Å¬¶óÀÌ¾ðÆ® ÇÁ·Î±×·¥ÀÌ ½ÇÇàµÇ°í ÀÖ´Â ³×Æ®¿öÅ©»óÀÇ ¸ðµç ¸Ó½®
¿¡¼­ ·Î±×-ÀÎ ÇÒ ¼ö ÀÖ´Ù.

¼±(Sun)Àº ¼±¼ÒÇÁÆ®(SunSoft, Inc.)¿¡ ¶óÀÌ¼¾µåµÈ ¼± ¸¶ÀÌÅ©·Î½Ã½ºÅÛÁî(Sun Mic
rosystems, Inc.)ÀÇ µî·Ï»óÇ¥ÀÌ´Ù.

<sect>NIS, NYS È¤Àº NIS+?

<sect1>libc ¹öÀü4/5 ¿¡¼­ÀÇ traditional NIS È¤Àº NYS ?

<p>
"ÀüÅëÀûÀÎ NIS" È¤Àº NYS ¶óÀÌºê·¯¸®ÀÇ NIS ÄÚµå¸¦ ¼±ÅÃÇÏ´Â °ÍÀº, °ÔÀ¸¸§°ú ¼º
¼÷ ´ë À¯¿¬ÇÔ°ú »ç¶ûÀÇ ¸ðÇè¿¡¼­ ¼±ÅÃÈ­´Â °Í°ú À¯»çÇÏ´Ù.

Ç¥ÁØ C ¶óÀÌºê·¯¸®¿¡ ÀÖ´Â "ÀüÅëÀûÀÎ NIS" ÄÚµå´Â ¿À·§µ¿¾È »ç¿ëµÇ¾î ¿ÔÁö¸¸, ³ª
ÀÌ(¿À·¡µÊ?)¿Í ¾à°£ÀÇ ºñÀ¯¿¬ÇÔ¶§¹®¿¡ °í»ýÀ» ÇÏ°í ÀÖ´Ù.(¾à°£ ¹®Á¦°¡ ÀÖ´Ù)

NYS ¶óÀÌºê·¯¸®¿¡ ÀÖ´Â NIS ÄÚµå´Â NYS ÄÚµå¸¦ libc ¶óÀÌºê·¯¸®¿¡ Æ÷ÇÔ½ÃÅ°±â À§
ÇØ libc ¶óÀÌºê·¯¸®¸¦ ´Ù½Ã ÄÄÆÄÀÏ ÇØ¾ßÇÑ´Ù.

¶Ç ´Ù¸¥ ÇÑ°¡Áö´Â, ÀüÅëÀûÀÎ NIS ÄÚµå´Â NIS ³×Æ®¿öÅ© ±×·ìÀ» ¾î´À Á¤µµ Áö¿øÇÑ
´Ù.(NYS´Â ¾ÈµÊ.) ¹Ý¸é¿¡, NYS ÄÚµå´Â Åõ¸íÇÑ ¹æ¹ýÀ¸·Î ½¦µµ¿ì ÆÐ½º¿öµåµéÀ» ÇÚ
µé¸µÇÏ´Â °ÍÀ» Çã¶ôÇÑ´Ù. "ÀüÅëÀûÀÎ NIS" ÄÚµå´Â ÀÌ·± ½¦µµ¿ì ÆÐ½º¿öµå¸¦ Áö¿ø
ÇÏÁö ¾Ê´Â´Ù.

<sect1>glibc 2 ±×¸®°í NIS/NIS+
<p>
¸¸¾à ¿©·¯ºÐÀÌ »õ·Î¿î GNU C Library 2.x (aka libc6)¸¦ »ç¿ëÇÏ°í ÀÖ´Ù¸é °Ç³Ê
¶Ù¾îµµ ÁÁ´Ù. ÀÌ »õ ¹öÀüÀº ½ÇÁ¦·Î NSS(name switch service, ÀÌ°ÍÀº ¸Å¿ì À¯¿¬
ÇÏ°í ´ÙÀ½°ú °°Àº NIS/NIS+ mapÀ» Áö¿øÇÑ´Ù. : aliases, ethers, group, hosts,
netgroups, networks, protocols, publickey, passwd, rpc, services and shado
w)¸¦ Áö¿øÇÑ´Ù. GNU C ¶óÀÌºê·¯¸®´Â NIS¸¦ ÅëÇÑ ½¦µµ¿ì ÆÐ½º¿öµå¸¦ »ç¿ëÇÏ´Â µ¥ 
¾Æ¹«·± ¹®Á¦°¡ ¾ø´Ù.

<sect1>NIS or NIS+ ? ( ¾î¶² °ÍÀ» ¼±ÅÃÇÒ °ÍÀÎ°¡? )
<p>
NIS¿Í NIS+ °£ÀÇ ¼±ÅÃÀº ½±´Ù. NIS+¸¦ »ç¿ëÇÒ ÇÊ¿ä°¡ ¾ø°Å³ª, °­·ÂÇÑ º¸¾ÈÀÌ ÇÊ
¿äÇÑ °æ¿ì¿¡´Â NIS¸¦ »ç¿ëÇÏ¶ó. NIS+ ´Â °ü¸®ÀÚµé¿¡°Ô NIS¿¡ ºñÇØ »ó´çÈ÷ ¹®Á¬
°Å¸®ÀÌ´Ù.(NIS+´Â Å¬¶óÀÌ¾ðÆ®ÂÊ¿¡¼­´Â ´Ù·ç±â ½±Áö¸¸, ¼­¹öÂÊ¿¡¼­´Â ¹«½Ã¹«½ÃÇÒ 
¸¸Å­ ¾î·Æ´Ù.) ¶Ç ´Ù¸¥ ¹®Á¦´Â ¸®´ª½º È¯°æ¿¡¼­ÀÇ NIS+´Â ¾ÆÁ÷ °³¹ßÁßÀÌ¶ó´Â °Í
ÀÌ´Ù. -- ¿©·¯ºÐÀº ÃÖ½Å¹öÀüÀÎ glibc 2.1ÀÌ ÇÊ¿äÇÏ´Ù. °Å±â¿¡´Â libc5¸¦ À§ÇÑ g
libc NIS+ ÀÇ Áö¿øµÇÁö ¾Ê´Â Æ÷Æ®°¡ ÀÖ´Ù.

<sect>¾î¶»°Ô ÀÛµ¿ÇÏ´Â°¡

<sect1>NIS´Â ¾î¶»°Ô ÀÛµ¿ÇÏ´Â°¡

<p>
³×Æ®¿öÅ© »ó¿¡¼­, Àû¾îµµ ÇÏ³ªÀÇ NIS ¼­¹ö°¡ ÀÖÀ» °ÍÀÌ´Ù. ¿©·¯ºÐÀÇ ¸Ó½®Àº ¿©·¯
°³ÀÇ ´Ù¸¥ NIS "µµ¸ÞÀÎµé"ÀÇ ¿©·¯°³ÀÇ NIS ¼­¹ö¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù. È¤Àº ÇÏ³ª´Â
master NIS ¼­¹ö·Î, ´Ù¸¥ °ÍµéÀº slave NIS ¼­¹ö(Æ¯Á¤ÇÑ NIS "domain"À» À§ÇÑ..
)¶ó ºÒ¸®´Â °Íµé·Î¼­ Çùµ¿ÀûÀÎ NIS ¼­¹öµéÀ» »ç¿ëÇÒ ¼ö°¡ ÀÖ´Ù. È¤Àº ±×°ÍµéÀÇ 
È¥ÇÕÇüÀ» »ç¿ë ÇÒ ¼öµµ ÀÖ´Ù.

Slave ¼­¹ö´Â ´ÜÁö NIS µ¥ÀÌÅÍº£ÀÌ½ºÀÇ Ä«ÇÇ¸¦ °¡Áö°í ÀÖÀ¸¸ç, ÀÌ°ÍµéÀÌ °»½ÅµÉ
¶§¸¶´Ù, Master ¼­¹ö·Î ºÎÅÍ ÀÌ Ä«ÇÇµéÀ» ¹Þ´Â´Ù. ¿©·¯ºÐ ³×Æ®¿öÅ© »óÀÇ ¸Ó½® 
¼ö¿Í ³×Æ®¿öÅ©ÀÇ À¯¿¬¼º¿¡ µû¶ó¼­, ÇÏ³ª È¤Àº ¿©·¯°³ÀÇ slave ¼­¹ö¸¦ ¼³Ä¡ÇÒ °Í
ÀÎÁö¸¦ °áÁ¤ÇÏ¸é µÈ´Ù. NIS¼­¹ö°¡ ´Ù¿î µÇ°Å³ª, Å¬¶óÀÌ¾ðÆ®¿¡ ´ëÇÑ ¿ä±¸°¡ Áö¿¬
µÉ ¶§¸¶´Ù, NISÅ¬¶óÀÌ¾ðÆ®´Â µ¹¾Æ°¡°í ÀÖ°Å³ª È¤Àº ´õ ºü¸¥ slave¿¡ Á¢¼ÓµÇ¾îÁø´Ù.

NIS µ¥ÀÌÅÍº£ÀÌ½ºµéÀº ASCII µ¥ÀÌÅÍº£ÀÌ½º·ÎºÎÅÍ »ó¼ÓµÈ DBM Æ÷¸Ë¾È¿¡ ÀÖ´Ù. ¿¹
¸¦ µé¾î, <tt>/etc/passwd</tt>¿Í <tt>/etc/group</tt> ÆÄÀÏÀº Á÷Á¢ÀûÀ¸·Î ASCI
I-to-DBM ¹ø¿ª ¼ÒÇÁÆ®¿þ¾î(¼­¹ö ¼ÒÇÁÆ®¿þ¾î¿¡ Æ÷ÇÔµÈ, "makedbm")¸¦ »ç¿ëÇÏ¿© D
BMÆ÷¸ËÀ¸·Î ¸¸µé¾îÁú ¼ö ÀÖ´Ù. NIS¼­¹ö´Â ASCII µ¥ÀÌÅÍº£ÀÌ½º¿Í DBM µ¥ÀÌÅÍº£ÀÌ
½º¸¦ µ¿½Ã¿¡ °¡Áö°í ÀÖ¾î¾ß ÇÑ´Ù.

Slave ¼­¹öµéÀº NIS ¸ÊÀ» ÅëÇØ("yppush"ÇÁ·Î±×·¥À» ÅëÇØ) º¯°æ »çÇ×À» ¾Ë ¼ö ÀÖ
´Ù. ±×¸®°í´Â ±×°ÍµéÀÇ µ¥ÀÌÅÍº£ÀÌ½º¿¡ µ¿Á¶µÇ±â À§ÇØ ÀÚµ¿ÀûÀ¸·Î ÇÊ¿äÇÑ º¯°æ»ç
Ç×µéÀ» °»½ÅÇÑ´Ù. NIS Å¬¶óÀÌ¾ðÆ®µéÀº Ç×»ó ¼­¹ö·Î ºÎÅÍ ¼­¹öÀÇ DBM µ¥ÀÌÅÍº£ÀÌ
½º¿¡ ÀúÀåµÈ Á¤º¸µéÀ» ÀÐ±â ¶§¹®¿¡, ÀÌ·¯ÇÑ °ÍµéÀÌ ÇÊ¿ä°¡ ¾ø´Ù.

¿¾ ¹öÀüÀÇ ypbind ÇÁ·Î±×·¥µéÀº NIS ¼­¹ö¸¦ Ã£±â À§ÇØ broadcast¸¦ ÇÑ´Ù. ÀÌ°Í
Àº ´©±¸³ª NIS¼­¹ö¸¦ ¼³Ä¡ÇÏ¿© ±× broadcast Äõ¸®¿¡ ÀÀ´äÀ» ÇÒ ¼ö ÀÖÀ¸¹Ç·Î ¾ÈÀü
ÇÏÁö ¸øÇÏ´Ù. »õ·Î¿î ¹öÀüÀÇ ypbind(yp-bind-3.3 or ypbind-mt)´Â configuratio
nÆÄÀÏ·Î ºÎÅÍ ¼­¹ö¸¦ Ã£±â ¶§¹®¿¡ broadcast¸¦ ÇÒ ÇÊ¿ä°¡ ¾ø¾î º¸´Ù ¾ÈÀüÇÏ´Ù.

<sect1>NIS+´Â ¾î¶»°Ô ÀÛµ¿ÇÏ´Â°¡

<p>
NIS+´Â ¼±¿¡¼­ °³¹ßÇÑ »õ·Î¿î ¹öÀüÀÇ network information serviceÀÌ´Ù. NIS¿Í 
NIS+ »çÀÌÀÇ °¡Àå Å« Â÷ÀÌÁ¡ÀÌ¶ó¸é NIS+´Â secure RPC¸¦ ÅëÇØ µ¥ÀÌÅÍÀÇ ¾ÏÈ£È­
¿Í ÀÎÁõ(encryption and authentication)À» Áö¿øÇÑ´Ù´Â °ÍÀÌ´Ù.

NIS+ÀÇ ¸ðµ¨Àº tree±¸Á¶¿¡ ±Ù°£ÇÏ°í ÀÖ´Ù. Æ®¸®ÀÇ ÇÏ³ªÀÇ ³ëµå´Â ÇÏ³ªÀÇ NIS+ ¿À
ºêÁ§Æ®¿¡ ´ëÀÀÇÑ´Ù. ±× ¿ÀºêÁ§Æ®µéÀº ´ÙÀ½ÀÇ 6°³ÀÇ Å¸ÀÔÀ» °¡Áö°í ÀÖ´Ù.(direct
ory, entry, group, link, table, private)

NIS+ namespace ÀÇ root¸¦ Çü¼ºÇÏ´Â NIS+µð·ºÅä¸®¸¦ root µð·ºÅä¸®¶ó°í ÇÑ´Ù. N
IS+µð·ºÅä¸®¿¡´Â Æ¯º°ÇÑ µÎ °¡Áö°¡ ÀÖ´Ù: org_dir °í groups_dir. org_dir µð·º
Åä¸®´Â passwd, hosts ±×¸®°í mail_aliases°°Àº °ü¸® Å×ÀÌºí·Î ÀÌ·ç¾îÁ® ÀÖ´Ù. 
groups_dir µð·ºÅä¸®´Â Á¢±Ù Á¦¾î(access control)À» À§ÇØ »ç¿ëµÇ´Â NIS+ ±×·ì 
¿ÀºêÁ§Æ®µé·Î ÀÌ·ç¾îÁ® ÀÖ´Ù. org_dir, groups_dir ±×¸®°í ±×µéÀÇ »óÀ§ µð·ºÅä
¸®´Â NIS+ domain¿¡ ÀÇÇØ ÂüÁ¶µÈ´Ù.

<sect>RPC Portmapper<label id=portmapper>

<p>
´ÙÀ½¿¡ ¼Ò°³µÉ ÇÁ·Î±×·¥(ypÅøµé..)À» ½ÇÇàÇÏ±âÀ§ÇØ¼­, ¿©·¯ºÐÀº /usr/sbin/port
mapÀ» ½ÇÇà½ÃÄÑ¾ß ÇÑ´Ù. ¾î¶² ¸®´ª½º ¹èÆ÷ÆÇµéÀº ÀÌ¹Ì /sbin/init.d/ È¤Àº /etc
/rc.d/ µð·ºÅä¸®¾È¿¡ ÀÖ´Â ÆÄÀÏ¿¡¼­ portmap µ¥¸óÀ» ¶ç¿ìµµ·Ï ÄÚµùµÇ¾î ÀÖ´Ù. 
¿©·¯ºÐÀÌ ÇØ¾ßÇÒ °ÍÀº ´ÜÁö ÀÌ°ÍÀ» È°¼ºÈ­½ÃÅ°°í ¸®ºÎÆÃÇÏ´Â °ÍÀÌ´Ù. ÀÌ°ÍÀ» À§
ÇØ ¿©·¯ºÐÀÌ °¡Áö°í ÀÖ´Â ¸®´ª½º ¹èÆ÷ÆÇÀÇ ¹®¼­¸¦ ÂüÁ¶ÇÏ¶ó.

RPC portmapper (portmap(8))Àº RPC ÇÁ·Î±×·¥ ¹øÈ£¸¦ TCP/IP(È¤Àº UDP/IP) ÇÁ·Î
ÅäÄÝ Æ÷Æ® ¹øÈ£·Î º¯È¯ÇÏ´Â ¼­¹öÀÌ´Ù. ÀÌ°ÍÀº ¸Ó½®»óÀÇ RPC ¼­¹öµé(NIS È¤Àº NI
S+¿Í °°Àº)À» À§ÇØ RPC CALLµé(ÀÌ°ÍÀº NIS/NIS+ Å¬¶óÀÌ¾ðÆ® ¼ÒÇÁÆ®¿þ¾îµéÀÌ ÇÏ
´Â °ÍÀÌ´Ù.)À» ¸¸µç´Ù. RPC¼­¹ö°¡ ½ÃÀÛµÇ¸é, ÀÌ°ÍÀº ListenµÇ°íÀÖ´Â port ¹øÈ£
¸¦ portmap¿¡°Ô ¾Ë·ÁÁØ´Ù. Å¬¶óÀÌ¾ðÆ®°¡ ÁÖ¾îÁø ÇÁ·Î±×·¥ ¹øÈ£¿¡°Ô RPCÇÁ·Î±×·¥ 
¹øÈ£¸¦ ¸¸µé·Á°í ÇÒ ¶§, Å¬¶óÀÌ¾ðÆ®´Â ¸ÕÀú ¼­¹ö¿¡ Á¢¼ÓÇÏ¿© RPC ÆÐÅ¶ÀÌ ¾îµð·Î 
º¸³»Á®¾ß ÇÏ´ÂÁö °áÁ¤ÇÑ´Ù.

º¸Åë, Ç¥ÁØ RPC ¼­¹ö´Â inetd(8)¿¡ ÀÇÇØ ½ÃÀÛµÇ±â ¶§¹®¿¡, portmapÀº inetd°¡ 
½ÃÀÛµÇ±â Àü¿¡ ½ÇÇàµÇ¾î¾ß ÇÑ´Ù.

Secure(¾ÈÀüÇÑ?) RPC¸¦ À§ÇÏ¿©, portmapper´Â Time Service¸¦ ÇÊ¿ä·Î ÇÑ´Ù. Tim
e Service´Â ¸ðµç hosts¿¡ ´ëÇØ /etc/inetd.conf¿¡¼­ °¡´ÉÇÏ´Ù´Â °ÍÀ» È®½ÇÈ÷ 
ÇØ µÎ¾î¶ó.

<tscreen><verb>
#
# Time service is used for clock syncronization
#
time	stream	tcp	nowait	root	internal
time	dgram	udp	wait	root	internal
</verb></tscreen>

Áß¿ä»çÇ× : Configuration ÆÄÀÏ º¯°æÈÄ¿¡, inetd¸¦ Àç½ÇÇà ÇÏ´Â °ÍÀ» ÀØÁö¸¶¶ó!

<sect>NIS¸¦ ¼³Ä¡ÇÏ±â À§ÇØ ÇÊ¿äÇÑ °ÍµéÀº ¹«¾ùÀÎ°¡?

<sect1>¿©·¯ºÐÀÌ Server, SlaveÈ¤Àº ClientÀÎÁö °áÁ¤ÇÏ¶ó.

<p>
ÀÌ ¹®Á¦¿¡ ´äÇÏ±â Àü¿¡, ´ÙÀ½ µÎ°¡Áö¸¦ °í·ÁÇØ¾ß ÇÑ´Ù.

<enum>
<item>¿©·¯ºÐÀÇ ¸Ó½®Àº Á¸ÀçÇÏ´Â NIS ¼­¹ö¿Í ÇÔ²²ÇÏ´Â ³×Æ®¿öÅ©ÀÇ ÀÏ¿øÀÌ µÉ °Í
ÀÌ´Ù.
<item>¿©·¯ºÐÀº ¾ÆÁ÷ ³×Æ®¿öÅ©¿¡ NIS ¼­¹ö°¡ ¾ø´Ù.
</enum>

Ã¹ ¹øÂ° °æ¿ì¿¡´Â, ´ÜÁö ypbind, ypswitch, ypcat, yppoll, ypmatch °°Àº Å¬¶óÀÌ
¾ðÆ® ÇÁ·Î±×·¥¸¸À» ÇÊ¿ä·Î ÇÑ´Ù. °¡Àå Áß¿äÇÑ ÇÁ·Î±×·¥Àº ypbindÀÌ´Ù. ÀÌ ÇÁ·Î±×
·¥Àº Ç×»ó ½ÇÇà Áß¿¡ ÀÖ¾î¾ß ÇÑ´Ù. ±×°ÍÀº ±× ÇÁ·Î±×·¥ÀÌ Ç×»ó ÇÁ·Î¼¼½ºÀÇ ¸®½º
Æ®¿¡ ÀÖ¾î¾ß ÇÑ´Ù´Â ¸»ÀÌ´Ù. ÀÌ°ÍÀº µ¥¸ó ÇÁ·Î¼¼½º·Î ½Ã½ºÅÛ ½ÃÀÛ ÆÄÀÏ¿¡ ÀÇÇØ 
½ÃÀÛµÇ¾î¾ß ÇÑ´Ù. (¿¹·Î, /etc/init.d/nis, /sbin/init.d/ypclinet, /etc/rc.d/
init.d/ypbind, /etc/rc.local)¿©·¯ºÐÀÇ ½Ã½ºÅÛÀº ypbind°¡ ½ÃÀÛµÇÀÚ ¸¶ÀÚ NISÀÇ 
Å¬¶óÀÌ¾ðÆ®°¡ µÇ´Â °ÍÀÌ´Ù.

µÎ ¹øÂ° °æ¿ì¿¡, NIS ¼­¹ö°¡ Á¸ÀçÇÏÁö ¾ÊÀ» ¶§, ¿©·¯ºÐÀº ºÐ¸í NIS ¼­¹ö ÇÁ·Î±×
·¥(º¸Åë ypserv¶ó ºÒ¸²)ÀÌ ÇÊ¿äÇÒ °ÍÀÌ´Ù. <ref id="ypserv" name="NIS¼¼ÆÃÇÏ±â">
ºÎºÐ¿¡¼­ Peter Eriksson°ú Thorsten Kukuk¿¡ ÀÇÇØ ¸¸µé¾îÁø "ypserv" ¸¦ ÀÌ¿ëÇÏ
¿© ¿©·¯ºÐÀÇ ¸®´ª½º ¸Ó½®¿¡ NIS¸¦ ¾î¶»°Ô ¼³Ä¡ÇÏ´ÂÁö¸¦ ¼³¸íÇÒ °ÍÀÌ´Ù. ¹öÀü 0.
14ºÎÅÍ´Â 4.1ºÎºÐ¿¡¼­ ¾ð±ÞÇÑ ¹Ù ÀÖ´Â master-slave°³³äÀÌ Áö¿øµÈ ´Ù´Â °ÍÀ» ¿°
µÎÇØ µÎ¾î¶ó.

µ¶ÀÏÀÇ Tobias Reber°¡ ¸¸µç yps¶ó´Â NIS ¼­¹ö ÇÁ·Î±×·¥µµ master-slave °³³ä
À» Áö¿øÇÏÁö¸¸, ¿À·¡ÀüºÎÅÍ Áö¿øÇÏÁö ¾ÊÀº ´Ù¸¥ Á¦¾àµéÀÌ ÀÖ´Ù.

<sect1>¼ÒÇÁÆ®¿þ¾î

<p>
½Ã½ºÅÛ ¶óÀÌºê·¯¸®ÀÎ "/usr/lib/libc.a" (¹öÀü 4.4.2ÀÌÈÄÀÇ °Í) È¤Àº, °øÀ¯¶óÀÌ
ºê·¯¸®ÀÎ "/lib/libc.so.x"´Â NIS Å¬¶óÀÌ¾ðÆ®, ¼­¹ö ÇÁ·Î±×·¥À» ¼º°øÀûÀ¸·Î ÄÄ
ÆÄÀÏ ÇÏ±â À§ÇÑ ½Ã½ºÅÛ ÄÝÀ» ¸ðµÎ °¡Áö°í ÀÖ´Ù. GNU C ¶óÀÌºê·¯¸® 2(glibc2)¿¡ 
´ëÇØ¼­´Â /lib/libnsl.so.1À» ÇÊ¿ä·ÎÇÑ´Ù.

¾î¶² ÀÌµéÀº NIS°¡ ¹öÀü 4.5.21ÀÌÈÄÀÇ "/usr/lib/libc.a"¿Í¸¸ ÀÛµ¿µÈ´Ù°í ÇÏ±â 
¶§¹®¿¡, ¾ÈÀüÇÏ°Ô ÀÛµ¿ÇÏ±æ ¿øÇÑ´Ù¸é ¿¾³¯ ¹öÀüÀÇ libcµéÀ» ¾²Áö ¾Ê´Â°Ô ÁÁ´Ù. 
NIS Å¬¶óÀÌ¾ðÆ® ¼ÒÇÁÆ®¿þ¾î´Â ´ÙÀ½ÀÇ Àå¼Ò¿¡¼­ ¾òÀ» ¼ö ÀÖ´Ù.

<tscreen><verb>
Site			Directory			File Name

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
</verb></tscreen>

¼ÒÇÁÆ®¿þ¾î¸¦ ±¸ÇßÀ» ¶§, ¼ÒÇÁÆ®¿þ¾î¿¡ Æ÷ÇÔµÈ ÀÎ½ºÆ®·°¼ÇÀ» ÀÐ°í µû¸£±æ ¹Ù¶õ
´Ù. yp-clients 2.2´Â libc4¿Í libc5 ¿¡¼­ 5.4.20±îÁö¸¦ À§ÇÑ °ÍÀÌ´Ù. libc 5.4
.21°ú glibc 2.x´Â yp-tools 1.4.1°ú ±× ÀÌÈÄ ¹öÀüÀ» ÇÊ¿ä·Î ÇÑ´Ù. »õ·Î³ª¿Â yp
-tools 2.2´Â ¸ðµç ¸®´ª½ºÀÇ libc¿¡¼­ ÀÛµ¿µÈ´Ù. ´Ü, NIS ÄÚµå¿¡ ¹ö±×°¡ ÀÖ¾î¼­
, ¿©·¯ºÐÀº 5.4.21 - 5.4.35 ¹öÀüÀÇ libc´Â »ç¿ëÇÏ¸é ¾ÈµÈ´Ù. ´ë½Å 5.4.36 ÀÌÈÄ 
¹öÀüÀ» »ç¿ëÇÏ´Â°Ô ÁÁ´Ù. ±×·¸Áö ¾ÊÀ¸¸é ´ëºÎºÐÀÇ YPÇÁ·Î±×·¥Àº ÀÛµ¿ÇÏÁö ¾ÊÀ» 
°ÍÀÌ´Ù. ypbind 3.3µµ ¿ª½Ã ¸ðµç ¶óÀÌºê·¯¸®¿¡¼­ ÀÛµ¿ÇÑ´Ù. ¸¸¾à gcc 2.8.xÈ¤Àº 
±× ÀÌÈÄ ¹öÀü,egcs È¤Àº glibc 2.x¸¦ »ç¿ëÇÑ´Ù¸é, ypbind-3.3-glibc5.diff patc
h¸¦ ypbind-3.3¿¡ Ãß°¡ÇØ Áà¾ßÇÑ´Ù. yp-clients 2.2¿¡¼­ ³ª¿Â ypbind¸¦ »ç¿ëÇÏÁö 
¸»¶ó. ypbind-mt´Â »õ·Î³ª¿Â ¸ÖÆ¼ ¾²·¹µå µ¥¸óÀÌ´Ù. ÀÌ°ÍÀº Kernel 2.2¿Í glibc
2.1È¤Àº ÀÌÈÄ ¹öÀüÀ» ÇÊ¿ä·Î ÇÑ´Ù.

<sect1>ypbind µ¥¸ó

<p>
¼ÒÇÁÆ®¿þ¾î¸¦ ¼º°øÀûÀ¸·Î ÄÄÆÄÀÏÀ» ÇßÀ¸¸é, ÀÌÁ¦ ÀÎ½ºÅçÀ» ÇÒ ÁØºñ°¡ µÈ °ÍÀÌ
´Ù. ypbind µ¥¸óÀÇ Àû´çÇÑ µð·ºÅä¸®´Â /usr/sbin ÀÌ´Ù. ¾î¶² ÀÌµéÀº NYS¸¦ ÀÌ¿ë
ÇÏ´Â ½Ã½ºÅÛ¿¡¼­´Â ypbind°¡ ÇÊ¿ä ¾øÀ» °ÍÀÌ¶ó°í ¸»ÇÒ ¼öµµ ÀÖ´Ù. ÀÌ°ÍÀº Æ²¸° 
°ÍÀÌ´Ù. ypwhich¿Í ypcatÀº Ç×»ó ypbind¸¦ ÇÊ¿ä·Î ÇÑ´Ù.

¼³Ä¡ ´Ü°èÀÇ °¡Àå Ã¹¹øÂ°·Î ÀÌ°ÍÀ» ÇØ¾ßÇÑ´Ù. ´Ù¸¥ ¹ÙÀÌ³Ê¸®µé(ypwhich, ypcat
, yppasswd, yppoll, ypmatch)Àº º¸Åë /usr/bin°ú °°Àº ´Ù¸¥ ¸ðµç À¯ÀúµéÀÌ Á¢
±Ù °¡´ÉÇÑ °÷¿¡ ÀÖ¾î¾ß ÇÑ´Ù.

»õ·Î¿î ¹öÀüÀÇ ypbind´Â /etc/yp.conf¶ó´Â ¼³Á¤ÆÄÀÏÀ» °¡Áö°í ÀÖ´Ù. ¿©·¯ºÐÀº 
±× ÆÄÀÏ¿¡¼­ NIS¼­¹ö¸¦ ÇÏµåÄÚµåÇØ ÁÙ ¼ö ÀÖ´Ù. Á» ´õ »ó¼¼ÇÑ ³»¿ëÀº manual pa
geÀÇ ypbind(8)À» ÂüÁ¶ÇÏ±â ¹Ù¶õ´Ù. NYS¸¦ À§ÇØ¼­µµ ÀÌ ÆÄÀÏÀÌ ÇÊ¿äÇÏ´Ù.
¿¹¸¦µé¸é:
<tscreen><verb>
	ypserv votager
	ypserv defiant
	ypserv ds9
</verb></tscreen>

¸¸¾à ½Ã½ºÅÛ¿¡¼­ NIS¾øÀÌ È£½ºÆ® ³×ÀÓÀ» ¾Ë¾Æ³¾ ¼ö ÀÖ´Ù¸é ±×³É ±× ÀÌ¸§À» »ç¿ë
ÇÏ¸é µÇÁö¸¸, ±×·¸Áö ¾ÊÀº °æ¿ì¿¡´Â IP address¸¦ »ç¿ëÇØ¾ß ÇÑ´Ù. ypbind 3.3Àº 
¹ö±×°¡ ÀÖ¾î¼­, À§ ¿¹ÀÇ ¸¶Áö¸·ÀÎ ypserv ds9¸¸À» »ç¿ëÇØ¾ß ÇÑ´Ù. ¸ðµç ´Ù¸¥ °Í
µéÀº ¹«½ÃµÈ´Ù. ypbind-mt´Â ÀÌ°ÍÀ» ¼öÁ¤ÇÏ¿© »ç¿ëÇÑ´Ù.

½ºÅ¸Æ® ¾÷ ÆÄÀÏ¿¡¼­ ½ÇÁ¦·Î Àû¿ëÇØ º¸±âÀü¿¡, ypbind¸¦ Å×½ºÇØ º¸´Â °ÍÀº ÁÁ´Ù.
ypbind¸¦ Å×½ºÆ® ÇØ º¸±â À§ÇØ ´ÙÀ½°ú °°ÀÌ ÇÒ ¼ö ÀÖ´Ù.

<itemize>
<item>YP-domain name set¸¦ °¡Áö°í ÀÖ´Â °ÍÀ» È®½ÇÈ÷ ÇØ¶ó. ÀÌ°ÍÀÌ ¼¼ÆÃ µÇ¾î 
	ÀÖÁö ¾Ê´Ù¸é ´ÙÀ½ÀÇ ¸í·ÉÀ¸·Î ¼¼Æ®ÇÒ ¼ö ÀÖ´Ù.

	<tscreen><verb>
		/bin/domainname nis.domain
	</verb></tscreen>

	<tt>nis.domain</tt>Àº º¸Åë ¿©·¯ºÐÀÇ ¸Ó½®ÀÇ DNS-domain°ú ¿¬°üµÇÁö _
	¾Ê´Â_ ¹®ÀÚ¿­ÀÌ´Ù! ±× ÀÌÀ¯´Â ¿ÜºÎÀÇ Å©·¡Ä¿°¡ NIS¼­¹öÀÇ ÆÐ½º¿öµå µ¥ÀÌ
	ÅÍº£ÀÌ½º¸¦ ¼öÁ¤ÇÏ´Âµ¥ Á» ´õ Èûµé°Ô ÇÒ ¼ö ÀÖ°Ô µÇ±â ¶§¹®ÀÌ´Ù. ¸¸¾à 
	¿©·¯ºÐÀÌ ¿©·¯ºÐ ³×Æ®¿öÅ©ÀÇ NIS µµ¸ÞÀÎ ³×ÀÓÀ» ¸ð¸¥´Ù¸é, ½Ã½ºÅÛ ³×Æ®
	¿öÅ© °ü¸®ÀÚ¿¡°Ô ¹®ÀÇÇØ º¸¶ó.

<item>¸¸ÀÏ portmap µ¥¸óÀÌ ¾È¶ç¾îÁ® ÀÖ´Ù¸é, "/usr/bin/portmap"À» ½ÇÇà½ÃÄÑ¶ó.

<item>¸¸ÀÏ "/var/yp" µð·ºÅä¸®°¡ ¾ø´Ù¸é ±×°ÍÀ» ¸¸µé¾î¶ó.

<item>"/usr/bin/ypbind"¸¦ ½ÇÇà½ÃÄÑ¶ó.

<item>ypbind°¡ portmapperÀÇ ¼­ºñ½º¿¡ µî·ÏµÉ ¼ö ÀÖ´ÂÁö »ìÆìº¸±â À§ÇØ "rpcin
	fo -p localhost"¸í·ÉÀ» »ç¿ëÇÏ¶ó
	±×°ÍÀÇ °á°ú´Â ´ÙÀ½°ú ºñ½ÁÇÒ °ÍÀÌ´Ù.

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

È¤Àº

	<tscreen><verb>
	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
	</verb></tscreen>

ÀÌ°ÍÀº ¿©·¯ºÐÀÌ »ç¿ëÇÏ´Â ypbindÀÇ ¹öÀü¿¡ µû¶ó ¾à°£ÀÇ Â÷ÀÌ°¡ ÀÖ´Ù.

<item>¿©·¯ºÐÀº ¶ÇÇÑ "rpcinfo -u localhost ypbind"¸¦ ½ÇÇàÇÒ ¼öµµ ÀÖ´Ù. ÀÌ 
	¸í·É¿¡ ÀÇÇØ ´ÙÀ½°ú ºñ½ÁÇÑ °á°ú°¡ ³ª¿Í¾ß¸¸ ÇÑ´Ù.

	<tscreen><verb>
	program 100007 version 2 ready and waiting
	</verb></tscreen>

	È¤Àº

	<tscreen><verb>
	program 100007 vsrsion 1 ready and waiting
	program 100007 version 2 ready and waiting

	</verb></tscreen>
	°á°ú´Â ¿©·¯ºÐÀÌ ¼³Ä¡ÇÑ ypbind¹öÀü¿¡ µû¶ó ´Þ¶óÁú ¼öµµ ÀÖ´Ù. Áß¿äÇÑ 
	°ÍÀº "version 2"¶ó´Â ¸Þ½ÃÁöÀÌ´Ù.
</itemize>

ÀÌÁ¦ ¿©·¯ºÐÀº ypcatµî°ú °°Àº NISÅ¬¶óÀÌ¾ðÆ® ÇÁ·Î±×·¥µéÀ» ½ÇÇà½ÃÅ³ ¼ö ÀÖ´Ù. 
¿¹¸¦ µé¾î "ypcat passwd.byname"Àº ¿©·¯ºÐ¿¡°Ô ÀüÃ¼ NIS ÆÐ½º¿öµå µ¥ÀÌÅÍº£ÀÌ
½º¸¦ Á¦°øÇØ ÁÙ °ÍÀÌ´Ù.

Áß¿ä»çÇ× : ¸¸¾à ¿©·¯ºÐÀÌ Å×½ºÆ®¸¦ ±×³É °Ç³Ê¶Ù¾ú´Ù¸é, domain ³×ÀÓÀ» ¼¼ÆÃÇÏ
´Â °Í°ú, ´ÙÀ½ µð·ºÅä¸® ¸¸µå´Â °ÍÀ» È®½ÇÈ÷ ÇÏ¶ó.

<tscreen><verb>
	/var/yp
</verb></tscreen>

ÀÌ µð·ºÅä¸®´Â ypbind°¡ ¼º°øÀûÀ¸·Î ¼öÇàµÇ±â À§ÇÏ¿© "¹Ýµå½Ã" Á¸ÀçÇØ¾ß ÇÑ´Ù.

domainnmaeÀÌ ¿Ã¹Ù¸£°Ô ¼¼ÆÃµÇ¾ú´ÂÁö¸¦ º¸±âÀ§ÇØ, yp-tools 2.2ÀÇ /bin/ypdomai
nname À» »ç¿ëÇÏ¶ó. ÀÌ°ÍÀº º¸´Ù ¾ö°ÝÇÑ yp_get_default_domain()ÇÔ¼ö¸¦ »ç¿ë
ÇÑ´Ù. ÀÌ°ÍÀº ¸®´ª½º¿¡ ±âº»À¸·Î ¼³Á¤µÇ¾î ¸¹Àº ¹®Á¦¸¦ ÀÏÀ¸Å°´Â (none) domain
nameÀ» Çã¿ëÇÏÁö ¾Ê´Â´Ù. 

ÀÌÁ¦ Å×½ºÆ®°¡ µÇ¾ú´Ù¸é, ¿©·¯ºÐÀº ºÎÆÃ½Ã ypbind°¡ ¼öÇàµÇ¾î ¿©·¯ºÐÀÇ ¸Ó½®ÀÌ 
NIS Å¬¶óÀÌ¾ðÆ®°¡ µÉ ¼ö ÀÖµµ·Ï ½ÃÀÛ ÆÄÀÏÀ» ¼öÁ¤ÇÏ±æ ¿øÇÒ Áöµµ ¸ð¸¥´Ù. ypbin
d°¡ ½ÃÀÛµÇ±â Àü¿¡ domainnameÀÌ ¼¼ÆÃµÈ´Ù´Â °ÍÀ» È®½ÇÈ÷ ¾Ë¾Æ µÎÀÚ.

¹Ù·Î ±×°Å´Ù. ¸Ó½®À» ¸®ºÎÆ®ÇÏ°í, ypbind°¡ ½ÇÁ¦·Î ½ÃÀÛµÇ¾ú´ÂÁö ºÎÆ® ¸Þ½ÃÁö
¸¦ »ìÆìº¸¾Æ¶ó.

<sect1>Traditional NIS¿¡¼­ÀÇ NIS¼¼ÆÃÇÏ±â
 
<p>
È£½ºÆ® lookupÀ» À§ÇØ /etc/host.conf ÆÄÀÏÀÇ lookup order ÁÙ¿¡ "nis" ¸¦ ºÙ¿©
³Ö¾î¶ó. ÀÚ¼¼ÇÑ ³»¿ëÀ» À§ÇÏ¿© manÆäÀÌÁöÀÇ "resolv+.8"À» ÂüÁ¶ÇÏ¶ó.

¿©·¯ºÐ NISÅ¬¶óÀÌ¾ðÆ®ÀÇ /etc/passwdÆÄÀÏ¿¡ ´ÙÀ½ ÁÙÀ» Ãß°¡ÇÏ¿©¶ó.

<tscreen><verb>
+::::::
</verb></tscreen>

¿©·¯ºÐÀº +¿Í -¹®ÀÚµéÀ» »ç¿ëÇÏ¿© »ç¿ëÀÚµéÀ» Æ÷ÇÔ/Á¦¿Ü È¤Àº º¯°æÇÒ ¼ö ÀÖ´Ù. 
¸¸¾à guestÀ¯Àú¸¦ »ç¿ëÇÏ°í ½Í´Ù¸é, ´ÜÁö -guest¸¦ /etc/passwdÆÄÀÏ¿¡ ³Ö¾îÁÖ¸é 
µÈ´Ù. "linux"¶ó´Â À¯Àú¿¡°Ô ksh°ú °°Àº ´Ù¸¥ ½©À» »ç¿ëÇÏ°Ô ÇÏ°í ½Í´ÙÇØµµ ¾Æ
¹« ¹®Á¦ ¾ø´Ù. ´ÜÁö "+linux::::::/bin/ksh" ( ""´Â Á¦¿ÜÇÏ°í )À» /etc/passwd
¿¡ Ãß°¡ÇÏ¸é µÈ´Ù. º¯°æÇÏ°í ½ÍÀº ¾ÊÀº ÇÊµå¿¡ ´ëÇØ¼­´Â ±×³É ºóÄ­À¸·Î ³õ¾Æ µÎ
¸é µÈ´Ù. ¿©·¯ºÐÀº ¶ÇÇÑ »ç¿ëÀÚµéÀ» °ü¸®ÇÏ±â À§ÇØ NetgroupÀ» »ç¿ë ÇÒ ¼ö ÀÖ´Ù.

¿¹¸¦ µé¾î, miquels¿Í dth, ed ±×¸®°í ¸ðµç sysadmin netgroupÀÇ ¸ðµç ¸â¹öµé¿¡
°Ô¸¸ ·Î±ä Á¢±ÙÀ» Çã¿ëÇÏÁö¸¸, ´Ù¸¥ ¸ðµç À¯ÀúµéÀÇ °èÁ¤ µ¥ÀÌÅÍ¸¦ »ç¿ë°¡´ÉÇÑ 
»óÅÂ·Î ³²°Ü µÎ±â À§ÇØ¼­´Â ´ÙÀ½°ú °°ÀÌ ÇÏ¸é µÈ´Ù.

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

¸®´ª½º¿¡¼­´Â À§ÀÇ ¿¹Á¦¿Í °°ÀÌ ÆÐ½º¿öµå ÇÊµå¸¦ ÁßÃ¸ ÇÒ ¼ö ÀÖ´Ù. "ftp" ·Î±ä
À» Á¦°Å Çß±â ¶§¹®¿¡, ÀÌ°ÍÀº ´õÀÌ»ó ¾Ë·ÁÁöÁö ¾Ê¾Æ anonymous ftp´Â ´õÀÌ»ó ÀÛ
µ¿ÇÏÁö ¾ÊÀ» °ÍÀÌ´Ù.

netgroup´Â ´ÙÀ½°ú °°´Ù.
<tscreen><verb>
sysadmins (-,software,) (-,kukuk,)
</verb></tscreen>

Áß¿ä»çÇ× : netgroupÀÇ ±â´ÉÀº libc 4.5.26ºÎÅÍ ¸¸µé¾îÁ³±â ¶§¹®¿¡, 4.5.26 ÀÌ
Àü ¹öÀüÀ» »ç¿ëÇÏ°Ô µÈ´Ù¸é, ypbind°¡ »ì¾Æ ÀÖ´Â ÇÑ NIS ÆÐ½º¿öµå µ¥ÀÌÅÍº£ÀÌ½º
¿¡ ÀÖ´Â ¸ðµç À¯ÀúµéÀÌ ¿©·¯ºÐÀÇ ¸®´ª½º ¸Ó½®¿¡ ·Î±ä ÇÒ ¼ö ÀÖ´Ù!!!

<sect1>NYS¿¡¼­ÀÇ NIS¼¼ÆÃÇÏ±â

<p>
NIS ¼³Á¤ ÆÄÀÏÀÎ /etc/yp.conf¿¡¼­ ÇÊ¿äÇÑ ¼³Á¤Àº ´ÜÁö ¿Ã¹Ù¸¥ ¼­¹ö¸¦ °¡¸®Å°
´Â °ÍÀÌ´Ù. ¶ÇÇÑ Name Services Switch ¼³Á¤ ÆÄÀÏ( /etc/nsswitch.conf )µµ ¿Ã
¹Ù¸£°Ô ¼Â¾÷ µÇ¾î ÀÖ¾î¾ß ÇÑ´Ù.

¿©·¯ºÐÀº ypbind¸¦ ¼³Ä¡ÇØ¾ß ÇÑ´Ù. libc°¡ ÀÌ°ÍÀ» ÇÊ¿ä·Î ÇÏÁö´Â ¾ÊÁö¸¸, NIS(Y
P) ÅøµéÀº ÀÌ°ÍÀ» ÇÊ¿ä·Î ÇÑ´Ù.

¿©·¯ºÐÀÌ »ç¿ëÀÚ Æ÷ÇÔ/Á¦¿ÜÀÇ ±â´É(+/-guest/+@admins)À» »ç¿ëÇÏ±æ ¿øÇÑ´Ù¸é, n
sswitch.conf ÆÄÀÏ¿¡¼­ "passwd: compat"°ú "group :compat"À» »ç¿ëÇØ¾ß ÇÑ´Ù. 
"shadow: compat"ÀÌ ¾ø´Ù´Â °ÍÀ» È®½ÇÈ÷ ¾Ë¾Æ µÎÀÚ. ÀÌ·± °æ¿ì¿¡ ±×°Í ´ë½Å "sh
adow: files nis"¸¦ »ç¿ëÇÑ´Ù.

NYS ¼Ò½ºµéÀº libc 5 ¼Ò½ºµéÀÇ ÀÏºÎºÐÀÌ´Ù. ¼³Á¤À» ÇÒ ¶§, Ã³À½¿¡ "Values corr
et"ÀÇ ¹°À½¿¡ "NO"¶ó°í ÇÏ°í, "Build a NYS libc from nys"¶ó´Â ¹°À½¿¡´Â "YES"
¶ó°í ´äÇÏ¶ó.

<sect1>glibc 2.x¿¡¼­ÀÇ NIS¼¼ÆÃÇÏ±â

<p>
glibc´Â "ÀüÅëÀûÀÎ NIS"¸¦ »ç¿ëÇÑ´Ù. ±×·¡¼­ ypbind¸¦ »ç¿ëÇØ¾ßÇÒ ÇÊ¿ä°¡ ÀÖ´Â 
°ÍÀÌ´Ù. Name Services Switch¼³Á¤ ÆÄÀÏ( /etc/nsswitch.conf ) ÆÄÀÏÀÌ ¿Ã¹Ù¸£°Ô 
¼Â¾÷ µÇ¾î ÀÖ¾î¾ß ÇÑ´Ù. ¸¸¾à ¿©·¯ºÐÀÌ passwd, ½¦µµ¿ì È¤Àº group¿¡ ´ëÇÏ¿© co
mpat ¸ðµå¸¦ »ç¿ëÇÑ´Ù¸é ÆÄÀÏ ¸Ç ¸¶Áö¸·¿¡ "+"¸¦ Ãß°¡ÇØ Áà¾ß ÇÑ´Ù. ±×·¯¸é À¯Àú
ÀÇ Æ÷ÇÔ/Á¦¿Ü ±â´ÉÀ» »ç¿ëÇÒ ¼ö ÀÖ´Ù. ¼³Á¤Àº ¼Ö¶ó¸®½º 2.x¿¡¼­ ÇÏ´Â °Í°ú Á¤È®
ÇÏ°Ô ÀÏÄ¡ÇÑ´Ù.

<sect1>nsswitch.conf ÆÄÀÏ¿¡ ´ëÇØ¼­

<p>
/etc/host.conf°¡ È£½ºÆ®¸¦ Ã£´Â ¹æ¹ýÀ» °áÁ¤ÇÏ´Â °Í°ú °°ÀÌ, Network Service 
switchÆÄÀÏ /etc/nsswitch.conf´Â ¾î¶² Á¤º¸°¡ ¿ä±¸µÇ¾úÀ» ¶§, lookupÇÏ´Â ¼ø¼­
¸¦ °áÁ¤ÇÑ´Ù. ¿¹¸¦ µé¸é ´ÙÀ½ ¶óÀÎ

<tscreen><verb>
	hosts: files nis dns
</verb></tscreen>

host¸¦ lookup(Ã£´Â)ÇÏ´Â ±â´ÉÀº ¸ÕÀú NIS lookup¿¡ µÚÀÌÀº /etc/hosts ÆÄÀÏÀ» 
Ã£¾Æº¸°í ¸¶Áö¸·À¸·Î µµ¸ÞÀÎ ³×ÀÓ ¼­ºñ½º( /etc/resolv.conf¿Í named )¸¦ ÅëÇÑ
´Ù. ÀÌ ¶§, ½ÇÆÐÇßÀ» °æ¿ì¿¡´Â ¿¡·¯¸¦ ¸®ÅÏÇÑ´Ù. ÀÌ ÆÄÀÏÀº ¸ðµç À¯Àú¿¡°Ô ÀÐ±â 
±ÇÇÑÀÌ ÁÖ¾îÁ®¾ß ÇÑ´Ù! ¿©·¯ºÐÀº man-pageÀÇ nsswitch.5È¤Àº nsswitch.conf.5¿¡
¼­ Á» ´õ ¸¹Àº Á¤º¸¸¦ ¾òÀ» ¼ö ÀÖÀ» °ÍÀÌ´Ù.

NIS¸¦ À§ÇÑ /etc/nsswitch.conf ÀÇ ÁÁÀº ¿¹ÀÌ´Ù.
<tscreen><verb>
#
# /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 or nis+     Use NIS+ (NIS version 3)
#   nis or yp       Use NIS (NIS version 2), also called YP
#   dns         Use DNS (Domain Name Service)
#   files           Use the local files
#   db          Use the local database (.db) files
#   compat          Use NIS on compat mode
#   [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:   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 nisplus
aliases:    nisplus [NOTFOUND=return] files
</verb></tscreen>

passwd_compat, group_compat ±×¸®°í shadow_compatÀº glibc 2.x¿¡¼­¸¸ Áö¿øµÈ
´Ù. ¸¸¾à /etc/nsswitch.conf¿¡ ½¦µµ¿ì¿¡ ´ëÇÑ ±ÔÄ¢µéÀÌ ¾ø´Ù¸é, glibc´Â look
upÀ» À§ÇØ passwd ±ÔÄ¢À» »ç¿ëÇÒ °ÍÀÌ´Ù. glibc¸¦ À§ÇØ hesoid°°Àº ´Ù¸¥ looku
p ¸ðµâµéÀÌ ÀÖ´Ù. Á»´õ ¸¹Àº Á¤º¸¸¦ À§ÇØ, glibc ¹®¼­¸¦ ÂüÁ¶ÇÏ±â ¹Ù¶õ´Ù.

<sect1>NIS¿¡¼­ÀÇ ½¦µµ¿ì(Shadow) ÆÐ½º¿öµå
<p>
NIS¿¡¼­ÀÇ ½¦µµ¿ì ÆÐ½º¿öµå´Â Ç×»ó ÁÁÁö ¾ÊÀº ¾ÆÀÌµð¾îÀÌ´Ù. ½¦µµ¿ì°¡ ÁÖ´Â º¸¾È
À» ÀÒÀ» »Ó¸¸ ¾Æ´Ï¶ó, ÀÌ°ÍÀº ¾ÆÁÖ ÀûÀº ¸î¸îÀÇ ¸®´ª½º C ¶óÀÌºê·¯¸®¿¡¼­¸¸ Áö¿ø 
µÈ´Ù. NIS¿¡¼­ÀÇ ½¦µµ¿ì ÆÐ½º¿öµå¸¦ ÇÇÇÏ´Â ÁÁÀº ¹æ¹ýÀº ¿ÀÁ÷ ·ÎÄÃ ½Ã½ºÅÛÀÇ À¯
Àú¸¸ /etc/shadow¿¡ ³Ö´Â °ÍÀÌ´Ù. ÀÌ·¸°Ô ÇÔÀ¸·Î½á ¿©·¯ºÐÀº root ·Î±ä½Ã ½¦µµ¿ì
¸¦ ÀÌ¿ëÇÒ ¼ö ÀÖ°í, ÀÏ¹Ý NIS À¯Àúµé¿¡°Ô´Â º¸ÅëÀÇ passwd ¹æ¹ýÀ» »ç¿ëÇÒ ¼ö ÀÖ
´Ù. ÀÌ°ÍÀ¸·Î ¸ðµç NISÅ¬¶óÀÌ¾ðÆ®¿Í ÇÔ²² ÀÛµ¿ÇÏ´Â ÀÌÁ¡À» ¾òÀ» ¼ö ÀÖ´Ù.

<sect2>Linux
<p>
NIS¿¡¼­ ½¦µµ¿ì ÆÐ½º¿öµå¸¦ Áö¿øÇÏ´Â ¸®´ª½º libc´Â GNU C Library 2.x¹Û¿¡ ¾ø
´Ù. ¸®´ª½º libc 5´Â ÀÌ°ÍÀ» Áö¿øÇÏÁö ¸øÇÑ´Ù. ¸®´ª½º libc 5°¡ NYS°¡ °¡´ÉÇÑ 
ÄÚµå¿Í ÇÔ²² ÄÄÆÄÀÏ µÇ¾úÁö¸¸, ±× ÄÚµå´Â ¾î¶² °æ¿ì¿¡ ÀÖ¾î¼­ ½É°¢ÇÏ°Ô ±úÁ®¹ö
¸®°í, ¸ðµç ¿Ã¹Ù¸¥ ½¦µµ¿ì ¿£Æ®¸®¿¡ ´ëÇÏ¿© ÀÛµ¿ÇÏÁö ¾Ê´Â´Ù.

<sect2>Solaris
<p>
¼Ö¶ó¸®½º´Â NIS¸¦ ÅëÇÑ ½¦µµ¿ì ÆÐ½º¿öµå¸¦ Áö¿øÇÏÁö ¾Ê´Â´Ù.

<sect2>PAM
<p>
PAMÀº À¯³­È÷ pam_pwdb/libpwdb¿¡¼­ NIS¸¦ ÅëÇÑ ÆÐ½º¿öµå¸¦ Áö¿øÇÏÁö ¾Ê´Â´Ù. 
ÀÌ°ÍÀº RedHat 5.x À¯Àúµé¿¡°Ô ÀÖ¾î¼­ Å« ¹®Á¦ÀÌ´Ù. ¸¸¾à glibc¿Í PAMÀ» °¡Áö
°í ÀÖ´Ù¸é, ¿©·¯ºÐÀº /etc/pam.d/* ¿£Æ®¸®µéÀ» º¯°æÇÒ ÇÊ¿ä°¡ ÀÖ´Ù. ¸ðµç pam_p
wdb ±ÔÄ¢µéÀ» pam_unix_* ¸ðµâµé·Î ±³Ã¼ÇØ¶ó. pam_unix_auth.so ¸ðµâÀÇ ¹ö±× ¶§
¹®¿¡, ÀÌ°ÍÀº ¾ðÁ¦³ª ÀÛµ¿ÇÏÁö´Â ¾Ê´Â´Ù.

/etc/pam.d/login ÆÄÀÏÀÇ ¿¹´Â ´ÙÀ½°ú À¯»çÇÏ´Ù:

<tscreen><verb>
#%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
</verb></tscreen>

ÀÎÁõÀ» À§ÇÏ¿© ¿©·¯ºÐÀº pam_unix_auth.so ¸ðµâÀÌ ÇÊ¿äÇÏ´Ù. °èÁ¤À» À§ÇØ¼­´Â p
am_unix_acct.so°¡ ÇÊ¿äÇÏ°í ÆÐ½º¿öµå¸¦ À§ÇØ¼­ pam_unix_passwd.so ±×¸®°í ¼¼
¼ÇÃ³¸®¸¦ À§ÇØ pam_unix_session.so¸ðµâÀÌ ÇÊ¿äÇÏ´Ù.

<sect>NIS+¸¦ ¼³Ä¡ÇÏ±â À§ÇØ ÇÊ¿äÇÑ °ÍµéÀº ¹«¾ùÀÎ°¡?

<sect1>ÇÊ¿äÇÑ ¼ÒÇÁÆ®¿þ¾î

<p>
¸®´ª½º NIS+ÄÚµå´Â GNU C ¶óÀÌºê·¯¸® 2¸¦ À§ÇØ ¸¸µé¾îÁ³´Ù. ´ëºÎºÐÀÇ »ó¾÷¿ë ¾î
ÇÃ¸®ÄÉÀÌ¼ÇµéÀÌ libc5¿¡ ¸µÅ©¸¦ °É¾î ³õ°í ÀÖ¾î¼­, ¸®´ª½º libc5¿ëÀ¸·Îµµ Æ÷ÆÃ
µÇ¾î ÀÖ´Ù. ¿©·¯ºÐÀº libc¸¦ °¡Áö°í ±×°ÍÀ» ´Ù½Ã ÄÄÆÄÀÏ ÇÒ ¼ö ¾ø´Ù. libc5¿Í N
IS+¿¡´Â ´ÙÀ½°ú °°Àº ¹®Á¦°¡ ÀÖ´Ù. static ÇÁ·Î±×·¥µéÀº ±×°Í°ú ¸µÅ©µÉ ¼ö ¾ø°í
,ÀÌ ¶óÀÌºê·¯¸®¿¡ ÀÇÇØ ÄÄÆÄÀÏ µÈ ÇÁ·Î±×·¥µéÀº ´Ù¸¥ libc5¹öÀü¿¡¼­ ½ÇÇàµÇÁö 
¾ÊÀ» °ÍÀÌ´Ù.

¿©·¯ºÐÀº ÀÎÅÚ±â¹ÝÀÇ ÇÃ·§È¨À» À§ÇØ, GNU C ¶óÀÌºê·¯¸® 2.1·Î ¼öÁ¤ÇÏ°í ÄÄÆÄÀÏ 
ÇØ¾ß ÇÒ ÇÊ¿ä°¡ ÀÖ´Ù. 64bit ÇÃ·§Æû¿¡¼­´Â GNU C ¶óÀÌºê·¯¸® 2.1.1·Î ÇØ¾ßÇÑ´Ù. 
±Ù°£ ½Ã½ºÅÛÀ¸·Î´Â µ¥ºñ¾È 2.x, ·¹µåÇÞ 5.x, ¼ö¼¼ 6.x °°Àº glibc°¡ ±Ù°£ÀÎ ¹è
Æ÷ÆÇÀ» ÇÊ¿ä·Î ÇÒ °ÍÀÌ´Ù.

¸ðµç ¹èÆ÷ÆÇÀ» À§ÇÏ¿©, gcc/g++ ÄÄÆÄÀÏ·¯¿Í libstc++, ncures¸¦ ´Ù½Ã ÄÄÆÄÀÏÇÒ 
ÇÊ¿ä°¡ ÀÖ´Ù. ·¹µåÇÞ¿¡¼­, ¿©·¯ºÐÀº ¸¹Àº °æ¿ì PAM ¼³Á¤À» º¯°æÇÏ´Â °ÍÀ» ¸¹ÀÌ 
ÇÏ°Ô µÈ´Ù. ¼ö¼¼ ¸®´ª½º 6.0 ¿¡¼­´Â ½¦µµ¿ì ÆäÅ°Áö¸¦ ´Ù½Ã ÄÄÆÄÀÏ ÇÒ ÇÊ¿ä°¡ ÀÖ
´Ù.

NIS+ Å¬¶óÀÌ¾ðÆ® ¼ÒÇÁÆ®¿þ¾î´Â ´ÙÀ½À¸·Î ºÎÅÍ ¾òÀ» ¼ö ÀÖ´Ù:
<tscreen><verb>
Site		Directory			File Name

ftp.funet.fi	/pub/gnu/funet			libc-*, glibc-crypt-*,
						glibc-linuxthreads-*
ftp.kerbel.org	/pub/linux/utils/net/NIS+	nis-utils-19990223.tar.gz
ftp.kerbel.org	/pub/linux/utils/net/NIS+	pam_keylogin-1.2.tar.gz
</verb></tscreen>

¹èÆ÷ÆÇÀÇ glibc´Â ´ÙÀ½À¸·Î ºÎÅÍ ÆÐÄ¡ÇÒ ¼ö ÀÖ´Ù.

<tscreen><verb>
Site		Directory

ftp.debian.org	/pub/debian/dists/slink
ftp.redhat.com	/pub/redhat/redhat-5.2
ftp.suse.de	/pub/SuSE-Linux/6.0
</verb></tscreen>

GNU C ¶óÀÌºê·¯¸®¸¦ °íÃÄ¼­ ¸¸µç ¼ÒÇÁÆ®¿þ¾îµé¿¡ ´ëÇØ¼­´Â Æ÷ÇÔµÈ Áö½Ã¹®À» Àß 
ÀÐ¾î º¸±æ ¹Ù¶õ´Ù. ¿©·¯ºÐÀº NYS¿¡ ±Ù°£ÇÑ libc5 ÆÐÄ¡¸¦ Ã£À» ¼ö ÀÖ´Ù. Ç¥ÁØ li
bc5¸¦ ´ëÃ¼ÇÑ ±× ¼Ò½º´Â ´ÙÀ½ Àå¼Ò¿¡ ÀÖ´Ù:

<tscreen><verb>
Site		Directory		File Name

ftp.kernel.org	/pub/linux/utils/NIS+	libc-5.4.44-nsl-0.4.10.tar.gz
</verb></tscreen>

¿©·¯ºÐÀº 
<url url  = "http://www.suse.de/~kukuk/linux/nisplus.html"
     name = "http://www.suse.de/~kukuk/linux/nisplus.html">
¿¡¼­ ´õ ¸¹Àº Á¤º¸¿Í ÃÖ½Å ¹öÀüÀÇ ¼Ò½º¸¦ ¾òÀ» ¼ö ÀÖ´Ù.

<sect1>NIS+ Å¬¶óÀÌ¾ðÆ® ¼³Ä¡ÇÏ±â

<p>
Áß¿ä»çÇ× : NIS+ Å¬¶óÀÌ¾ðÆ®¸¦ ¼¼ÆÃÇÏ±â À§ÇÏ¿© ¼­¹öÂÊ¿¡¼­ ¾î¶»°Ô µÇ´ÂÁö ³ª¿Í
ÀÖ´Â ¼Ö¶ó¸®½º NIS+ ¹®¼­¸¦ ÀÐ¾îº¸¶ó! ÀÌ ¹®¼­´Â ´ÜÁö Å¬¶óÀÌ¾ðÆ® ÂÊ¿¡¼­ ¹«¾ù
À» ÇÏ´ÂÁö¿¡ ´ëÇÏ¿©¸¸ ³ª¿ÍÀÖ´Ù!  

»õ·Î¿î glibc¿Í nis-toolµéÀ» ¼³Ä¡ÇÑ ÈÄ¿¡, NIS+ ¼­¹öÀÇ »õ·Î¿î Å¬¶óÀÌ¾ðÆ®µé
À» À§ÇÏ¿© º¸ÁõÀ» ÇØ¶ó. portmapÀÌ µ¹¾Æ°¡°í ÀÖ´Ù´Â °ÍÀ» È®ÀÎÇØ¶ó. ±×¸®°í ¿©
·¯ºÐÀÇ ¸®´ª½ºPC°¡ NIS+ ¼­¹ö¿Í °°Àº ½Ã°£ÀÌ ¼³Á¤µÇ¾ú´ÂÁö Ã¼Å©¸¦ ÇÏ¶ó. ¾ÈÀü
ÇÑ RPC¸¦ À§ÇØ, º¸ÁõÀÌ À¯È¿ÇÑ ¾à 3ºÐÁ¤µµ ´ÜÁö ÇÏ³ªÀÇ ÀÛÀº À©µµ¿ì¸¦ °¡Áø´Ù. 
¸ðµç È£½ºÆ®¿¡ xntpd¸¦ ½ÇÇà½ÃÅ°´Â ÁÁÀº ¹æ¹ýÀÌ ÀÖ´Ù. ÀÌ°ÍÀ» ÇÑ ÈÄ¿¡ ´ÙÀ½À» 
½ÇÇàÇÏ¶ó.

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

¾Æ¹«·± ¿É¼ÇÀÌ ¾ø´Â ½ÃÀÛÆÄÀÏÀ» ÃÊ±âÈ­ÇÏ±â À§ÇØ, nisinit ¸Ç ÆäÀÌÁö¸¦ ÂüÁ¶ÇÏ
¶ó. domainnameÀº Ç×»ó ¸®ºÎÆ® ÈÄ¿¡ ¼¼ÆÃ µÈ´Ù´Â °ÍÀ» ¸í½ÉÇÏ¶ó. ¸¸ÀÏ ³×Æ®¿÷¿¡
¼­ NIS+ µµ¸ÞÀÎ ³×ÀÓÀÌ ¹«¾ùÀÎÁö ¸ð¸£¸é, ¿©·¯ºÐÀÇ ½Ã½ºÅÛ/³×Æ®¿öÅ© °ü¸®ÀÚ¿¡°Ô 
¹®ÀÇÇÏ¶ó.

ÀÌÁ¦ /etc/nsswitch.confÆÄÀÏÀ» º¯°æÇØ¾ß ÇÑ´Ù. ´ÜÁö publickeyµÚ¿¡ ¿À´Â ¼­ºñ
½º´Â nisnis¹Û¿¡ ¾ø´Ù´Â °ÍÀ» ¸í½ÉÇÏ¶ó. ( "publickey: nisnis" )

±×¸®°í keyserv¸¦ ½ÇÇà½ÃÄÑ¶ó. ¸í½ÉÇÒ °ÍÀº ÀÌ°ÍÀÌ ½Ã½ºÅÛÀÌ ºÎÆ®µÉ ¶§, portma
pÀÌ ½ÇÇàµÇ°í ³ª¼­ ¹Ù·Î Ã³À½À¸·Î ½ÇÇàµÇ´Â µ¥¸óÀÌ¶ó´Â °ÍÀÌ´Ù. ½Ã½ºÅÛ¿¡¼­ roo
tÀÇ ºñ¹ÐÅ°¸¦ ÀúÀåÇÏ±â À§ÇØ, ´ÙÀ½°ú °°ÀÌ ½ÇÇàÇÏ¶ó.
<tscreen><verb>
keylogin -r
</verb></tscreen>
(³ª´Â ¿©·¯ºÐÀÌ NIS+ ¼­¹ö¿¡ ´ëÇÑ »õ·Î¿î È£½ºÆ®¸¦ À§ÇØ publickey¸¦ Ãß°¡ ÇßÀ»
°Å¶ó ±â´ëÇÑ´Ù?)

"niscat passwd.org_dir"Àº ÆÐ½º¿öµå µ¥ÀÌÅÍº£ÀÌ½ºÀÇ ¸ðµç ¿£Æ®¸®¸¦ ³ªÅ¸³»¾ß ÇÑ´Ù.

<sect1>NIS+, keylogin, login ±×¸®°í PAM

<p>
À¯Àú°¡ ·Î±äÀ» ÇßÀ» ¶§, keyserv¸¦ À§ÇØ °¢ À¯ÀúÀÇ ºñ¹ÐÅ°¸¦ ¼¼ÆÃÇÒ ÇÊ¿ä°¡ ÀÖ
´Ù. ÀÌ°ÍÀº "keylogin"ÀÌ¶ó °Í¿¡ ÀÇÇØ µÈ´Ù. ½¦µµ¿ì ÆÐÅ°Áö¿¡¼­ÀÇ ·Î±äÀº glibc 
2.1¿¡ ÀÇÇØ ÄÄÆÄÀÏµÇ¾î ÀÖ´Ù¸é ¾Ë¾Æ¼­ ¼¼ÆÃÇÑ´Ù. PAM aware ·Î±ä¸¦ À§ÇÏ¿©, ¿©
·¯ºÐÀº NIS+¸¦ Áö¿øÇÏÁö ¾Ê´Â pwdb°¡ ¾Æ´Ñ pam_unix_auth ¸¦ »ç¿ëÇÏ±â À§ÇØ, 
pam-keylogin-1.2.tar.gz¸¦ ¼³Ä¡ÇÏ°í /etc/pam.d/loginÆÄÀÏÀ» ¼öÁ¤ÇØ¾ß ÇÑ´Ù. ¿¹
¸¦ µé¾î:

<tscreen><verb>

#%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
</verb></tscreen>

<sect1>nsswitch.conf ÆÄÀÏ

<p>
³×Æ®¿öÅ© ¼­ºñ½º ½ºÀ§Ä¡( network service switch ) ÆÄÀÏ /etc/nsswitch.conf
´Â /etc/host.confÆÄÀÏÀÌ È£½ºÆ®¸¦ Ã£´Â ¹æ¹ýµéÀ» °áÁ¤ÇÏ´Â °Í°ú °°ÀÌ, ¾î¶² 
Á¤º¸°¡ ¿ä±¸ µÇ¾îÁ³À»¶§, ±×°ÍÀ» Ã£´Â ¼ø¼­¸¦ °áÁ¤ÇÑ´Ù. ¿¹¸¦ µé¾î¼­ ´ÙÀ½ ¶ó
ÀÎÀ» º¸¸é,

<tscreen><verb>
	hosts: files nisplus dns
</verb></tscreen>

ÀÌ°ÍÀº È£½ºÆ®¸¦ Ã£´Â Æã¼Ç¿¡¼­ ¸ÕÀú ·ÎÄÃÀÇ /etc/hosts ÆÄÀÏ¿¡¼­ ¸ÕÀú Ã£°í, 
±× ´ÙÀ½ NIS+¿¡ ÀÇÇØ Ã£°í, ¸¶Áö¸·À¸·Î µµ¸ÞÀÎ ³×ÀÓ ¼­ºñ½º(/etc/resolv.conf 
¿Í named)¸¦ ÅëÇØ Ã£´Â´Ù. ÀÌ °æ¿ì ¸Â´Â °ÍÀ» ¸øÃ£¾ÒÀ» °æ¿ì ¿¡·¯°¡ ¸®ÅÏµÈ´Ù.

´ÙÀ½Àº NIS+¸¦ À§ÇÑ /etc/nsswitch.confÀÇ ÁÁÀº ¿¹ÀÌ´Ù.

<tscreen><verb>
#
# /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 or nis+     Use NIS+ (NIS version 3)
#   nis or yp       Use NIS (NIS version 2), also called YP
#   dns         Use DNS (Domain Name Service)
#   files           Use the local files
#   db          Use the local database (.db) files
#   compat          Use NIS on compat mode
#   [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
</verb></tscreen>


<sect>NIS ¼­¹ö ¼¼ÆÃÇÏ±â<label id=ypserv>

<sect1>¼­¹ö ÇÁ·Î±×·¥ ypserv

<p>

º» ¹®¼­´Â "ypserv" NIS ¼­¹öÀÇ ¼¼ÆÃ¿¡ ´ëÇØ¼­¸¸ ¾ð±ÞÇÑ´Ù.

NIS ¼­¹ö ¼ÒÇÁÆ®¿þ¾î´Â ´ÙÀ½¿¡¼­ ±¸ÇÒ ¼ö ÀÖ´Ù:

<tscreen><verb>
Site		Directory			File Name

ftp.kernel.org	/pub/linux/utils/net/NIS	ypserv-1.3.6.tar.gz
</verb></tscreen>

¿©·¯ºÐÀº 
<url url = "http://www.suse.de/~kukuk/linux/nis.html"
     name = "http://www.suse.de/~kukuk/linux/nis.html">
¿¡¼­ ´õ ¸¹Àº Á¤º¸¸¦ ¾òÀ» ¼ö ÀÖ´Ù.

¼­¹öÀÇ ¼Â¾÷Àº ÀüÅëÀûÀÎ NIS³ª NYS¸ðµÎ °°´Ù.

<tt>ypserv</tt>¿Í <tt>makedbm</tt> ÇÁ·Î±×·¥À» ¾ò±â À§ÇØ ¼ÒÇÁÆ®¿þ¾î¸¦ ÄÄÆÄ
ÀÏÇÏ¶ó. securenet ÆÄÀÏ È¤Àº tcp_wrapper¸¦ »ç¿ëÇÏ±â À§ÇØ¼­ ypserv¸¦ ¼³Á¤ÇÒ 
¼ö ÀÖ´Ù. tcp_wrapper´Â º¸´Ù ´õ À¯¿¬ÇÏ³ª, ¸¹Àº ÀÌµéÀÌ ±×°ÍÀ» ÀÌ¿ëÇÏ´Â µ¥ 
ÀÖ¾î ¹®Á¦¸¦ ÀÏÀ¸Å²´Ù. ±×¸®°í tcp_wrapper¸¦ À§ÇÑ ¾î¶² ¼³Á¤Àº ¸Þ¸ð¸® ´©Ãâ±î
Áö ÀÏÀ¸Å³ ¼ö ÀÖ´Ù. ¸¸¾à ¿©·¯ºÐÀÌ tcp_wrapper¸¦ À§ÇØ ÄÄÆÄÀÏ µÈ ypserv¿Í ¹®
Á¦¸¦ ÀÏÀ¸Å³ °æ¿ì, securenet ÆÄÀÏÀ» ÀÌ¿ëÇÏ¿© ´Ù½Ã ±×°ÍÀ» ÄÄÆÄÀÏ ÇÏ¶ó. ypse
rv --version ¸í·ÉÀÌ ¿©·¯ºÐÀÌ ¾î¶² ¹öÀüÀ» °¡Áö°í ÀÖ´ÂÁö °¡¸£ÃÄ ÁÙ °ÍÀÌ´Ù.

¿©·¯ºÐÀÇ ¼­¹ö¸¦ master·Î »ç¿ëÇÏ°í ÀÖ´Ù¸é, NIS¸¦ »ç¿ë °¡´ÉÇÏ°Ô ÇÏ±â À§ÇØ ¾î
¶² ÆÄÀÏÀ» ¿ä±¸ÇÒ °ÍÀÎÁö¸¦ °áÁ¤ÇÏ°í, <tt>/var/yp/Makefile</tt>¿¡ ¸ðµç rule
¿¡ ´ëÇÑ ÀûÀýÇÑ ¿£Æ®¸®µéÀ» Ãß°¡ÇÏ°Å³ª È¤Àº Á¦°ÅÇÏ¶ó. ¿©·¯ºÐÀº Ç×»ó Makefile
À» º¸°í ÆÄÀÏÀÇ ¾ÕºÎºÐÀÇ ¿É¼ÇµéÀ» ¼öÁ¤ÇØ¾ß ÇÑ´Ù.

ypserv 1.1 °ú ypserv 1.2»çÀÌ¿¡´Â ÇÏ³ªÀÇ Å« º¯È­°¡ ÀÖ¾ú´Ù. ¹öÀü 1.2¿¡¼­´Â ÆÄ
ÀÏÀÇ ÇÚµéµéÀÌ Ä³½¬°¡µÈ´Ù. ÀÌ°ÍÀº ¿©·¯ºÐÀÌ »õ·Î¿î mapÀ» ¸¸µé¶§, Ç×»ó -c ¿É¼Ç
À¸·Î makedbmÀ» È£ÃâÇØ¾ßÇÑ´Ù´Â ÀÇ¹ÌÀÌ´Ù. ¿©·¯ºÐÀÌ ypserv 1.2È¤Àº ±× ÀÌÈÄ¹öÀü
¿¡¼­ÀÇ »õ·Î¿î <tt>/var/yp/Makefile</tt>À» »ç¿ëÇÏ´øÁö ¾Æ´Ï¸é, Makefile¿¡¼­ m
akedbmÀ» ÇÏ´Â ºÎºÐ¿¡ -c ÇÃ·¡±×¸¦ Ãß°¡ÇØ Áà¾ßÇÑ´Ù. ÀÌ·¸°Ô ÇÏÁö ¾ÊÀ¸¸é, ypser
v´Â °è¼Ó ÀÌÀüÀÇ mapÀ» »ç¿ëÇÏ°Ô µÇ¾î ¾÷µ¥ÀÌÆ®µÈ mapÀ» »ç¿ëÇÏÁö ¾ÊÀ» °ÍÀÌ´Ù.

ÀÌÁ¦ <tt>/var/yp/securents</tt> ¿Í <tt>/etc/ypserv.conf</tt> ÆÄÀÏÀ» ÀÛ¼ºÇØ¶ó
. º¸´Ù ¸¹Àº Á¤º¸¸¦ À§ÇÏ¿©, ¸Þ´º¾ó ÆäÀÌÁö ypserv(8)°ú ypserv.conf(5) ¸¦ ÂüÁ¶
ÇÏ¶ó.

portmapper (portmap(8))ÀÌ µ¹¾Æ°¡°í ÀÖ´Â °ÍÀ» È®ÀÎÇÏ¶ó. ±×¸®°í ¼­¹öÀÎ <tt>yp
serv</tt>¸¦ ½ÇÇàÇÏ¶ó. ¸í·É

<tscreen><verb>
	% rpcinfo -u localhost ypserv
</verb></tscreen>

À» ½ÇÇàÇÏ¸é ´ÙÀ½°ú ºñ½ÁÇÑ °á°ú¸¦ Ãâ·ÂÇØ¾ß ÇÑ´Ù.

<tscreen><verb>
	program 100004 version 1 ready and waiting
	program 100004 version 2 ready and waiting
</verb></tscreen>

"version 1" ¶óÀÎÀº ypservÀÇ ¹öÀü°ú ¿©·¯ºÐÀÇ confiuration¿¡ µû¶ó¼­ ¾øÀ» ¼ö
µµ ÀÖ´Ù. ÀÌ°ÍÀº ¿©·¯ºÐÀÌ ¿¹ÀüÀÇ SunOS 4.xÀÇ Å¬¶óÀÌ¾ðÆ®ÀÏ ¶§¸¸ ÇÊ¿äÇÏ´Ù.

ÀÌÁ¦ NIS (YP) µ¥ÀÌÅÍº£ÀÌ½º¸¦ »ý¼ºÇÏÀÚ. master»ó¿¡¼­, ´ÙÀ½À» ½ÇÇàÇÏ¶ó.

<tscreen><verb>
	% /usr/lib/yp/ypinit -m
</verb></tscreen>

slave¿¡¼­ <tt>ypwhich -m</tt> ¸í·ÉÀÌ ÀÛµ¿ÇÏ´ÂÁö È®ÀÎÇÏ¶ó. ÀÌ°ÍÀº ¿©·¯ºÐ
ÀÇ slave°¡ ´ÙÀ½ ¸í·ÉÀ» ½ÇÇàÇÏ±âÀü¿¡ NIS Å¬¶óÀÌ¾ðÆ®·Î¼­ configureµÇ¾ß ÇÏ´Â
Áö¸¦ ÀÇ¹ÌÇÑ´Ù. ´ÙÀ½ ¸í·ÉÀº È£½ºÆ®°¡ NIS slave°¡ µÇµµ·Ï ÀÎ½ºÅçÇÑ´Ù.
<tscreen><verb>
	% /usr/lib/yp/ypinit -s masterhost
</verb></tscreen>

¸¸¾à ¿©·¯ºÐ¿¡°Ô ¾î¶² ´õ Å« ¹®Á¦°¡ ÀÖ´Ù¸é, ¼­·Î ´Ù¸¥ xterm¿¡¼­ µð¹ö±× ¸ðµå
·Î <tt>ypserv</tt>¿Í <tt>ypbind</tt>¸¦ ½ÃÀÛÇÒ ¼ö ÀÖ´Ù.
µð¹ö±×ÀÇ Ãâ·ÂÀº ¿©·¯ºÐ¿¡°Ô ¹«¾ùÀÌ Àß¸øµÇ¾ú´ÂÁö¸¦ º¸¿©ÁØ´Ù.

mapÀ» ¾÷µ¥ÀÌÆ®ÇÒ ÇÊ¿ä°¡ ÀÖ´Ù¸é, NIS masterÀÇ <tt>/var/yp</tt> µð·ºÅä¸®¿¡¼­ 
<tt>make</tt>¸¦ ÇØÁØ´Ù. ÀÌ°ÍÀº ¼Ò½º ÆÄÀÏÀÌ »õ·Î¿î °ÍÀÌ¸é »õ·Ó°Ô ¾÷µ¥ÀÌÆ®¸¦ 
ÇØÁÙ °ÍÀÌ°í, slave ¼­¹öµé¿¡°Ô ÆÄÀÏµéÀ» ÀüÇØÁÙ °ÍÀÌ´Ù. mapÀ» ¾÷µ¥ÀÌÆ® ÇÏ´Â
µ¥ <tt>ypinit</tt>¸¦ »ç¿ëÇÏÁö ¸¶¶ó.

*slave ¼­¹ö¿¡¼­* ·çÆ®ÀÇ crontabÀ» ÀÛ¼ºÇÏ±â¸¦ ¿øÇÑ´Ù¸é ´ÙÀ½ ¶óÀÎµéÀ» Ãß°¡ÇÏ¶ó.

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

ÀÌ°ÍÀº master¿¡¼­ ¾÷µ¥ÀÌÆ®°¡ µÈ ½ÃÁ¡¿¡¼­ slave°¡ ´Ù¿îÀÌ µÇ¾î¼­ ¾÷µ¥ÀÌÆ®°¡ 
¾ÈµÈ °æ¿ì¶óµµ ´ëºÎºÐÀÇ NIS mapµéÀÌ ÃÖ±Ù°ÍÀ¸·Î µÇ´Â °ÍÀ» º¸ÀåÇÑ´Ù.

¿©·¯ºÐÀº ³ªÁß ¾ðÁ¦¶óµµ slave¸¦ Ãß°¡ÇÒ ¼ö ÀÖ´Ù. Ã³À½¿¡, »õ·Î¿î slave ¼­¹ö¿¡ 
´ëÇÏ¿© NIS master¿¡ ´ëÇÑ contactÇÒ ±ÇÇÑÀÌ ÀÖ´Ù´Â °ÍÀ» È®ÀÎÇÏ¶ó. ±×¸®°í »õ·Î
¿î slave ¼­¹ö¿¡¼­ ´ÙÀ½À» ½ÇÇàÇÏ¶ó.

<tscreen><verb>
	% /usr/lib/yp/ypinit -s masterhost
</verb></tscreen>

master ¼­¹öÀÇ <tt>/var/yp/ypservers</tt> ¿¡ »õ·Î¿î salve¼­¹ö¸¦ Ãß°¡ÇÏ°í <tt>
/var/yp</tt> µð·ºÅä¸®¿¡¼­ <tt>make</tt>¸¦ ½ÇÇà½ÃÄÑ mapÀ» ¾÷µ¥ÀÌÆ®ÇÏ¶ó.

¿©·¯ºÐÀÇ NIS ¼­¹ö¿¡¼­ »ç¿ëÀÚµé¿¡ ´ëÇÏ¿© Á¢±ÙÁ¦ÇÑÀ» µÎ°í ½Í´Ù¸é, NIS ¼­¹ö¿¡
¼­µµ ypbind¸¦ ½ÇÇà½ÃÅ°°í, /etc/passwd ÆÐ½º¿öµå ÆÄÀÏ Áß°£¿¡ ÇÃ·¯½º ¿£Æ®¸®¸¦ 
Ãß°¡ÇÏ´Â ¹æ¹ýÀ¸·Î ¼¼ÆÃÀ» ÇØÁà¾ß ÇÑ´Ù. ¶óÀÌºê·¯¸® functionµéÀº NIS ¿£Æ®¸® µÚ
¿¡ ¿À´Â ¸ðµç ÀÏ¹Ý ¿£Æ®¸®µéÀº ¹«½ÃÇÑ´Ù. ±×¸®°í NIS¸¦ ÅëÇÏ¿© ±× ´ÙÀ½¿¡ ¿À´Â 
Á¤º¸µéÀ» ÃëÇÑ´Ù. ÀÌ·±¹æ¹ýÀ¸·Î NIS Á¢±Ù ±ÔÄ¢µéÀÌ À¯ÁöµÈ´Ù. ¿¹¸¦ µé¾î:

<tscreen><verb>
	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:/usr/games:
	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
</verb></tscreen>

"tester"¶ó´Â À¯Àú°¡ Á¸ÀçÇÏÁö¸¸, /etc/NoShellÀ» °¡Áö°í ÀÖ´Ù. miquels´Â ÀÏ¹Ý
ÀûÀÎ ¾×¼¼½º¸¦ ÇÒ ¼ö ÀÖ´Ù.

´Ù¸£°Ô, <tt>/var/yp/Makefile</tt>À» °íÃÄ¼­ ´Ù¸¥ ÆÐ½º¿öµå ÆÄÀÏÀ» ¼Ò½º·Î ÀÌ¿ë
ÇÏµµ·Ï NIS¸¦ ¼¼ÆÃÇÒ ¼ö ÀÖ´Ù. ±Ô¸ð°¡ Å« ½Ã½ºÅÛ¿¡¼­´Â NIS ÆÐ½º¿öµå¿Í ±×·ìÆÄÀÏ
µéÀº º¸Åë <tt>/etc/yp/</tt>µð·ºÅä¸®¿¡ ÀúÀåµÇ¾î ÀÖ´Ù. ¿©·¯ºÐÀÌ ÀÌ·¸°Ô ÇÏ±â¸¦ 
¿øÇÑ´Ù¸é <tt>passwd</tt>, <tt>chfn</tt>, <tt>adduser</tt>°°Àº ÀÏ¹ÝÀûÀÎ °ü¸®
ÅøÀº ´õÀÌ»ó ÀÛµ¿ÇÏÁö ¾Ê´Â´Ù. µû¶ó¼­ ÀÌ°ÍµéÀ» À§ÇØ ¾î¶² Æ¯º°ÇÑ ÅøÀ» ¸¸µé¾î¾ß
ÇÑ´Ù.

±×·¸Áö¸¸ <tt>yppasswd</tt>, <tt>ypchsh</tt> ±×¸®°í <tt>ypchfn</tt>ÀÌ ´ë½Å ÀÛ
µ¿ÇÒ °ÍÀÌ´Ù.

<sect1>¼­¹ö ÇÁ·Î±×·¥ yps
<p>
"yps" NIS¼­¹ö¸¦ ¼¼ÆÃÇÒ ¶§, ÀÌÀü ¹®´ÜÀ» ÂüÁ¶ÇÏ±â ¹Ù¶õ´Ù. "yps" ¼­¹ö ¼¼ÆÃÀº ºñ
½ÁÇÏ´Ù. _±×·¸Áö¸¸_ Á¤È®ÇÏ°Ô ÀÏÄ¡ÇÏÁö ¾Ê±â ¶§¹®¿¡ "ypserv" ¸í·ÉÀ» "yps"¿¡ Àû
¿ëÀ» ½ÃµµÇÒ ¶§ °¢º°È÷ Á¶½ÉÇØ¶ó! "yps"´Â ¾î¶² ÀúÀÛÀÚµé·Î ºÎÅÍµµ Áö¿øµÇÁö ¾ÊÀ¸
¸ç, ¾î´À Á¤µµ º¸¾ÈÀÇ Ãë¾àÁ¡À» °¡Áö°í ÀÖ´Ù. ¿©·¯ºÐÀº Á¤¸» ÀÌ°ÍÀ» »ç¿ëÇÏ¸é ¾È
µÈ´Ù!

"yps" NIS ¼­¹ö ¼ÒÇÁÆ®¿þ¾î´Â ´ÙÀ½¿¡¼­ Ã£À» ¼ö ÀÖ´Ù:

<tscreen><verb>
	Site			Directory			File Name

	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
</verb></tscreen>

<sect1>rpc.ypxfrd ÇÁ·Î±×·¥
<p>
rpc.ypxfrd´Â NIS master¿¡¼­ NIS slave¼­¹öµé·Î Àü¼ÛµÇ´Â ¸Å¿ì Å« NIS mapµé¿¡ 
´ëÇÑ Àü¼Û ¼Óµµ¸¦ Çâ»ó½ÃÅ°±â À§ÇÑ °ÍÀÌ´Ù. ¸¸¾à NIS slave°¡ »õ·Î¿î mapÀÇ ³»¿ë
À» °¡Áø ¸Þ½ÃÁö¸¦ ¹Þ¾ÒÀ» ¶§, ÀÌ°ÍÀº »õ·Î¿î mapÀÇ Àü¼ÛÀ» À§ÇØ¼­ ypxfrÀ» ½ÇÇà½Ã
Å³ °ÍÀÌ´Ù. ypxfrÀº yp_all()ÇÔ¼ö¸¦ »ç¿ëÇÏ¿©, master¼­¹ö·ÎºÎÅÍ mapÀÇ ³»¿ëÀ» 
ÀÐÀ» °ÍÀÌ´Ù. ÀÌ ÇÁ·Î¼¼½º´Â µ¥ÀÌÅÍº£ÀÌ½º ¶óÀÌºê·¯¸®¿¡ ÀúÀå µÇ¾î¾ßÇÒ mapÀÌ ±²
ÀåÈ÷ Å« °ÍµéÀÌ¶ó¸é ¸î ºÐ Á¤µµ ¼Ò¿äµÈ´Ù.

rpc.ypxfrd¼­¹ö´Â NIS slave ¼­¹öµé¿¡°Ô °¢°¢µéÀÇ scartch·Î ºÎÅÍ ºôµåÇÏ´Â °Íº¸
´Ù °£´ÜÈ÷ master ¼­¹öÀÇ map ÆÄÀÏµéÀ» º¹»çÇÏ´Â °ÍÀ» Çã¿ëÇÔÀ¸·Î½á Àü¼Û ÇÁ·Î¼¼
½ºÀÇ ¼Óµµ¸¦ Çâ»ó½ÃÅ²´Ù. rpc.ypxfrd´Â RPC±â¹ÝÀÇ ÆÄÀÏ Àü¼Û ±Ô¾àÀ» »ç¿ëÇÑ´Ù. µû
¶ó¼­ ´Ù½Ã »õ·Ó°Ô map ÆÄÀÏÀ» ºôµåÇÏÁö ¾Ê¾Æµµ µÈ´Ù.

rpc.ypxfrd´Â inted¿¡ ÀÇÇØ¼­ ½ÃÀÛµÉ ¼ö ÀÖ´Ù. ÇÏÁö¸¸ ÀÌ°ÍÀº ¸Å¿ì ´Ê°Ô ½ÃÀÛµÉ 
°ÍÀÌ±â ¶§¹®¿¡, ypserv¿Í °°ÀÌ ½ÃÀÛµÇ¾î¾ß ÇÑ´Ù. ¿©·¯ºÐÀº rpc.ypxfrd¸¦ NIS ma
ster¼­¹ö¿¡¼­¸¸ ½ÇÇà½ÃÄÑ¾ß ÇÑ´Ù.

<sect1>rpc.yppasswdd ÇÁ·Î±×·¥
<p>
»ç¿ëÀÚµéÀÌ ±×µéÀÇ ÆÐ½º¿öµå¸¦ ¹Ù²Ü¶§¸¶´Ù, NIS ÆÐ½º¿öµå µ¥ÀÌÅÍº£ÀÌ½º¿Í ±×¿¡ 
ÀÇÁöÇÏ´Â ´Ù¸¥ NIS µ¥ÀÌÅÍº£ÀÌ½ºµéÀº ¾÷µ¥ÀÌÆ® µÇ¾î¾ß ÇÑ´Ù. "rpc.yppasswdd"ÇÁ
·Î±×·¥Àº ÆÐ½º¿öµåÀÇ º¯°æÀ» ´Ù·ç°í NIS Á¤º¸µéÀÌ ÀûÀýÇÏ°Ô ¾÷µ¥ÀÌÆ® µÇµµ·Ï ÇÏ
°Ô ÇÏ´Â ¼­¹öÀÌ´Ù. rpc.yppasswd ´Â ÇöÀç ypserv¿¡ ÅëÇÕµÇ¾î ÀÖ´Ù. ¿©·¯ºÐÀº µû
¶ó¼­ ºÐ¸®µÇ¾ú´ø ¿¾³¯ÀÇ yppasswd-0.9.tar.gz È¤Àº yppasswd-0.10.tar.gz¸¦ ÇÊ
¿ä·ÎÇÏÁö ¾Ê´Â´Ù. ±×¸®°í ´õÀÌ»ó ±×°ÍÀ» »ç¿ëÇÏ¸é ¾ÈµÈ´Ù. ypserv 1.3.2¿¡ ÀÖ´Â 
rpc.yppasswdd´Â shadowÀÇ ¸ðµç °ÍÀ» Áö¿øÇÑ´Ù. yppasswd´Â ÀÌÁ¦ yp-tools-2.2.
tar.gzÀÇ ºÎºÐÀÌ´Ù.

¿©·¯ºÐÀº NIS master¼­¹ö¿¡¼­¸¸ rpc.yppasswdd¸¦ ½ÇÇà½ÃÅ°¸é µÈ´Ù. ±âº»ÀûÀ¸·Î, 
»ç¿ëÀÚµéÀº ±×µéÀÇ ¿ÏÀüÇÑ ÀÌ¸§ÀÌ³ª ·Î±ä ½©À» ¹Ù²ÙÁö ¸øÇÏµµ·Ï µÇ¾îÀÖ´Ù. ¿©·¯
ºÐÀº -e chfn È¤Àº -e chsh¿É¼ÇÀ¸·Î ÀÌ°ÍÀ» °¡´ÉÇÏ°Ô ÇÒ ¼ö ÀÖ´Ù.

¸¸¾à ¿©·¯ºÐÀÇ passwd¿Í shadowÆÄÀÏµéÀÌ ´Ù¸¥ µð·ºÅä¸® ¸»°í /etc¿¡ ÀÖ´Ù¸é, ¿©·¯
ºÐÀº -D ¿É¼ÇÀ» Ãß°¡ÇÏ¸é µÈ´Ù. ¿¹¸¦ µé¾î ¸ðµç ¼Ò½º ÆÄÀÏµéÀ» /etc/yp¿¡ ÀÖ°í 
»ç¿ëÀÚµéÀÌ ±×µéÀÇ ½©À» ¹Ù²Ù´Â °ÍÀ» Çã¿ëÇÏ°Ô ÇÑ´Ù¸é, rpc.yppasswdd¸¦ ´ÙÀ½°ú °°
Àº ÆÄ¶ó¹ÌÅÍ¿Í ÇÔ²² ½ÇÇà½ÃÅ°¸é µÈ´Ù.

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

È¤Àº

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

´õÀÌ»ó ÇÒ°ÍÀÌ ¾ø´Ù. ¿©·¯ºÐÀº ´ÜÁö <tt>rpc.yppasswdd</tt>°¡ <tt>/var/yp/Make
file</tt>¿¡¼­ »ç¿ëÇÏ´Â °°Àº ÆÄÀÏÀ» »ç¿ëÇÑ´Ù´Â °Í¸¸ È®½ÇÈ÷ ÇØ µÎ¸é µÈ´Ù. ¿¡
·¯´Â syslog¿¡ ÀÇÇØ ±â·ÏµÉ °ÍÀÌ´Ù.

<sect>NIS/NYS ÀÎ½ºÅç È®ÀÎÇÏ±â

<p>
¸ðµç°ÍÀÌ Àß µÇ¾ú´Ù¸é(²À ±×·¡¾ß µÇ´Â °ÍÃ³·³), ¿©·¯ºÐÀº °£´ÜÇÑ ¸í·ÉÀ¸·Î ¿©·¯ºÐ
ÀÇ ÀÎ½ºÅçÀ» ÇÑ°ÍÀ» °ËÁõÇÒ ¼ö ÀÖ¾î¾ßÇÑ´Ù. ¿¹¸¦ µé¾î, ¿©·¯ºÐÀÇ passwdÆÄÀÏÀÌ 
NIS¿¡ ÀÇÇØ Á¦°øµÈ´Ù°í °¡Á¤ÇÏ°í ¸í·É¾îÀÎ

<tscreen><verb>
	% ypcat passwd
</verb></tscreen>

´Â NIS passwd ÆÄÀÏÀÇ ³»¿ëÀ» Á¦°øÇØ Áà¾ß ÇÑ´Ù. ¸í·É¾îÀÎ

<tscreen><verb>
	% ypmatch userid passwd
</verb></tscreen>

(userid´Â ¾î¶² À¯ÀúÀÇ ·Î±ä ÀÌ¸§ÀÌ´Ù.)Àº NIS ÆÐ½º¿öµå ÆÄÀÏ¿¡ ÀÖ´Â À¯ÀúµéÀÇ 
¿£Æ®¸®¸¦ Á¦°øÇØ ÁÖ¾î¾ß ÇÑ´Ù. "ypcat"°ú "ypmatch" ÇÁ·Î±×·¥Àº ¿©·¯ºÐÀÇ ÀüÅë
ÀûÀÎ NIS È¤Àº NYS¹èÆ÷ÆÇ¿¡ Æ÷ÇÔµÇ¾î ÀÖ´Ù.

¸¸¾à ¾î¶² À¯Àú°¡ ·Î±ä ÇÒ ¼ö ¾øÀ» °æ¿ì, ´ÙÀ½°ú °°Àº ÇÁ·Î±×·¥À» Å¬¶óÀÌ¾ðÆ®¿¡
¼­ ½ÇÇà½ÃÄÑ º¸¶ó.

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

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

    if(argc != 2)
      {
	fprintf(stderr,"Useage: 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..: [%s]\n",pwd->pw_uid);
	printf("group id.: [%s]\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);
}

</verb></tscreen>
À¯Àú ÀÌ¸§ÀÇ ÆÄ¶ó¹ÌÅÍ¿Í ÇÔ²² ÀÌ ÇÁ·Î±×·¥À» ½ÇÇà½ÃÅ°¸é, ÀÌ À¯Àú¿¡ ´ëÇÑ getpw
namÇÔ¼ö°¡ ¾Ë·ÁÁÙ ¼ö ÀÖ´Â ¸ðµç Á¤º¸µéÀ» Ãâ·ÂÇÑ´Ù. ÀÌ°ÍÀº ¿©·¯ºÐ¿¡°Ô ¾î¶² ¿£
Æ®¸®°¡ Àß¸ø µÇ¾ú´ÂÁö ¾Ë·ÁÁÙ °ÍÀÌ´Ù. °¡Àå ÀÏ¹ÝÀûÀÎ ¹®Á¦´Â, ÆÐ½º¿öµå ÇÊµå°¡ 
"*"¿Í ÇÔ²² Áßº¹µÈ °æ¿ìÀÌ´Ù.

GNU C ¶óÀÌºê·¯¸® 2.1 (glibc 2.1)ÀÌ getent¶ó°í ºÒ¸®´Â Åø°ú °°ÀÌ ³ª¿Â´Ù. ¾Æ
±î °°Àº ¹®Á¦°¡ ÀÖ´ø ½Ã½ºÅÛ¿¡¼­ À§ÀÇ °Í ´ë½Å ÀÌ ÇÁ·Î±×·¥À» »ç¿ëÇÏ¶ó. ´ÙÀ½°ú 
°°ÀÌ ÇÒ ¼ö ÀÖ´Ù.
<tscreen><verb>
	getent passwd
</verb></tscreen>

È¤Àº
<tscreen><verb>
	getent passwd login
</verb></tscreen>

<sect>ÀÏ¹ÝÀûÀÎ ¹®Á¦µé°ú ÇØ°á

<p>
¿©±â¿¡ ´Ù¾çÇÑ »ç¿ëÀÚµé·Î ºÎÅÍ ¾Ë·ÁÁø ÀÏ¹ÝÀûÀÎ ¹®Á¦µéÀÌ ¸î°¡Áö ÀÖ´Ù.

<enum>

<item>¹öÀü 4.5.19¸¦ À§ÇÑ ¶óÀÌºê·¯¸®´Â ¸Á°¡Á³´Ù. NIS´Â ÀÌ°ÍÀ¸·Î ÀÛµ¿ÇÏÁö ¾Ê
	´Â´Ù.

<item>¹öÀü 4.5.19¿¡¼­ 4.5.24·Î ¶óÀÌºê·¯¸®¸¦ ¾÷±×·¹ÀÌµå ÇÏ´Â °æ¿ì su ¸í·É¾î
	°¡ ¸Á°¡Áø´Ù. ¿©·¯ºÐÀº slackware 1.2.0 ¹èÆ÷ÆÇÀ¸·ÎºÎÅÍ su ¸í·É¾î¸¦ ¾ò
	À¸¸é µÈ´Ù. µ¡ºÙ¿© ¸»ÇÏ¸é, ±×°ÍÀÌ ¾÷µ¥ÀÌÆ®µÈ ¶óÀÌºê·¯¸®µéÀ» ¾òÀ» ¼ö 
	ÀÖ´Â °÷ÀÌ´Ù.

<item>NIS ¼­¹ö°¡ Á×¾ú´Âµ¥ ypbind¿¡¼­ ´ÙÀ½°ú °°Àº ¸Þ½ÃÁö°¡ ³ª¿Ã °æ¿ì°¡ ÀÖ´Ù.

	<verb>
	yp_match: client_call:
			RPC: Unable to receive: errno = Connection refused

	±×¸®°í´Â NIS µ¥ÀÌÅÍº£ÀÌ½º¿¡ µî·ÏµÈ »ç¿ëÀÚµéÀÌ ·Î±äÇÒ ¼ö ¾ø´Â °æ¿ì
	°¡ ÀÖ´Ù. ÀÌ·²¶§ root·Î ·Î±äÀ» ½ÃµµÇÏ°í ypbind¸¦ Á×ÀÎ´ÙÀ½ ´Ù½Ã ½ÇÇà
	½ÃÄÑ¶ó. ±×¸®°í ypbind¸¦ 3.3 È¤Àº ±× ÀÌ»ó¹öÀüÀ¸·Î ¾÷µ¥ÀÌÆ®ÇÏ´Â °Íµµ 
	µµ¿òÀÌ µÉ °ÍÀÌ´Ù.

<item>libc¸¦ 5.4.20ÀÌ»óÀ¸·Î ¾÷±×·¹ÀÌµå¸¦ ÇÏ¸é, YP ÅøµéÀº ´õÀÌ»ó ÀÛµ¿ÇÏÁö ¾Ê
	À» °ÍÀÌ´Ù. libc >= 5.4.21 ¹öÀü°ú glibc 2.x¹öÀüÀº yp-tools 1.2 ÀÌ»ó
	À» ¿ä±¸ÇÑ´Ù. ÀÌÀü ¹öÀüÀÇ libc¸¦ À§ÇØ¼­´Â yp-clients 2.2 °¡ ÇÊ¿äÇÏ´Ù
	. yp-tools 2.x´Â ¸ðµç ¶óÀÌºê·¯¸®¿¡¼­ Àß ÀÛµ¿ÇÑ´Ù.

<item>libc 5.4.21 - 5.4.35 yp_maplist´Â ¸Á°¡Á³´Ù. 5.4.36 ÀÌÈÄ ¹öÀüÀÌ ÇÊ¿äÇÏ
	´Ù. ±×·¸Áö ¾ÊÀ» °æ¿ì ypwhich°°Àº YP ÇÁ·Î±×·¥µéÀº segfault¸¦ ÀÏÀ¸Å³ 
	°ÍÀÌ´Ù.

<item>ÀüÅëÀûÀÎ NIS¿Í ÇÔ²² ¾²ÀÌ´Â libc 5´Â NIS¸¦ ÅëÇÑ ½¦µµ¿ì ÆÐ½º¿öµå¸¦ Áö
	¿øÇÏÁö ¾Ê´Â´Ù. ÀÌ°ÍÀ» À§ÇØ¼­´Â libc + NYS È¤Àº glibc 2.x°¡ ÇÊ¿äÇÏ´Ù.

<item>ypcat shadow´Â ½¦µµ¿ì mapÀ» º¸¿©ÁÖÁö ¸øÇÑ´Ù. ÀÌ°ÍÀº ¿ÇÀº °ÍÀ¸·Î ½¦µµ
	¿ì mapÀÇ ÀÌ¸§Àº shadow.bynameÀÌÁö shadow°¡ ¾Æ´Ï´Ù.

<item>¼Ö¶ó¸®½º(Solaris)´Â Ç×»ó Æ¯±ÇÀ» °¡Áø Æ÷Æ®¸¦ »ç¿ëÇÏÁö ¾Ê´Â´Ù. µû¶ó¼­ 
	¼Ö¶ó¸®½º Å¬¶óÀÌ¾ðÆ®¸¦ °¡Áö°í ÀÖ´Â °æ¿ì, ÆÐ½º¿öµå¸¦ ºÐ¸®ÇÏÁö ¸»±â
	¸¦ ¹Ù¶õ´Ù.

</enum>

<sect>ÀÚÁÖ Áú¹®µÇ´Â °Íµé(FAQ)

<p>
ÀÌÁ¦±îÁö ´ëºÎºÐÀÇ Áú¹®µéÀº ´äÇØÁ³´Ù. ¿©ÀüÈ÷ ÇØ°áµÇÁö ¾ÊÀº ÀÇ¹®Á¡ÀÌ ³²¾ÆÀÖ
´Ù¸é ´ÙÀ½ ´º½º±×·ì¿¡ ±Ã±ÝÁßÀ» Àû¾î ³õÀ¸¸é µÈ´Ù.

<tscreen><verb>
	comp.os.linux.networking
</verb></tscreen>
</article>
