| ||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
D.M.Z
CONTENT
PRE
NEXT
10.1 Getting Acquainted with NIS ´ç½ÅÀÌ LANÀ» ¿î¿µÇÑ´Ù°í ÇÒ ¶§, ÀϹÝÀûÀÎ ÃÖÁ¾ ¸ñÇ¥´Â À¯Àúµé¿¡°Ô Åõ¸íÇÑ ³×Æ®¿÷ ȯ°æÀ» Á¦°øÇÏ´Â °ÍÀÌ´Ù. À̸¦ À§ÇÑ Áß¿äÇÑ ¹ßÆÇÀº À¯Àú °èÁ¤ Á¤º¸°ú °°Àº ÇÙ½É µ¥ÀÌÅ͸¦ À¯ÁöÇÏ´Â ÀÏÀÌ´Ù. ¿ì¸®´Â ÀÌÀü¿¡, hostname resolutionÀ» À§Çؼ °·ÂÇÏ°íµµ º¹ÀâÇÑ DNS¼º½º°¡ Á¸ÀçÇÑ´Ù´Â °ÍÀ» º» ¹Ù ÀÖ´Ù. ±× ¿ÜÀÇ ÀÏÀ»À» À§ÇÑ Æ¯Á¤ ¼ºñ½º´Â Á¸ÀçÇÏÁö ¾Ê´Â´Ù. °Ô´Ù°¡ ´ç½ÅÀÌ ±×Àú ÀÎÅͳݿ¡ ¿¬°áµÇÁö ¾ÊÀº ¼Ò±Ô¸ð LANÀ» ¿î¿µÇÏ·Á ÇÒ ¶§, DNS´Â °ü¸®»óÀÇ ¹®Á¦¸¦ °í·ÁÇÏÀÚ¸é ±×¸® À¯¿ë¼º ÀÖ°Ô º¸ÀÌÁö ¾Ê´Â´Ù. ÀÌ°ÍÀÌ ¹Ù·Î Sun¿¡¼ NIS(Network Information System)¸¦ °³¹ßÇÑ ÀÌÀ¯ÀÌ´Ù. NIS´Â, passwd¿Í groupÆÄÀÏÀÇ ³»¿ë°ú °°Àº Á¤º¸¸¦ ´ç½ÅÀÇ ³×Æ®¿÷ »ó¿¡ ÀÖ´Â ¸ðµç È£½ºÆ®¿¡ ¹èÆ÷(distribute)Çϴµ¥ »ç¿ëÇÏ´Â ÀϹÝÀûÀÎ µ¥ÀÌÅÍ º£À̽º ¾ï¼¼½º ±â´ÉÀ» Á¦°øÇÑ´Ù. ÀÌ´Â ¸ðµç È£½ºÆ®¿¡ µ¿ÀÏÇÑ °èÁ¤À» °¡Áö°ÔÇÏ¿© ³×Æ®¿÷ÀÌ ¸¶Ä¡ ´ÜÀÏ ½Ã½ºÅÛó·³ º¸ÀÌ°Ô ÇÑ´Ù. ÀÌ¿Í ºñ½ÁÇÏ°Ô, È£½ºÆ®³×ÀÓ Á¤º¸ ¿ª½Ã NIS¸¦ »ç¿ëÇÏ¿© /etc/hostsÆÄÀÏ¿¡¼ ³×Æ®¿÷ »óÀÇ ¸ðµç ¸Ó½Å¿¡°Ô ¹èÆ÷ÇÒ ¼ö ÀÖ´Ù. NIS´Â RPC¸¦ ±â¹ÝÀ¸·Î ÇÏ°í, ¼¹ö¿Í Ŭ¶óÀ̾ðÆ® Ãø ¶óÀ̺귯¸®, ±×¸®°í ¸î°¡Áö °ü¸®¿ë Åø·Î ÀÌ·ç¾îÁ® ÀÖ´Ù. ¿ø·¡, NIS´Â Yellow Pages, ÁÙ¿©¼ YP¶ó°í ºÒ¸®´Âµ¥, ÀÌ´Â ÀÌ ¼ºñ½º¸¦ ºñ°ø½ÄÀûÀ¸·Î ÁöĪÇÒ ¶§ ¸¹ÀÌ ¾²ÀÌ´Â À̸§ÀÌ´Ù. ¹Ý¸é, Yellow Pages´Â British TelecomÀÇ Æ®·¹ÀÌµå ¸¶Å©À̸ç, Sun Ãø¿¡ ±× À̸§À» Æ÷±âÇÒ °ÍÀ» ¿ä±¸ÇÏ°í ÀÖ´Ù. ¹¹ ´Ù ±×·¸µíÀÌ, ÀÌ¹Ì »ç¶÷µé ÀÔ¿¡ ºÙ¾î¹ö¸° YP´Â NIS¿¡ ¿¬°üµÇ Ä¿¸Çµå, Áï ypserv, ypbindµî°ú °°Àº °ÍµéÀÇ Á¢µÎ¾î·Î ³²°ÔµÇ¾ú´Ù. ¿À¸¦³¯ NIS´Â °ÅÀÇ ¸ðµç Uniceµé¿¡¼ »ç¿ëÇÒ ¼ö ÀÖÀ¸¸ç, ¹«·á implementation ¸¶Àúµµ ³ª¿Í ÀÖ´Ù. ÇÏ´À´Â BSD Net-2 ¸±¸®Áî¿¡¼ À¯·¡ÇÑ °ÍÀ¸·Î, SunÀÌ ±âÁõÇÑ Publiv domain reference implementationÀ» °è½ÂÇÑ °ÍÀÌ´Ù. ÃÖ±Ù¿¡¾ß NIS °ü¸®¿ë ÇÁ·Î±×·¥ÀÌ Swen Thu:mmler¿¡ÀÇÇØ ¸®´ª½º·Î Æ÷ÆÃµÈ °Í°ú´Â ´ëÁ¶ÀûÀ¸·Î, ÀÌ ¸±¸®ÁîÀÇ ¶óÀ̺귯¸® Ŭ¶óÀ̾ðÆ® ÄÚµå´Â ¿À·¡ÀüºÎÅÍ GNU libc¿¡ ³»ÀçµÇ¾î ÀÖ¾ú´Ù. reference implementation¿¡¼´Â NIS ¼¹ö°¡ Á¦¿ÜµÇ¾î ÀÖ¾úÀ¸³ª, Tobias Reber°¡ ¸ðµç Åø°ú ¼¹ö¸¦ Áö´Ñ »õ·Î¿î NIS ÆÐÅ°Áö¸¦ ¸¸µé¾úÀ¸¸ç, À̸¦ yps¶ó ºÎ¸¥´Ù. ÇöÀç, Peter Eriksson¿¡ ÀÇÇØ ¿ÏÀüÈ÷ Àç ÄÚµùµÈ NIS ÄÚµå´Â NYS¶ó ºÒ¸®¸ç, º¸ÅëÀÇ NIS¿Í, SunÀÌ Á» ´õ ¼öÁ¤À» °¡ÇÑ NIS+¸¦ ¸ðµÎ Áö¿øÇÑ´Ù. NYS´Â NIS Åø¼Â°ú ¼¹ö¸¦ Áö¿øÇÒ »Ó ¾Æ´Ï¶ó ¾ðÁ¨°¡´Â Ç¥ÁØ libc¿¡ ³»ÀçµÉ »õ·Î¿î ¶óÀ̺귯¸® ÇÔ¼ö°¡ Ãß°¡µÈ °ÍÀÌ´Ù. ÀÌ´Â ÇöÀç hostname resolutionÀ» ÇϱâÀ§ÇØ host.conf¸¦ »ç¿ëÇÏ´Â ±¸Á¶ ´ë½Å, »õ·Î¿î ¼³Á¤ ±¸Á¶¸¦ Áö´Ñ´Ù. ÀÌ ±â´É¿¡ ´ëÇؼ± ³ªÁß¿¡ ³íÀÇÇÒ °ÍÀÌ´Ù. ÀÌ ÀåÀº "ÀüÅëÀûÀÎ" NIS ÄÚµå¶ó ¸»ÇÏ´Â, ´Ù¸¥ µÎ ÆÐÅ°Áö º¸´Ù´Â NYS¿¡ ÁßÁ¡À» µÐ´Ù. ¸¸¾à ±× µÎ ÆÐÅ°Áö Áß Çϳª¸¦ »ç¿ëÇÏ°íÀÚ ÇÑ´Ù¸é ÀÌ ÀåÀÇ ¼³¸íÀº ÃæºÐÇÒ ¼öµµ, ºÒÃæºÐÇÒ ¼öµµ ÀÖ´Ù. Ãß°¡ÀûÀÎ Á¤º¸¸¦ ¾ò±âÀ§Çؼ± Hal SternÀÇ NFS and NIS([Stern92]¸¦ º¸¶ó)¿Í °°Àº NIS¿¡ ´ëÇÑ ¼ÀûÀ» Âü°íÇ϶ó. NYS´Â ¾ÆÁ÷ °³¹ß ÁßÀ̸ç, ³×Æ®¿÷ ÇÁ·Î±×·¥À̳ª login ÇÁ·Î±×·¥°°Àº Ç¥ÁØ ¸®´ª½º À¯Æ¿¸®Æ¼¿¡µµ NYS ¼³Á¤±¸Á¶°¡ ¹Ý¿µµÇÁö ¾Ê¾Ò´Ù. NYS°¡ main streamÀ̶óÇÒ ¼ö ÀÖ´Â libc¿¡ Æ÷ÇԵDZâ Àü±îÁö´Â, ±×°ÍÀ» »ç¿ëÇϱâÀ§ÇØ ÀÌ ¸ðµç ¹ÙÀ̳ʸ®µéÀ» Àç ÄÄÆÄÀÏ ÇؾßÇÑ´Ù. ÀÌ·¯ÇÑ ¾îÇø®ÄÉÀ̼ÇÀÇ Makefile¿¡, libc¾Õ¿¡ -lnslÀ» ¸¶Áö¸· ¿É¼ÇÀ¸·Î linker¿¡ ÁöÁ¤Ç϶ó. ÀÌ°ÍÀº Ç¥ÁØ C ¶óÀ̺귯¸®´ë½Å NYS ¶óÀ̺귯¸®ÀÎ libnsl¿¡¼ ÀûÀýÇÑ °ü·ÃÇÔ¼ö¸¦ ¸µÅ©½ÃŲ´Ù.
10.1 Getting Acquainted with NIS NIS´Â key°ªÀ» Áö´Ñ map ³»¿¡ µ¥ÀÌÅͺ£À̽º Á¤º¸¸¦ º¸Á¸ÇÑ´Ù. mapÀº NIS ¼¹ö¸¦ µ¹¸®´Â ¼¹ö¿¡ ÀúÀåµÇ¸ç, Ŭ¶óÀ̾ðÆ®´Â RPC ÄÝÀ» ÅëÇØ ±×°ÍÀ» ¾ò¾î³½´Ù. mapÀº DBM Çü½ÄÀÇ ÆÄÀÏ·Î ÀúÀåµÈ´Ù. map ÀÚü´Â º¸Åë, /etc/hosts³ª /etc/passwd °°Àº ¸¶½ºÅÍ ÅؽºÆ® ÆÄÀÏ¿¡¼ »ý¼ºµÈ´Ù. ¸î°¡Áö ÆÄÀÏÀ» À§ÇØ, °¢ search key ŸÀÔº°·Î Çϳª¾¿, ¸î°³ÀÇ mapÀÌ »ý¼ºµÈ´Ù. ¿¹¸¦ µé¾î, ´ç½ÅÀº È£½ºÆ®³×ÀÓÀ» ¾ò±âÀ§Çؼ, ±×¸®°í IP ÁÖ¼Ò¸¦ ¾ò±âÀ§ÇØ hosts ÆÄÀÏÀ» °Ë»öÇÒ ¼ö ÀÖ´Â °ÍÀÌ´Ù. µû¶ó¼ ±×°Í¿¡¼´Â µÎ°³ÀÇ NIS map, Áï hosts.byname°ú hosts.byaddrÀ̶ó´Â °ÍÀ» °¢°¢ ¾ò¾î³½´Ù. Ç¥ 10.1Àº ÀϹÝÀûÀÎ map°ú ±×°ÍÀ» »ý¼ºÇÏ´Â ÆÄÀÏÀ» º¸¿©ÁØ´Ù.
Ç¥ 10.1 : ¸î°¡Áö Ç¥ÁØ NIS map°ú ±×¿¡ »óÀÀÇÏ´Â ÆÄÀÏ ±× ¿Ü¿¡µµ ´Ù¸¥ NIS ÆÐÅ°Áö¿¡¼ Áö¿øµÇ´Â ÆÄÀÏ°ú mapÀ» ¹ß°ßÇÒ ¼öµµ ÀÖÀ»°ÍÀÌ´Ù. À̵鿣 ÀÌ Ã¥¿¡¼ ³íÀÇÇÏÁö ¾Ê´Â, °¡·É BOOTP ¼¹ö°¡ »ç¿ëÇÏ´Â bootparams mapÀ̳ª ÇöÀç ¸®´ª½º¿¡¼ Áö¿øÇÏÁö ¾Ê´Â ±â´É(ethers.byname°ú ethers.byaddr°°Àº)ÀÇ ¾îÇø®ÄÉÀ̼ǿ¡ ´ëÇÑ Á¤º¸¸¦ Æ÷ÇÔÇÒ ¼ö ÀÖ´Ù. ¸î°¡Áö map¿¡ ´ëÇؼ »ç¶÷µéÀº nicknameÀ» »ç¿ëÇϴµ¥, À̵éÀº ´ë°³ ª°í ŸÀÌÇÎÇϱ⠽¬¿î °ÍµéÀÌ´Ù. NIS Åø¿¡ Çؼ®µÇ´Â ¸ðµç nicknameÀÇ ¸ñ·ÏÀ» ¿øÇÑ´Ù¸é ´ÙÀ½ÀÇ Ä¿¸Çµå¸¦ ½ÇÇàÇ϶ó.
$ ypcat -x NIS map nickname translation table: "passwd" -> "passwd.byname" "group" -> "group.byname" "networks" -> "networks.byaddr" "hosts" -> "hosts.byname" "protocols" -> "protocols.bynumber" "services" -> "services.byname" "aliases" -> "mail.aliases" "ethers" -> "ethers.byname" "rpc" -> "rpc.bynumber" "netmasks" -> "netmasks.byaddr" "publickey" -> "publickey.byname" "netid" -> "netid.byname" "passwd.adjunct" -> "passwd.adjunct.byname" "group.adjunct" -> "group.adjunct.byname" "timezone" -> "timezone.byname" NIS ¼¹ö´Â ´ë´ë·Î ypserv¶ó ºÒ¸°´Ù. Æò±ÕÀûÀÎ ³×Æ®¿÷¿¡¼´Â º¸Åë ÇϳªÀÇ ¼¹ö¸¸À¸·Î Á·Çϳª, º¸´Ù Å« ±Ô¸ðÀÇ ³×Æ®¿÷¿¡¼´Â ´Ù¸¥ ¸Ó½Å°ú ´Ù¸¥ ³×Æ®¿÷ ¼¼±×¸ÕÆ®¿¡¼ À̵éÀ» µ¹·Á, ¼¹ö ¸Ó½Å°ú ¶ó¿ìÅÍÀÇ ·Îµå¸¦ °æ°¨½Ãų ¼ö ÀÖ´Ù. ÀÌµé ¼¹ö´Â ±× Áß Çϳª¸¦ ¸¶½ºÅÍ ¼¹ö·Î ¸¸µé°í ±× ¿ÜÀÇ °ÍµéÀ» ½½·¹ÀÌºê ¼¹ö·Î ÇÔÀ¸·Î½á µ¿±âȵȴÙ. mapÀº ¸¶½ºÅÍ ¼¹öÀÇ È£½ºÆ®¿¡¼¸¸ ¸¸µé¾îÁö°í, ÀÌ´Â ¸ðµç ½½·¹À̺꿡 ¹èºÐµÈ´Ù. ¿ì¸®°¡ Ç×»ó "³×Æ®¿÷"À̶ó´Â °Í¿¡ °üÇØ ¾ÆÁÖ ¸ðÈ£ÇÏ°Ô ¾ê±âÇÑ´Ù´Â °ÍÀ» ´À³¥ °ÍÀÌ´Ù. ¹°·Ð NIS¿¡¼, NIS¸¦ ÅëÇØ ½Ã½ºÅÛ ¼³Á¤ÀÇ ÀϺθ¦ °øÀ¯ÇÏ´Â ¸ðµç È£½ºÆ®ÀÇ ÁýÇÕÀ» °¡¸®Å°´Â, ¸í·áÇÑ °³³äÀÇ ³×Æ®¿÷ÀÎ NIS domainµµ Á¸ÀçÇÑ´Ù. ºÒÇàÇÏ°Ôµµ NIS µµ¸ÞÀÎÀº DNS°ú´Â ¾Æ¹«·± °ü·ÃÀÌ ¾ø´Ù. ÀÌ Àå¿¡¼ ¸ðÈ£¼ºÀ» ÇÇÇϱâÀ§ÇØ, ÀǹÌÇÏ°íÀÚ ÇÏ´Â µµ¸ÞÀÎÀÇ Á¾·ù¸¦ ¾ðÁ¦³ª Á¤È®È÷ Ç¥±âÇÒ °ÍÀÌ´Ù. NIS µµ¸ÞÀÎÀº ¿ÀÁ÷ ¼ø¼öÇÏ°Ô °ü¸®ÀûÀÎ ±â´É¸¸À» °¡Áö°í ÀÖ´Ù. µµ¸ÞÀÎ ³»ÀÇ Æнº¿öµå¸¦ °øÀ¯ÇÏ´Â ¸ðµç È£½ºÆ®¿Ü¿¡, ±×°ÍÀº À¯Àú¿¡°Ô ÀÖ¾î ÀüÇô ½Å°æ¾µ ÇÊ¿ä°¡ ¾ø´Â °ÍÀ̸ç, NIS µµ¸ÞÀÎÀ¸·Î ÁÖ¾îÁø À̸§Àº ¿ÀÁ÷ °ü¸®ÀÚ¿¡°Ô¸¸ »ó°üÀÖ´Â °ÍÀÌ´Ù. º¸Åë, ´ç½ÅÀÇ ·ÎÄà ³×Æ®¿÷¿¡ ±×¿Í °°Àº À̸§ÀÇ NIS µµ¸ÞÀÎÀÌ Á¸ÀçÇÏÁö ¾Ê´Â´Ù¸é ¾î¶² À̸§µµ »ç¿ëÇÒ ¼ö ÀÖ´Ù. ¿¹¸¦ µé¾î, Virtual BreweryÀÇ °ü¸®ÀÚ´Â, BreweryÀڽſ¡ ´ëÇÑ brewery, ±×¸®°í Winery¿¡ ´ëÇÑ winery¶ó´Â µÎ°³ÀÇ NIS µµ¸ÞÀÎÀ» »ý¼ºÇÒ ¼ö ÀÖ´Ù. Åë»óÀûÀ¸·Î, DNS µµ¸ÞÀγ×ÀÓÀ» NIS µµ¸ÞÀÎ ³×ÀÓÀ¸·Î ´Ü¼øÈ÷ »ç¿ëÇϱ⵵ ÇÑ´Ù. ´ç½Å È£½ºÆ®ÀÇ NIS µµ¸ÞÀγ×ÀÓÀ» ¼³Á¤Çϰųª Ç¥½ÃÇÏ·ÁÇÒ ¶§ domainname Ä¿¸Çµå¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù. ÀÎÀÚ¸¦ ÁÖÁö ¾Ê°í ½ÇÇàÇϸé ÇöÀç NIS µµ¸ÞÀÎ ³×ÀÓÀ» Ãâ·ÂÇÑ´Ù. µµ¸ÞÀÎ ³×ÀÓÀ» ÁöÁ¤Çϱâ À§Çؼ± ¼öÆÛÀ¯Àú°¡µÇ¾î ´ÙÀ½À» ÀÔ·ÂÇ϶ó.
# domainname brewery NIS µµ¸ÞÀÎÀº ¾îÇø®ÄÉÀ̼ÇÀÌ queryÇÒ NIS ¼¹ö¸¦ °áÁ¤ÇÏ´Â ±¸½ÇÀ» ÇÑ´Ù. ¿¹¸¦ µé¾î, Winery¿¡ Àִ ȣ½ºÆ®ÀÇ login À¯ÀúÀÇ Æнº¿öµå Á¤º¸¸¦ ¾ò±âÀ§ÇØ ÇÁ·Î±×·¥Àº ´ç¿¬È÷ WineryÀÇ NIS ¼¹ö¿¡¸¸(¸¸¾à ¿©·¯°³¶ó¸é, ±×Áß Çϳª¿¡) queryÇÑ´Ù. ÇÑÆí, Brewery È£½ºÆ®ÀÇ ¾îÇø®ÄÉÀ̼ÇÀº BreweryÀÇ ¼¹ö¿¡°Ô¸¸ queryÇÑ´Ù. ÇØ°áÇؾßÇÒ ¹Ì½ºÅ͸®°¡ Àִµ¥, Áï Ŭ¶óÀ̾ðÆ®°¡ ¾î´À ¼¹ö¿¡ Á¢¼ÓÇؾßÇÏ´ÂÁö¸¦ ¾î¶»°Ô ã¾Æ ³¾ ¼ö Àִñî ÇÏ´Â °ÍÀÌ´Ù. °¡Àå ´Ü¼øÇÑ ½Ãµµ´Â ¼³Á¤ÆÄÀÏÀ» »ç¿ëÇÏ¿© ¾î¶² ¼¹ö¸¦ ãÀ»Áö¸¦ ¾Ë·ÁÁÖ´Â °ÍÀÌ´Ù. ±×·¯³ª ÀÌ ¹æ¹ýÀº ´Ù¼Ò À¶Å뼺 ¾ø´Â °ÍÀ¸·Î, ¿Ö³ÄÇϸé Ŭ¶óÀ̾ðÆ®°¡ ¼¹öÀÇ »ç¿ë°¡´É¼º¿¡ µû¶ó ´Ù¸¥ ¼¹ö¸¦ (¹°·Ð °°Àº µµ¸ÞÀÎÀÇ) ¼±ÅÃÇÏ¿© »ç¿ëÇÏ´Â°Ô Çã¿ëµÇÁö ¾Ê±â ¶§¹®ÀÌ´Ù. µû¶ó¼ ÀüÅëÀûÀÎ NIS implementationÀº ypbind¶ó´Â Ư¼öÇÑ µ¥¸ó¿¡ ÀÇÁ¸ÇÏ¿© ±×µé NIS µµ¸ÞÀÎ ³»¿¡¼ Àû´çÇÑ NIS ¼¹ö¸¦ ã´Â´Ù. ¾î¶°ÇÑ NIS query¸¦ ÇϱâÀü¿¡, ¾îÇø®ÄÉÀ̼ÇÀº ypbind·Î ºÎÅÍ ¾î¶² ¼¹ö¸¦ »ç¿ëÇÒ °ÍÀΰ¡¸¦ ã´Â´Ù. ypbind´Â ·ÎÄà IP ³×Æ®¿÷À¸·Î broadcastingÀ» ÇÏ¿© ¼¹ö¸¦ probeÇÑ´Ù. °¡Àå ¸ÕÀú ´ë´äÀ» ÇØ ¿À´Â °ÍÀÌ ÀáÁ¤ÀûÀ¸·Î °¡Àå ºü¸¥ °ÍÀ¸·Î °£Áֵǰí, ÀÌÈÄÀÇ ¸ðµç NIS query¸¦ ±× ÂÊÀ¸·Î º¸³½´Ù. ÀÏÁ¤ ½Ã°£ÀÌ Áö³ª°Å³ª ¼¹ö°¡ ´Ù¿îµÇ¸é ypbind´Â ´Ù½Ã È°¼ºÈµÇ¾î ÀÖ´Â ¼¹ö¸¦ probeÇÒ °ÍÀÌ´Ù. µ¿Àû ¹ÙÀεùÀº ÇÊ¿äÇÑ °æ¿ì°¡ °ÅÀÇ ¾øÀ¸¸ç, º¸¾È»óÀÇ ¹®Á¦Á¡±îÁö ¾È°í ÀÖ´Ù. Áï ypbind´Â ´ë´äÀ» ÇØ¿À´Â °ÍÀÌ ´©±¸À̵çÁö, ½ÉÁö¾î ¾ÇÀǸ¦ °¡Áø ħÀÔÀÚÀÇ º¯º¯ÂúÀº NIS ¼¹öÀÏÁö¶óµµ ±×´ë·Î ¹Ï¾î¹ö¸°´Ù. ´ç½ÅÀÌ NIS¿¡ Æнº¿öµå µ¥ÀÌÅͺ£À̽º¸¦ ¿î¿µÁßÀ̶ó¸é, ÀÌ´Â ¸»ÇÒ ÇÊ¿äµµ ¾øÀÌ °ñÄ¡¾ÆÇ ÀÏÀÌ µÈ´Ù. À̸¦ ¸·´Â ¹æ¹ýÀº NYS°¡ ypbind¸¦ µðÆúÆ®·Î »ç¿ëÇÏÁö ¾Ê°Ô ¸¸µé°í, ¼³Á¤ÆÄÀÏ¿¡¼ ¼¹öÈ£½ºÆ®¸¦ ²¨³»¿Àµµ·Ï ÇÏ´Â °ÍÀÌ´Ù.
NIS¿Í NIS+´Â ±×µéÀÇ À̸§ÀÌ ºñ½ÁÇϵíÀÌ, °°Àº ¸ñÇ¥¸¦ Ãß±¸ÇÑ´Ù. NIS+´Â ¿ÏÀüÈ÷ ´Ù¸¥ ¹æ¹ýÀ¸·Î ±¸Á¶ÈµÇ¾î ÀÖ´Ù. »óÈ£ ¿¬°ü¼ºÀÌ ¾ø´Â NIS µµ¸ÞÀÎÀÇ Æò¸éÀûÀÎ name space´ë½Å, ±×°ÍÀº DNS¿Í ¸¶Âù°¡Áö·Î °èÃþÈµÈ name space¸¦ »ç¿ëÇϸç, map ´ë½Å¿¡ Çà(row)°ú ¿(column)·Î ±¸¼ºµÈ tableÀ̶õ °ÍÀ» »ç¿ëÇϸç, °¢ ¿Àº NIS+ µ¥ÀÌÅͺ£À̽º ³» ¿ÀºêÁ§Æ®¸¦ ³ªÅ¸³½´Ù. ÁÖ¾îÁø NIS+ µµ¸ÞÀÎÀÇ °¢ Å×À̺íÀº »óÀ§ µµ¸ÞÀÎÀÇ ±×°ÍÀ¸·Î ±¸¼ºµÈ´Ù. °Ô´Ù°¡ Å×ÀÌºí ³»ÀÇ ¿£Æ®¸®´Â ´Ù¸¥ Å×ÀÌºí¿¡´ëÇÑ ¸µÅ©°¡ µÉ ¼öµµ ÀÖ´Ù. ÀÌ·¯ÇÑ ±â´ÉÀº Á¤º¸¸¦ ¿©·¯°¡Áö ¹æ¹ýÀ¸·Î ±¸Á¶È ÇÒ ¼ö ÀÖ°Ô ¸¸µé¾î ÁØ´Ù. ÀüÅëÀûÀÎ NIS´Â 2ÀÇ RPC ¹öÀü ¹øÈ£¸¦, NIS+´Â ¹öÀü 3¸¦ »ç¿ëÇÑ´Ù. NIS+´Â ¾ÆÁ÷±îÁö ³Î¸® ¾²ÀÌÁö ¾Ê´Â °Í °°°í, ³ªµµ ±×¿¡°üÇØ Àß(¹¹, °ÅÀÇ ÀüºÎÀÌ´Ù) ¸ð¸¥´Ù. ÀÌ·¯ÇÑ ÀÌÀ¯·Î, ¿©±â¼ ±×°ÍÀ» ´Ù·çÁö ¾ÊÀ» °ÍÀÌ´Ù. ¸¸¾à ±×¿¡ °üÇØ ¹è¿ï ÀÇÇâÀÌ ÀÖ´Ù¸é, SunÀÇ NIS+ administration manual([NISPlus])¸¦ Âü°íÇϱ⠹ٶõ´Ù.
¸¸¾à ³×Æ®¿÷ ¾îÇø®ÄÉÀ̼ÇÀ» ¾²°Å³ª Æ÷ÆÃÇϴµ¥ Àͼ÷ÇÏ´Ù¸é, À§¿¡ ³ª¿ÇÑ NIS mapÀÇ ´ëºÎºÐÀÌ C ¶óÀ̺귯¸®ÀÇ ¶óÀ̺귯¸® ÇÔ¼ö¿¡ »óÀÀÇÑ´Ü °ÍÀ» ´«Ä¡Ã«À» °ÍÀÌ´Ù. ¿¹¸¦ µé¾î, passwd Á¤º¸¸¦ ¾ò±âÀ§Çؼ± º¸Åë, getpwnam(3)°ú getpwuid(3) ÇÔ¼ö¸¦ »ç¿ëÇϸç, À̵éÀº °¢°¢ ÁÖ¾îÁø À¯Àú³×ÀÓ ¶Ç´Â À¯Àú id ¹øÈ£¿Í ¿¬°üµÈ °èÁ¤ Á¤º¸¸¦ ¸®ÅÏÇÑ´Ù. ÀϹÝÀûÀÎ »óȲ¿¡¼ ÀÌ ÇÔ¼öµéÀº ¿äûµÈ °Ë»öÀ» /etc/passwd¿Í °°Àº Ç¥ÁØ ÆÄÀÏ¿¡¼ ¼öÇàÇÑ´Ù. ±×·¯³ª, ÀÌ ÇÔ¼öÀÇ NIS-aware implementationÀº À§¿Í´Â ´Ù¸¥ µ¿ÀÛÀ» ÇÒ °ÍÀÌ°í, RPC ÄÝÀ» »ç¿ëÇÏ¿© NIS ¼¹ö°¡ À¯Àú³×ÀÓ°ú id¸¦ °Ë»öÅä·Ï ÇÒ °ÍÀÌ´Ù. ÀÌ·¯ÇÑ ÀϵéÀº ¾îÇø®ÄÉÀ̼ǿ¡ ÀÖ¾î ¿ÏÀüÈ÷ Åõ¸íÇÑ °ÍÀÌ´Ù. ±× ÇÔ¼ö´Â NIS mapÀ» "Ãß°¡"Çϰųª ¿ø ÆÄÀÏÀ» ±×°ÍÀ¸·Î "´ëü"ÇÑ´Ù. ¹°·Ð, ÀÌ°ÍÀÌ ±× ÆÄÀÏÀ» ½ÇÁ¦ ¼öÁ¤ÇÑ´Ù´Â °ÍÀ» ÀǹÌÇÏ´Â °ÍÀÌ ¾Æ´Ï¶ó, ÆÄÀÏÀÌ ´ëüµÇ°Å³ª Ãß°¡µÈ °Í ó·³ ¾îÇø®ÄÉÀ̼ǿ¡°Ô º¸Àδٴ °ÍÀ» ¶æÇÑ´Ù. ÀüÅëÀûÀÎ NIS implementationÀÇ °æ¿ì, mapÀÌ ¿ø Á¤º¸¿¡ Ãß°¡µÇ¾î ´ëüµÇ´Â °ÍÀÌ ¾î¶² ÆíÀ̼ºÀ¸·Î »ç¿ëµÇ¾î ¿Ô´Ù. passwd°°Àº ¸î°¡Áö´Â, À߸øµÇ¾úÀ» °æ¿ì passwd ÆÄÀÏÀ» ÀϺΠ¼öÁ¤ÇØ¾ß Çß´Ù. ÀÌ´Â º¸¾È ±¸¸ÛÀ» ¿¾î ³õ´Â´Ù. (¹«½¼ ¶æÀÎÁö Àß Çؼ®ÀÌ ¾ÈµÊ - ¿ªÀÚÁÖ) ÀÌ·¯ÇÑ ÇÔÁ¤À» ÇÇÇϱâ À§Çؼ NYS´Â ƯÁ¤ Ŭ¶óÀ̾ðÆ® ÇÔ¼ö ¼¼Æ®°¡ ¿ø ÆÄÀÏ, NIS ¶Ç´Â NIS+¸¦ ¾î¶² ¼ø¼´ë·Î »ç¿ëÇÒ °ÍÀÎÁö¸¦ °áÁ¤ÇÏ´Â ÀϹÝÀûÀÎ ¼³Á¤Ã¼°è¸¦ »ç¿ëÇÑ´Ù. ÀÌ ÀåÀÇ µÞºÎºÐ¿¡¼ ÀÌ¿¡ °üÇØ ³íÀÇÇÑ´Ù.
ÀÌ·ÐÀûÀÎ ±â¼ú»óÀÇ Àâ´äÀº ±×¸¸ÇÏ°í, ÀÌÁ¦ º»°ÝÀûÀ¸·Î ¼³Á¤ÀÛ¾÷À» ÇÏ´Â ½Ã°£ÀÌ µ¹¾Æ¿Ô´Ù. ÀÌ Àý¿¡¼ ¿ì¸®´Â NIS ¼¹öÀÇ ¼³Á¤¿¡´ëÇØ ´Ù·ê °ÍÀÌ´Ù. ¸¸¾à ÀÌ¹Ì NIS ¼¹ö¸¦ ³×Æ®¿÷¿¡ µ¹¸®°í ÀÖ´Ù¸é, ´ç½Å ¼ÒÀ¯ÀÇ ¼¹ö¸¦ µ¹·Á¾ßÇÏÁö¸¸Àº ¾Ê´Ù. ÀÌ·¯ÇÑ °æ¿ì, ÀÌ ÀýÀ» °Ç³Ê¶Ù¾îµµ ÁÁ´Ù.
ÇöÀç ¸®´ª½º¿¡¼ »ç¿ë°¡´ÉÇÑ NIS ¼¹ö´Â µÎ °¡Áö·Î, Çϳª´Â Tobias ReberÀÇ yps ÆÐÅ°Áö¿¡ Æ÷ÇԵǾî ÀÖ°í, ¶Ç Çϳª´Â Peter ErikssonÀÇ ypserv ÆÐÅ°Áö³»¿¡ ÀÖ´Ù. ÇöÀç libv ³»ÀÇ NYS¸¦ »ç¿ëÇÏ°Ç, Ç¥ÁØ NIS Ŭ¶óÀ̾ðÆ® Äڵ带 »ç¿ëÇÏ°Ç °£µ¥, ±× Áß ¾î´À °ÍÀ» »ç¿ëÇÏ°Ç º°·Î Áß¿äÇÑ ÀÏÀÌ ¾Æ´Ï´Ù. ÀÌ ±ÛÀ» ¾²´Â Áö±Ý, yps ³»ÀÇ NIS ½½·¹ÀÌºê ¼¹ö Çڵ鸵¿¡´ëÇÑ Äڵ尡 Á» ´õ ¿Ïº®ÇØ º¸ÀδÙ. ±×·¯¹Ç·Î ´ç½ÅÀÌ ½½·¹ÀÌºê ¼¹ö¸¦ ¾²°íÀÚ ÇÑ´Ù¸é yps°¡ Á» ´õ ³ªÀº ¼±ÅÃÀÌ ¾Æ´Ò±î ÇÑ´Ù. ¼¹ö ÇÁ·Î±×·¥(ypserv)À» /usr/sbin¿¡ ¼³Ä¡ÇÑ ÈÄ, ´ç½ÅÀÇ ¼¹ö°¡ ¹èºÐÇÒ map ÆÄÀÏÀ» ´ãÀ» µð·ºÅ丮¸¦ ¸¸µé¾î¾ß ÇÒ °ÍÀÌ´Ù. brewery µµ¸ÞÀÎÀ¸·Î NIS µµ¸ÞÀÎÀ» ¼Â¾÷ÇÒ ¶§, mapÀº /var/yp/brewery ¾Æ·¡¿¡ ÀúÀåµÈ´Ù. ¼¹ö´Â map µð·ºÅ丮°¡ Á¸ÀçÇÏ´ÂÁö¸¦ °Ë»çÇÏ¿© ±×°ÍÀÌ Æ¯Á¤ NIS µµ¸ÞÀÎÀ» Á¦°øÇÏ´ÂÁöÀÇ ¿©ºÎ¸¦ °áÁ¤ÇÑ´Ù. ¸¸¾à ¾î¶² NIS µµ¸ÞÀο¡´ëÇÑ ¼ºñ½º¸¦ ¸·¾Æ³õ´Â´Ù¸é, ±× µð·ºÅ丮¸¦ Á¦°Å Çß´ÂÁö¸¦ È®ÀÎÇ϶ó. mapÀº º¸Åë ºü¸¥ °Ë»öÀ» À§ÇØ DBM ÆÄÀÏ Çü½ÄÀ¸·Î ÀúÀåµÈ´Ù. ±×°ÍµéÀº (Tobias ¼¹öÀÇ °æ¿ì) makedbmÀ̳ª (Peter ¼¹öÀÇ °æ¿ì)dbmload¶ó´Â ÇÁ·Î±×·¥À» »ç¿ëÇÏ¿© ¸¶½ºÅÍ ÆÄÀϷκÎÅÍ »ý¼ºµÇ´Âµ¥, ±× µÎ ÇÁ·Î±×·¥Àº ¼·Î ȣȯµÇÁö ¾Ê´Â´Ù. ¸¶½ºÅÍ ÆÄÀÏÀ» dbmload°¡ ÆĽÌÇÒ ¼ö ÀÖ´Â ÇüÅ·Πº¯ÇüÇÏ´Â ÀÏÀº º¸Åë ŸÀÌÇÎÇϰųª ±â¾ïÇϱ⿡ ¾à°£Àº ÀåȲÇÑ ¸éÀÌ ¾øÁö ¾ÊÀº, awk³ª sedÀÇ ¸¶¼ú·Î½á ÀÌ·ç¾îÁø´Ù. °Ô´Ù°¡ Peter ErikssonÀÇ ypserv ÆÐÅ°Áö´Â Makefile(ypMakefile¶ó°í ÇÏ´Â)À» Æ÷ÇÔÇϴµ¥, ÀÌ°ÍÀº ¸ðµç ÀÏÀ» ´ç½Å ´ë½Å¿¡ ó¸®ÇØ ÁØ´Ù. ±×°ÍÀ» Makefile ó·³ map µð·ºÅ丮¿¡ ¼³Ä¡ÇÏ°í, ´ç½ÅÀÌ ¹èºÐÇÏ°íÀÚ ÇÏ´Â map ºÎºÐÀ» ¼öÁ¤ÇÑ´Ù. ÆÄÀÏÀÇ ÃÖ»ó´Ü¿¡¼, ypserv°¡ Á¦°øÇÏ°íÀÚ ÇÏ´Â ¼ºñ½º¸¦ ³ª¿ÇÑ ¸ðµç Ÿ°ÙÀ» º¼ ¼ö ÀÖÀ» °ÍÀÌ´Ù. µðÆúÆ®·Î ÀÌ ¶óÀÎÀº ´ÙÀ½°ú °°´Ù.
all: ethers hosts networks protocols rpc services passwd group netid °¡·É, ethers.byname°ú ethers.byaddr mapÀ» ¸¸µé°í ½ÍÁö ¾Ê´Ù¸é ´Ü¼øÈ÷ ÀÌ rule¿¡¼ ethers Á¶°ÇÀ» Á¦°ÅÇÏ¸é µÈ´Ù. ´ç½ÅÀÌ ¼³Á¤ÇÑ °ÍÀ» ½ÃÇèÇØ º¸±âÀ§ÇØ, services.* map°ú °°Àº ÇÑ µÎ°³ÀÇ map¸¸À¸·Îµµ ½ÃÀÛÇÒ ¼ö ÀÖ´Ù. MakefileÀ» ÆíÁýÇÑ ÈÄ, map µð·ºÅ丮 ³»¿¡¼ "make"¸¦ ÀÔ·ÂÇ϶ó. ÀÌ°ÍÀº ÀÚµ¿À¸·Î mapÀ» »ý¼ºÇÏ°í ¼³Ä¡ÇØ ÁØ´Ù. ¸¶½ºÅÍ ÆÄÀÏÀ» º¯°æÇÒ ¶§¸¶´Ù mapÀ» updateÇÏ¿´´ÂÁö È®ÀÎÇ϶ó. ±×·¸Áö ¾Ê´Ù¸é º¯°æ »çÇ×ÀÌ ³×Æ®¿÷¿¡ ¾î¶°ÇÑ È¿·Âµµ ¹ÌÄ¡Áö ¸øÇÒ °ÍÀÌ´Ù. ´ÙÀ½ ÀýÀº ¾î¶»°Ô NIS Ŭ¶óÀ̾ðÆ® Äڵ带 ¼³Á¤ÇÏ´ÂÁö¸¦ ¼³¸íÇÑ´Ù. ¸¸ÀÏ¿¡ ´ç½ÅÀÇ ¼Â¾÷ÀÌ Á¦´ë·Î µ¿ÀÛÇÏÁö ¾Ê´Â´Ù¸é, request°¡ ´ç½ÅÀÇ ¼¹ö¿¡ ´ê´ÂÁö ¾Æ´ÑÁö¸¦ ã¾Æ³»¾ß ÇÑ´Ù. ¸¸¾à ´ç½ÅÀÌ NYS ¼¹ö¿¡ -D Ä¿¸Çµå¶óÀÎ Ç÷¡±×¸¦ ÁöÁ¤ÇØ ÁÖ¾ú´Ù¸é, ±×°ÍÀº µé¾î¿À´Â ¸ðµç NIS query¿Í ¸®ÅϵǴ °á°ú¿¡°üÇÑ µð¹ö±ë ¸Þ½ÃÁö¸¦ Äֿܼ¡ Ãâ·ÂÇÑ´Ù. À̵éÀº ¾îµð¼ ¹®Á¦°¡ ¹ß»ýÇÏ´ÂÁö ÈùÆ®¸¦ ÁÙ °ÍÀÌ´Ù. TobiasÀÇ ¼¹ö¿£ ÀÌ·¯ÇÑ ¿É¼ÇÀÌ ¾ø´Ù.
10.5 Setting up a NIS Client with NYS ÀÌ ÀåÀÇ ³ª¸ÓÁö ºÎºÐ¿¡¼´Â NIS Ŭ¶óÀ̾ðÆ® ¼³Á¤¿¡ °üÇØ ´Ù·ê °ÍÀÌ´Ù. ù¹ø° ´Ü°è´Â, ¾î¶² ¼¹ö¸¦ NIS ¼ºñ½º¿¡ »ç¿ëÇÒ °ÍÀÎÁö¸¦ NYS¿¡ ¾ê±âÇØ ÁÖ´Â °ÍÀ¸·Î, /etc/yp.conf ¼³Á¤ ÆÄÀÏ¿¡ ÁöÁ¤ÇØ ÁØ´Ù. Winery ³×Æ®¿÷ÀÇ È£½ºÆ®¿¡´ëÇÑ ¾ÆÁÖ ´Ü¼øÇÑ »ùÇà ÆÄÀÏÀÇ ¸ð½ÀÀº ¾Æ·¡¿Í °°´Ù.
# yp.conf - YP configuration for NYS library # domainname winery server vbardolinoù¹ø° ¼±¾ð¹®Àº NIS Ŭ¶óÀ̾ðÆ®¿¡°Ô ±×°ÍÀÌ winery NIS µµ¸ÞÀο¡ ¼ÓÇØ ÀÖ´Ù°í ¸»ÇØÁØ´Ù. ¸¸¾à ÀÌ ¶óÀÎÀº ºü¶ß¸°´Ù¸é, NYS´Â domainname Ä¿¸Çµå¸¦ ÅëÇØ ´ç½ÅÀÇ ½Ã½ºÅÛ¿¡ ÁöÁ¤ÇØ ÁØ µµ¸ÞÀÎ ³×ÀÓÀ» »ç¿ëÇÒ °ÍÀÌ´Ù. server ±¸¹®Àº »ç¿ëÇÒ NIS ¼¹ö¸¦ ¸í½ÃÇÑ´Ù. ¹°·Ð vbardolinoÀÇ IP ÁÖ¼Ò°¡ ¹Ýµå½Ã hosts ÆÄÀÏ¿¡ ÁöÁ¤µÇ¾î ÀÖ¾î¾ß ÇÑ´Ù. ´ë½Å¿¡, ¾Æ¿¹ server ±¸¹®¿¡ IP ÁÖ¼Ò ÀÚü¸¦ »ç¿ëÇÒ ¼öµµ ÀÖ´Ù. À§ÀÇ ¾ç½Ä¿¡¼ server Ä¿¸Çµå´Â NYS¿¡°Ô, ÇöÀçÀÇ NIS µµ¸ÞÀÎÀÌ ¹«¾ùÀÌ°Ç °£¿¡ ÁÖ¾îÁø À̸§ÀÇ ¼¹ö¸¦ »ç¿ëÇ϶ó°í ÇÑ´Ù. ±×·¯³ª ¸¸¾à ´ç½ÅÀÇ ¸Ó½ÅÀÌ ÀÚÁÖ ´Ù¸¥ µµ¸ÞÀÎ »çÀ̸¦ ¿Ô´Ù°¬´ÙÇÑ´Ù¸é yp.conf ÆÄÀÏ¿¡ ¿©·¯°³ÀÇ µµ¸ÞÀο¡´ëÇÑ Á¤º¸¸¦ º¸Á¸ÇÏ°í ½ÍÀ» °ÍÀÌ´Ù. NIS µµ¸ÞÀÎ ³×ÀÓÀ» ¼¹ö ±¸¹® µÚ¿¡ Ãß°¡ÇÔÀ¸·Î½á yp.conf ÆÄÀÏ¿¡ ¿©·¯ NIS µµ¸ÞÀο¡´ëÇÑ ¼¹öÀÇ Á¤º¸¸¦ ³ÖÀ» ¼ö ÀÖ´Ù. ¿¹¸¦ µé¾î, À§ÀÇ ¿¹Á¦ ÆÄÀÏÀ» ·¦Å¾¿ëÀ¸·Î ¹Ù²Û´Ù¸é ¾Æ·¡¿Í °°À» °ÍÀÌ´Ù.
# yp.conf - YP configuration for NYS library # server vbardolino winery server vstout breweryÀÌ°ÍÀº ´Ü¼øÈ÷ ºÎÆýÿ¡ domainname Ä¿¸Çµå¸¦ ÅëÇØ ¿øÇÏ´Â NIS µµ¸ÞÀÎÀ» ÁöÁ¤ÇØ ÁÜÀ¸·Î½á, µÎ µµ¸ÞÀÎ ÁßÀÇ ¾î¶² °Í¿¡µµ ¹è¼Ó½Ãų ¼ö ÀÖ´Ù. ÀÌ ±âº» ¼³Á¤ÆÄÀÏÀ» ¸¸µé°í ÀÌ°ÍÀÌ world-readableÇÑÁö È®ÀÎÇÑ ÈÄ, ´ç½ÅÀÇ ¼¹ö¿¡ ¿¬°áÇÒ ¼ö ÀÖ´ÂÁö ½ÃÇè»ï¾Æ µ¹·Áº¸ÀÚ. ¼¹ö°¡ ¹èºÐÇÏ´Â ¾Æ¹« mapÀ̳ª °ñ¶ó(°¡·É hosts.byname°°Àº °Í), ypcat À¯Æ¿¸®Æ¼¸¦ »ç¿ëÇÏ¿© ±×°ÍÀ» ¹Þ¾Æº¸ÀÚ. ypcatÀº ´Ù¸¥ ¸ðµç Åø°ú ¸¶Âù°¡Áö·Î /usr/sbin ¹Ø¿¡ ÀÖ´Ù.
# ypcat host.byname 191.72.2.2 vbeaujolais vbeaujolais.linus.lxnet.org 191.72.2.3 vbardolino vbardolino.linus.lxnet.org 191.72.1.1 vlager vlager.linus.lxnet.org 191.72.2.1 vlgaer vlager.linus.lxnet.org 191.72.1.2 vstout vstout.linus.lxnet.org 191.72.1.3 vale vale.linus.lxnet.org 191.72.2.4 vchianti vchianti.linus.lxnet.org ´ç½ÅÀº À§¿Í ºñ½ÁÇÑ °á°ú¹°À» ¾òÀ» °ÍÀÌ´Ù. ¸¸¾à ±×´ë½Å "Can't bind ot server which serves domain"À̳ª ÀÌ¿Í ºñ½ÁÇÑ ¿¡·¯¸¦ ³½´Ù¸é, ´ç½ÅÀÌ ÁöÁ¤ÇÑ NIS µµ¸ÞÀγ×ÀÓ¿¡ ¸Â´Â yp.conf¿¡ Á¤ÀÇµÈ ¼¹ö°¡ ¾ø°Å³ª, ¸î°¡Áö ÀÌÀ¯·Î ¼¹ö¿¡ ¿¬°áÇÒ ¼ö ¾ø±â ¶§¹®ÀÌ´Ù. ÈÄÀÚÀÇ °æ¿ì, ±× È£½ºÆ®¿¡ pingÇÏ¿© ±àÁ¤ÀûÀÎ °á°ú¸¦ ÁÖ´ÂÁö, ±×¸®°í rpcinfo¸¦ »ç¿ëÇÏ¿© °Å±â¿¡¼ Á¤¸»·Î NIS ¼¹ö¸¦ ¿î¿µÇÏ°í ÀÖ´ÂÁö¸¦ È®ÀÎÇ϶ó. rpcinfo´Â ´ÙÀ½°ú °°Àº °á°ú¸¦ Ãâ·ÂÇÒ °ÍÀÌ´Ù.
# rpcinfo -u serverhost ypserv program 100004 version 2 ready and waitiing
NIS ¼¹ö¿¡ ¿¬°á°¡´ÉÇÏ´Ü °ÍÀ» È®ÀÎÇÏ°í ³ª¸é, ÀÌÁ¦ ¾î¶² ¼³Á¤ÆÄÀÏÀ» NIS mapÀ¸·Î ´ëüÇÒ °ÍÀÎÁö¸¦ °áÁ¤ÇؾßÇÑ´Ù. Åë»óÀûÀ¸·Î, È£½ºÆ®¿Í Æнº¿öµå °Ë»öÀ» À§ÇØ NIS mapÀ» »ç¿ëÇϴµ¥, ÀüÀÚ´Â BIND¸¦ µ¹¸®Áö ¾Ê´Â °æ¿ì¿¡ À¯¿ëÇÏ°í, ÈÄÀÚ´Â ¸ðµç À¯ÀúµéÀÌ NIS µµ¸ÞÀÎ ³»ÀÇ ¾î¶°ÇÑ ½Ã½ºÅÛ¿¡¼°Ç ÀÚ½ÅÀÇ °èÁ¤À¸·Î ·Î±×ÀÎÇÒ ¼ö ÀÖ°Ô ¸¸µç´Ù. ÀÌ°ÍÀº ÈçÈ÷ NFS·Î ¸ðµç È£½ºÆ®°£¿¡ /home µð·ºÅ丮¸¦ °øÀ¯ÇÏ´Â °ÍÀ» ¿äÇϴµ¥, ÀÚ¼¼ÇÑ ¼³¸íÀº ¾Æ·¡ÀÇ 10.7 Àý¿¡¼ ÇÏ°í ÀÖ´Ù. services.byname°ú °°Àº mapÀº ±×·± µå¶ó¸¶Æ½ÇÑ ¼º°ú¸¦ ÁÖÁø ¸øÇϳª, ´ç½ÅÀÌ Ç¥ÁØ services ÆÄÀÏ¿¡ ¾ø´Â ¼ºñ½º³×ÀÓÀ» »ç¿ëÇÏ´Â ¾î¶² ³×Æ®¿÷ ÇÁ·Î±×·¥À» ¼³Ä¡ÇÏ¿´´Ù¸é ÆÄÀÏÀ» ¿¡µðÆ®ÇÏ´Â ¼ö°í¸¦ ´ú¾îÁÙ ¼ö ÀÖÀ» °ÍÀÌ´Ù. ÀϹÝÀûÀ¸·Î, ·ÎÄà ÆÄÀÏÀ» »ç¿ëÇÏ´Â ÇÔ¼ö¸¦ ã¾Æ³¾ ¶§, ±×¸®°í ±×°ÍÀÌ NIS ¼¹ö¿¡ queryÇÒ ¶§, ´ç½ÅÀº ¾î¶² ¼±ÅÃÀÇ ÀÚÀ¯°¡ ÀÖ¾úÀ¸¸é ÇÒ °ÍÀÌ´Ù. NYS´Â ÀÌ ¼ºñ½º¿¡ ¾ï¼¼½ºÇÏ´Â ÇÔ¼öÀÇ ¼ø¼¸¦ ¼³Á¤ÇÒ ¼ö ÀÖ°Ô ÇÑ´Ù. ÀÌ°ÍÀº /etc/nsswitch.conf(Name Service SwitchÀÇ ¾à¾îÀ̳ª ±×·¸´Ù°í ³×ÀÓ ¼ºñ½º¿¡¸¸ ±¹ÇѵÇÁø ¾Ê´Â´Ù)¿¡ ÀÇÇØ Á¶Á¤µÈ´Ù. ¾î¶² µ¥ÀÌÅÍ °Ë»ö ÇÔ¼öµµ NYS¿¡ÀÇÇØ Áö¿øµÇ¸ç ±×°ÍÀº »ç¿ëÇÒ ¼ºñ½º¸¦ ¸í½ÃÇÏ´Â ¶óÀÎÀ» Æ÷ÇÔÇÑ´Ù. ¿Ã¹Ù¸¥ ¼ºñ½ºÀÇ ¼ø¼´Â µ¥ÀÌÅÍÀÇ Å¸ÀÔ¿¡ ´Þ·ÁÀÖ´Ù. services.byname mapÀÌ ·ÎÄà services ÆÄÀÏ°ú ´Ù¸¥ ¿£Æ®¸®¸¦ Áö´Ò °ÍÀ̶ó´Â »ý°¢Àº À߸øµÈ °ÍÀ̸ç, ±×°ÍÀº ´ÜÁö ¾à°£ ´õ Æ÷°ýÀûÀÏ ¼ö ÀÖ´Â °ÍÀÌ´Ù. ±×·¯¹Ç·Î ·ÎÄà ÆÄÀÏ ¸ÕÀú queryÇÏ°í ¼ºñ½º³×ÀÓÀÌ ¹ß°ßµÇÁö ¾ÊÀ» °æ¿ì¿¡¸¸ NIS¸¦ üũÇÏ´Â °ÍÀÌ ÁÁÀº ¼±ÅÃÀÌ´Ù. ¹Ý¸é¿¡ È£½ºÆ®³×ÀÓ Á¤º¸´Â ÀÚÁÖ ¹Ù²ð ¼ö ÀÖ´Â °ÍÀ̹ǷΠDNS ¶Ç´Â NIS ¼¹ö¿¡ °¡Àå Á¤È®ÇÑ ³»¿ëÀÌ ÀÖ°í, ·ÎÄà hosts ÆÄÀÏÀº ´ÜÁö DNS¿Í NIS°¡ ½ÇÆÐÇÒ °æ¿ì¿¡´ëÇÑ ¹é¾÷À¸·Î º¸Á¸µÇ´Â °ÍÀÌ´Ù. ÀÌ °æ¿ì ·ÎÄà ÆÄÀÏÀ» ¸¶Áö¸·À¸·Î üũÇÏ´Â ÆíÀÌ ÁÁ´Ù. ¾Æ·¡ÀÇ ¿¹Á¦´Â gethostbyname(2)°ú gethostbyaddr(2), ±×¸®°í getservbyname(2) ÇÔ¼ö¸¦ ¾î¶»°Ô À§¿¡ ÀûÀº °Í°°ÀÌ ¼³Á¤ÇÏ´ÂÁö¸¦ º¸¿©ÁØ´Ù. ±×°ÍµéÀº ³ª¿µÈ ¼ºñ½º¸¦ Â÷·Ê·Î ½ÃµµÇÏ°í °Ë»ö¿¡ ¼º°øÇÏ¸é °á°ú°¡ ¸®Åϵǰí, ±×·¸Áö ¾ÊÀ» °æ¿ì ´ÙÀ½ ¼ø¼ÀÇ ¼ºñ½º¸¦ ½ÃµµÇÑ´Ù.
# small sample /etc/nsswitch.conf # hosts: nis dns files services: files nis ´ÙÀ½Àº nsswitch.conf ³»ÀÇ ¿£Æ®¸®¿¡ »ç¿ëµÉ ¼ö ÀÖ´Â ¸ðµç ¼ºñ½ºÀÇ ¸ñ·ÏÀÌ´Ù. actual map°ú ÆÄÀÏ, ¼¹ö, ±×¸®°í ¿£Æ®¸®³×ÀÓ¿¡µû¶ó queryµÇ´Â objectÀÌ´Ù.
ÇöÀç NYS´Â ´ÙÀ½ÀÇ nsswitch.conf ¿£Æ®¸®¸¦ Áö¿øÇÑ´Ù: hosts, networks, passwd, group, shadow, gshadow, services, protocols, rpc, ethersÀÌ´Ù. ´õ ¸¹Àº ¿£Æ®¸®°¡ Ãß°¡µÉ Ãß¼¼ÀÌ´Ù. ±×¸² 10.1Àº nsswitch.confÀÇ ¶Ç´Ù¸¥ ±â´ÉÀ» ¼Ò°³ÇÏ´Â, Á» ´õ ¿ÏÀüÇÑ ÇüÅÂÀÇ ¿¹Á¦ÀÌ´Ù. hosts ¿£Æ®¸® ³»ÀÇ [NOTFOUND=return] Å°¿öµå´Â NIS³ª DNS µ¥ÀÌÅͺ£À̼¿¡¼ ¿øÇÏ´Â ¾ÆÀÌÅÛÀ» ãÀ» ¼ö ÀÖ´ÂÁö ¾ø´ÂÁö¸¦ ¸®ÅÏÇ϶ó°í NYS¿¡°Ô ¸»ÇÏ´Â °ÍÀÌ´Ù. Áï, NYS´Â NIS¿Í DNS ¼¹ö¸¦ ¾î¶² ÀÌÀ¯·Î È£ÃâÇÒ ¼ö ¾øÀ» °æ¿ì¿¡ ÇÑÇؼ¸¸ °è¼Ó ÁøÇàÇÏ¿© ·ÎÄà ÆÄÀÏÀ» °Ë»öÇÒ °ÍÀÌ´Ù. ±×¸®ÇÏ¿© ·ÎÄÃÆÄÀÏÀº ºÎÆýÿ¡, ȤÀº NIS ¼¹ö°¡ ´Ù¿îµÇ¾úÀ» ¶§ÀÇ ¹é¾÷À¸·Î½á¸¸ »ç¿ëµÉ °ÍÀÌ´Ù.
# /etc/nsswitch.conf # hosts: nis dns [NOTFOUND=return] files networks: nis [NOTFOUND=return] files services: files nis protocols: files nis rpc: files nis
10.7 Using the passwd and group Maps NISÀÇ ÁÖ¿ä ÀÀ¿ëºÐ¾ß´Â NIS µµ¸ÞÀÎ ³»ÀÇ ¸ðµç È£½ºÆ®¿¡ À¯Àú¿Í °èÁ¤Á¤º¸¸¦ µ¿±âÈ ½ÃÅ°´Â °ÍÀÌ´Ù. À̸¦ À§ÇØ º¸Åë ÀÛÀº ·ÎÄà /etc/passwd ÆÄÀϸ¸À» º¸Á¸ÇÏ°í, NIS map¿¡¼ Ãß°¡ÀÇ site-wide Á¤º¸¸¦ ¾ò´Â´Ù. ±×·¯³ª ´Ü¼øÈ÷ nsswitch.conf¿¡ ÀÌµé ¼ºñ½º¿¡´ëÇÑ °Ë»öÀ» °¡´ÉÄÉÇÏ´Â °Í¸¸À¸·Î´Â ÃæºÐÇÏÁö ¾Ê´Ù. NIS¿¡ ÀÇÇØ ¹èºÐµÇ´Â Æнº¿öµå¿¡ ÀÇÁ¸ÇÒ ¶§¿£, ¸ÕÀú ´ç½ÅÀÇ ·ÎÄà passwd ÆÄÀÏ¿¡ ÀÖ´Â À¯ÀúÀÇ uid°¡ NISÀÇ uid¿Í ÀÏÄ¡ÇÏ´ÂÁö¸¦ È®ÀÎÇؾßÇÑ´Ù. ÀÌ°ÍÀº °¡·É ³×Æ®¿÷»óÀÇ È£½ºÆ®¿¡¼ NFS º¼·ýÀ» ¸¶¿îÆ®ÇÒ ¶§¿Í °°Àº ¶Ç ´Ù¸¥ ¸ñÀû¿¡¼ À¯¿ëÇÏ´Ù. ¸¸¾à /etc/passwd³ª /etc/groupÀÇ ¾î¶² id ¹øÈ£°¡ mapÀÇ ±×°Í°ú ´Ù¸£´Ù¸é, ±× À¯Àú ¼ÒÀ¯ÀÇ ¸ðµç ÆÄÀÏ¿¡´ëÇÑ ¼ÒÀ¯±ÇÀ» Á¶ÀýÇØ ÁÖ¾î¾ß¸¸ ÇÑ´Ù. ¸ÕÀú passwd¿Í groupÀÇ ¸ðµç uid¿Í gid¸¦ »õ·Î¿î °ªÀ¸·Î º¯°æÇÏ°í, Áö±Ý º¯°æµÈ À¯ÀúÀÇ ¸ðµç ÆÄÀÏÀ» ã¾Æ ±×°ÍÀÇ ¼ÒÀ¯±ÇÀ» ¹Ù²ãÁØ´Ù. °¡·É news°¡ 9ÀÇ À¯Àú id¸¦, ±×¸®°í okir´Â 103ÀÇ À¯Àú id¸¦ °¡Áö°í ÀÖ¾ú´Ù°¡ ´Ù¸¥ ¾î¶² °ªÀ¸·Î º¯°æµÇ¾ú´Ù°í °¡Á¤Çغ¸ÀÚ. ±×¸®°í ´ÙÀ½ÀÇ Ä¿¸Çµå¸¦ »ç¿ëÇÑ´Ù.
# find / -uid 9 -print >/tmp/uid.9 # find / -uid 103 -print >/tmp/uid.103 # cat /tmp/uid.9 | xargs chown news # cat /tmp/uid.103 | xargs chown okir»õ passwd ÆÄÀÏÀ» ¼³Ä¡ÇÒ ¶§ ÀÌ Ä¿¸Çµå¸¦ ½ÇÇàÇÏ¿©, ±×°ÍµéÀÇ ¼ÒÀ¯±ÇÀ» º¯°æÇϱâÀü¿¡ ¸ðµç ÆÄÀÏÀ» ¼öÁýÇÏ´Â °ÍÀº Áß¿äÇÑ °ÍÀÌ´Ù. ÆÄÀÏÀÇ group ¼ÒÀ¯±ÇÀ» º¯°æÇÒ ¶§µµ ÀÌ¿Í ºñ½ÁÇÑ Ä¿¸Çµå¸¦ »ç¿ëÇÏ¸é µÈ´Ù. ÀÌ ÀÛ¾÷À» ³¡³½ ÈÄ¿¡´Â ´ç½Å ½Ã½ºÅÛÀÇ uid¿Í gid°¡ NIS µµ¸ÞÀÎ ³»ÀÇ ´Ù¸¥ È£½ºÆ®ÀÇ ±×°Í¿¡ È£ÀÀÇÒ °ÍÀÌ´Ù. ´ÙÀ½ ´Ü°è´Â nsswitch.conf¿¡ À¯Àú¿Í ±×·ìÁ¤º¸¿¡ ´ëÇÑ NIS °Ë»öÀ» ¼öÇàÇϵµ·Ï ¼³Á¤ÇÏ´Â ¶óÀÎÀ» Ãß°¡ÇÏ´Â °ÍÀÌ´Ù.
# /etc/nsswitch.conf - passwd and group treatment passwd: nis files group: nis files ÀÌ´Â login Ä¿¸Çµå µîÀÌ, À¯Àú°¡ ·Î±×ÀÎÇÏ·ÁÇÒ ¶§ ¸ÕÀú NIS map¿¡ queryÇÏ°í ±×°ÍÀÌ ½ÇÆÐÇßÀ» °æ¿ì¿¡ ·ÎÄÃÆÄÀÏÀ» ãµµ·Ï ÇÑ´Ù. º¸Åë, ·ÎÄà ÆÄÀÏ¿¡¼ ´ëºÎºÐÀÇ À¯Àú´Â Áö¿ìµÇ, root¿Í, mail °°Àº ÀϹÝÀûÀÎ °èÁ¤Àº ³²°ÜµÎ´Â °ÍÀÌ ÁÁ´Ù. ÀÌ´Â ¾î¶² ÁßÃßÀûÀÎ ½Ã½ºÅÛ ÀÛ¾÷ÀÌ uid¸¦ À¯Àú³×ÀÓÀ¸·Î, ¶Ç´Â ±× ¹Ý´ë·ÎÀÇ mapÀ» ¿äÇϱ⠶§¹®ÀÌ´Ù. ¿¹¸¦ µé¾î, °ü¸®¿ªÇÒÀ»ÇÏ´Â cron jobÀº Àá½Ãµ¿¾È news°¡ µÇ±âÀ§ÇØ, ȤÀº UUCP ¼ºê½Ã½ºÅÛÀÌ »óź¸°í¸¦ mail·Î º¸³¾¼ö ÀÖµµ·ÏÇϱâÀ§ÇØ su Ä¿¸Çµå¸¦ »ç¿ëÇÑ´Ù. ¸¸¾à news³ª uucp¿¡´ëÇÑ ¿£Æ®¸®°¡ passwd ÆÄÀÏ¿¡ ¾ø´Ù¸é, ÀÌ·¯ÇÑ jobÀº NIS°¡ Á×¾îÀִµ¿¾È¿¡´Â ºñÂüÇÏ°Ô ½ÇÆÐÇÒ °ÍÀÌ´Ù. ¿©±â¿£ µÎ°¡Áö Å« Á¦¾àÀÌ Àִµ¥, Çϳª´Â À§¿¡ ÀûÈù °Íó·³ ¼Â¾÷ÇßÀ» °æ¿ì¿£ util-linuxÆÐÅ°Áö¿¡ Æ÷ÇԵǾî ÀÖ´Â °Íó·³, shadow Æнº¿öµå¸¦ »ç¿ëÇÏÁö ¾Ê´Â login suite¿¡¼³ª µ¿ÀÛÇÑ´Ù´Â °ÍÀÌ´Ù. NIS¿Í shadow Æнº¿öµå¸¦ ÇÔ²² »ç¿ëÇÏ´Â °ñÄ¡¾ÆÇ ÀÏ¿¡´ëÇؼ± ¾Æ·¡¿¡¼ ´Ù·ê °ÍÀÌ´Ù. ¶Ç ´Ù¸¥ Çϳª´Â, login Ä¿¸Çµå°¡ passwdÆÄÀÏ¿¡ ¾ï¼¼½ºÇϱ⸸ ÇÏ´Â°Ô ¾Æ´Ï¶ó´Â Á¡ÀÌ´Ù - »ç¶÷µé ´ëºÎºÐÀÌ Ç×»ó »ç¿ëÇÏ´Â ls Ä¿¸Çµå¸¦ º¸ÀÚ. long listingÀ» ÇÒ ¶§¸¶´Ù ls´Â ÆÄÀÏÀÇ ¼ÒÀ¯ÀÚÀÎ À¯Àú¿Í ±×·ì¿¡´ëÇÑ ½Éº¼¸¯ ³×ÀÓÀ» Ç¥½ÃÇÒ °ÍÀÌ´Ù. Áï, ±×°ÍÀÌ ³ª¿ÇÏ´Â uid¿Í gid¸¶´Ù ÇѹøÀÇ NIS query¸¦ ÇؾßÇÑ´Ù. ´ç½ÅÀÇ ³×Æ®¿÷»çÁ¤ÀÌ ÁÁÁö ¸øÇϰųª, ½ÉÇÒ °æ¿ì NIS ¼¹ö°¡ µ¿ÀÏÇÑ ¹°¸®Àû ³×Æ®¿÷ ³»¿¡ ÀÖÁö ¾Ê¾Æ µ¥ÀÌÅͱ׷¥ÀÌ ¶ó¿ìÅ͸¦ ÅëÇØ ÀüÇØÁú °æ¿ì, ÀÌ´Â ¸ðµç °ÍÀ» ´À¸®°Ô ¸¸µé¾î¹ö¸°´Ù. ÀÌ°ÍÀÌ ÀüºÎ´Â ¾Æ´Ï´Ù. À¯Àú°¡ ÀÚ½ÅÀÇ Æнº¿öµå¸¦ º¯°æÇÏ±æ ¿øÇÑ´Ù°í »ó»óÇÏÀÚ. º¸Åë ±×´Â passwd¸¦ ½ÇÇà½ÃÅ°´Âµ¥, ÀÌ´Â »õ Æнº¿öµå¸¦ ÀÐ¾î ·ÎÄà passwdÆÄÀÏÀ» ¾÷µ¥ÀÌÆ® ½ÃÅ°Áö¸¸, ±× ÆÄÀÏÀÌ ´õ ÀÌ»ó ·ÎÄà »ó¿¡¼ »ç¿ëÇÒ ¼ö ¾øÀº °ÍÀ¸¹Ç·Î NIS¿¡¼± ÀÌ°ÍÀÌ ºÒ°¡´ÉÇÏ´Ù. ±×µéÀÌ Æнº¿öµå¸¦ º¯°æÇÏ°íÀÚ ÇÒ ¶§¸¶´Ù NIS ¼¹ö¿¡ ·Î±×ÀÎ ÇÑ´Ù´Â °Í ¿ª½Ã ÁÁÀº ¹æ¹ýÀÌ ¾Æ´Ï´Ù. ±×¸®ÇÏ¿© NIS´Â passwdÀÇ ´ëü¹°ÀÎ yppasswd¶ó´Â °ÍÀ» Á¦°øÇϸç, ÀÌ°ÍÀº NISÀÇ Á¸ÀçÇÏ¿¡¼ À¯»çÇÑ ÀÏÀ» ¼öÇàÇÑ´Ù. ¼¹ö È£½ºÆ®ÀÇ Æнº¿öµå¸¦ º¯°æÇϱâÀ§Çؼ ±×°ÍÀº RPC¸¦ ÅëÇØ È£½ºÆ®ÀÇ yppasswdd µ¥¸ó¿¡ Á¢ÃËÇÏ¿© ¾÷µ¥ÀÌÆ®µÈ Æнº¿öµå Á¤º¸¸¦ ÀüÇØÁØ´Ù. º¸Åë, ´ÙÀ½°ú °°ÀÌ ÇÁ·Î±×·¥À» ±³Ã¼ÇÑ´Ù.
# cd /bin # mv passwd passwd.old # ln yppasswd passwd ÀÌ¿Í µ¿½Ã¿¡ ¼¹ö¿¡ rpc.yppasswd¸¦ ¼³Ä¡ÇÏ°í, rc.inet2¿¡¼ ±×°ÍÀ» ±¸µ¿½ÃÄѾßÇÑ´Ù. ÀÌ´Â NIS¿¡ÀÇÇØ º¯°æµÈ »ç½ÇÀ» »ç¿ëÀÚ°¡ ÀüÇô ´«Ä¡Ã§ ¼ö ¾øµµ·Ï ¸¸µç´Ù.
10.8 Using NIS with Shadow Support ¾ÆÁ÷ shadow login suite¸¦ »ç¿ëÇÏ´Â »çÀÌÆ®¸¦ Áö¿øÇÏ´Â NIS´Â ¾ø´Ù. shadow suiteÀÇ ÀúÀÚÀÎ John F. Haugh´Â ÃÖ±Ù¿¡ GNU ¶óÀ̺귯¸® GPLÀÇ º¸È£¸¦ ¹Þ´Â shadow ¶óÀ̺귯¸® ÇÔ¼ö¸¦ comp.sources.misc¿¡ ¸±¸®ÁîÇÏ¿´´Ù. ±×°ÍÀº ÀÌ¹Ì NIS¿¡ ¸î°¡Áö Áö¿øÀ» ÇÏ°í ÀÖÀ¸³ª ¿ÏÀüÇÏÁö´Â ¾ÊÀ¸¸ç, ±× ÆÄÀÏÀº Ç¥ÁØ C ¶óÀ̺귯¸®¿¡ ¾ÆÁ÷ Ãß°¡µÇÁö ¾Ê¾Ò´Ù. ¹Ý¸é, NIS¸¦ ÅëÇØ /etc/shadow ÆÄÀÏ¿¡¼ Á¤º¸¸¦ ¾ò´Â´Ù´Â ÀÏÀº, shadow suiteÀÇ ¿ø·¡ ¸ñÀû°ú´Â Èñ¹ÌÇÏ°Ô ¸¸µç´Ù. NYS Æнº¿öµå °Ë»öÇÔ¼ö°¡ shadow.byname mapÀ̳ª ±× ºñ½ÁÇÑ °ÍÀ» »ç¿ëÇÏÁö ¾ÊÀ½¿¡µµ, NYS´Â ·ÎÄà /etc/shadow ÆÄÀÏÀ» Åõ¸í¼ºÀÖ°Ô »ç¿ëÇÒ ¼ö ÀÖµµ·Ï Áö¿øÇØÁØ´Ù. getpwnamÀÇ NYS implementationÀÌ ÁÖ¾îÁø ·Î±×ÀÎ ³×ÀÓ¿¡ °ü·ÃµÈ Á¤º¸¸¦ °Ë»öÇ϶ó°í È£ÃâµÉ ¶§, nsswitch.conf ³»ÀÇ passwd ¿£Æ®¸®·Î ÁöÁ¤µÈ °ÍÀÌ queryµÈ´Ù. nis ¼ºñ½º´Â ´Ü¼øÈ÷ NIS ¼¹öÀÇ passwd.byname map ³»ÀÇ ³×ÀÓÀ» °Ë»öÇÒ °ÍÀÌ´Ù. ±×·¯³ª files ¼ºñ½º´Â /etc/shadow°¡ Á¸ÀçÇÏ´ÂÁö üũÇÏ°í, ¸¸¾à ±×·¸´Ù¸é ±×°ÍÀ» Çؼ®ÇÏ·Á°í ÇÒ °ÍÀÌ´Ù. ¸¸¾à ¾ø°Å³ª, À¯Àú°¡ root ±ÇÇÑÀ» °®°í ÀÖÁö ¾Ê´Ù¸é, /etc/passwd³»ÀÇ À¯Àú Á¤º¸¸¸À» °Ë»öÇÏ´Â ÀüÅëÀûÀÎ Çൿ¾ç½ÄÀ¸·Î µÇµ¹¾Æ°£´Ù. ±×·¯³ª shadow ÆÄÀÏÀÌ Á¸ÀçÇÏ°í ¿ ¼ö ÀÖ´Ù¸é, NYS´Â shadow¿¡¼ À¯Àú Æнº¿öµå¸¦ °ñ¶ó³½´Ù. getpwuid ÇÔ¼öµµ ±×¿Í°°ÀÌ ½ÇÇàµÈ´Ù. ÀÌ¿Í ºñ½ÁÇÏ°Ô, NYS¿¡ ¸Â°Ô ÄÄÆÄÀÏµÈ ¹ÙÀ̳ʸ®´Â ·ÎÄÿ¡ ¼³Ä¡µÈ shadow suiteµµ Åõ¸í¼ºÀÖ°Ô ´Ù·ê °ÍÀÌ´Ù.
10.9 Using the Traditional NIS Code ¸¸¾à ÇöÀçÀÇ Ç¥ÁØ libc¿¡ Àִ Ŭ¶óÀ̾ðÆ® Äڵ带 »ç¿ëÇÏ°í ÀÖ´Ù¸é, NIS¸¦ ¼³Á¤ÇÏ´Â°Ô ¾à°£ ´Ù¸£´Ù. ÇÑÆíÀ¸·Î, ±×°ÍÀº ypbind µ¥¸óÀ» »ç¿ëÇÏ¿© ¼³Á¤ÆÄÀÏ¿¡¼ ÀÌ Á¤º¸¸¦ °È¾îµéÀÌ´Â ´ë½Å, µ¿ÀÛÁßÀÎ ¼¹ö¿¡´ëÇØ broadcastÇÑ´Ù. ±×·¯¹Ç·Î ºÎÆýÿ¡ ypbind¸¦ ±¸µ¿½ÃÅ°´ÂÁö¸¦ È®ÀÎÇؾ߸¸ ÇÑ´Ù. ±×°ÍÀº ¹Ýµå½Ã NIS µµ¸ÞÀÎÀÌ ÁöÁ£µÇ°í RPC portmapper°¡ ±¸µ¿µÈ ÈÄ¿¡ ½ÇÇà µÇ¾î¾ßÇÑ´Ù. ¼¹ö°¡ Á¦´ë·Î µ¹¾Æ°¡´ÂÁö °Ë»çÇÏ´Â ypcatÀÇ Ãâ·ÂÀº À§¿¡¼ º» ÀûÀÌ ÀÖ´Ù. ÃÖ±Ù¿¡, "clntudp_create: RPC:portmapper failure - RPC: unable to receive"¶ó´Â ¿¡·¯¸¦ ³»°í NIS°¡ ½ÇÆÐÇϴµ¥ ´ëÇÑ ¼ö¸¹Àº ¹ö±×¸®Æ÷Æ®°¡ ÀÖ¾ú´Ù. ÀÌ´Â ¶óÀ̺귯¸® ÇÔ¼ö¿¡ ¹ÙÀεùÇÏ´Â ypbind Åë½Å¹æ¹ýÀÇ ºñ ȣȯ¼º¿¡¼ ºñ·ÔµÈ °ÍÀ¸·Î, NISÀÇ ÃÖ±Ù ¼Ò½º¸¦ ¾ò¾î ±×°ÍÀ» ÀçÄÄÆÄÀÏÇϸé ÀÌ ¹®Á¦°¡ ÇØ°áµÉ °ÍÀÌ´Ù. ÀüÅëÀûÀÎ NIS°¡ ·ÎÄà ÆÄÀÏ¿¡¼ÀÇ Á¤º¸¿Í NIS Á¤º¸¸¦ ¾î¶»°Ô Á¶ÇÕÇÏ´ÂÁö¸¦ °áÁ¤ÇÏ´Â ¹æ¹ýÀº, NYSÀÇ ±×°Í°ú´Â Â÷ÀÌ°¡ ÀÖ´Ù. ¿¹¸¦ µé¾î, NIS Æнº¿öµå map¸¦ »ç¿ëÇÏ·Á¸é /etc/passwd map ¾îµò°¡¿¡ ´ÙÀ½ÀÇ ¶óÀÎÀ» ³Ö¾îÁÖ¾î¾ßÇÑ´Ù.
+:*:-:0::: ÀÌ°ÍÀº Æнº¿öµå °Ë»ö ÇÔ¼ö°¡ NIS mapÀ» ³ÖÀ» À§Ä¡¸¦ Ç¥½ÃÇÏ´Â °ÍÀ¸·Î, ºñ½ÁÇÑ ¶óÀÎ(¸¶Áö¸· µÎ ÄÝ·ÐÀº Á¦¿ÜÇÑ)À» /etc/group ÆÄÀÏ¿¡ ³Ö´Â °ÍÀº group.* map¿¡´ëÇØ °°Àº ÀÏÀ» ÇÑ´Ù. NIS¸¦ »ç¿ëÇÏ¿© ¹èºÐµÇ´Â hosts.*À» »ç¿ëÇÏ·Á¸é, hosts.confÆÄÀÏÀÇ order ¶óÀÎÀ» º¯°æÇؾßÇÑ´Ù. ¿¹¸¦ µé¾î, NIS, DNS, /etc/hosts ÆÄÀÏÀÇ ¼ø¼·Î »ç¿ëÇÏ±æ ¹Ù¶õ´Ù¸é, ´ÙÀ½°ú °°ÀÌ º¯°æÇØÁà¾ß ÇÑ´Ù.
order yp bind hosts ÀüÅëÀûÀÎ NIS implementationÀº ÇöÀç ´Ù¸¥ mapÀ» Áö¿øÇÏÁö ¾Ê´Â´Ù.
| ||||||||||||||||||||||||||||||||||||||||
Other Chapters
1. Introduction to Networking | ||||||||||||||||||||||||||||||||||||||||
Appendix
A. A Null Printer Cable for PLIP |