LDAP Linux HOWTO <author>Luiz Ernesto Pinheiro Malere, <tt/malere@yahoo.com/ <date>v1.04, 2001³â 2¿ù 28ÀÏ <trans>¼­Á¤·æ, <tt/s_ryong@hotmail.com/ <tdate>2001³â 3¿ù 7ÀÏ <abstract> ÀÌ ¹®¼­´Â LDAP(Lightweight Directory Access Protocol) ¼­¹ö ¼³Ä¡, ¼³Á¤, ±¸µ¿ ¹× À¯Áö º¸¼ö¿¡ ´ëÇÑ Á¤º¸¸¦ ¼³¸íÇÑ´Ù. LDAP µ¥ÀÌŸº£À̽º »ý¼º, µ¥ÀÌŸº£À̽º³»ÀÇ Á¤º¸ °»½Å°ú »èÁ¦, ·Î¿ì¹Ö ¿¢¼¼½º ¼öÇà ¹× ³Ý½ºÄÉÀÌÇÁ ÁÖ¼Ò·Ï »ç¿ë ¹æ¹ý¿¡ ´ëÇÑ ¼¼ºÎ»çÇ×µµ ¼³¸íÇÑ´Ù. ÀÌ ¹®¼­´Â ´ëºÎºÐÀÌ ¹Ì½Ã°£ ´ëÇÐÀÇ Á¤º¸ ÆäÀÌÁö¿Í OpenLDAP °ü¸®ÀÚ Áöħ¿¡ ±Ù°ÅÇÑ´Ù. </abstract> <toc> <sect>¼Ò°³ <p> ÀÌ ¹®¼­´Â LDAP µð·ºÅ丮 ¼­¹ö¸¦ ¼³Ä¡ÇÏ¿© »ç¿ëÇϴµ¥ ÀÖ¾î µµ¿òÀ» ÁÖ±â À§ÇÑ °ÍÀ¸·Î LDAP ¼­¹öÀÇ ¼³Ä¡, ¼³Á¤, ±¸µ¿ ¹× À¯Áö º¸¼ö ¹æ¹ýÀ» ¹è¿î´Ù. ±× ÈÄ LDAP Ŭ¶óÀ̾ðÆ®¿Í À¯Æ¿¸®Æ¼¸¦ »ç¿ëÇÏ¿© µð·ºÅ丮³»¿¡ Á¤º¸¸¦ ÀúÀå, °Ë»ö ¹× °»½ÅÇÏ´Â ¹æ¹ýÀ» ¹è¿î´Ù. LDAP µð·ºÅ丮 ¼­¹ö µ¥¸ó, <em>slapd</em>Àº ¿©·¯°¡Áö ¸¹Àº UNIX Ç÷§Æû¿¡¼­ ÀÛµ¿µÈ´Ù. LDAP ¼­¹öµé°£ÀÇ »çº»À» ´Ù·ç´Â ´Ù¸¥ µ¥¸ó, <em>slurpd</em>ÀÌ Àִµ¥, ´çºÐ°£Àº ¿°µÎ¿¡ µÑ ÇÊ¿ä°¡ ¾ø´Ù. ÀÌ ¹®¼­¿¡¼­´Â »çº»¾øÀÌ, Áï slurpd µ¥¸ó¾øÀÌ, ´ÜÁö ·ÎÄà µµ¸ÞÀο¡ ´ëÇØ µð·ºÅ丮 ¼­ºñ½º¸¦ Á¦°øÇÏ´Â slapd µ¥¸ó¸¸À» ÀÛµ¿ÇÑ´Ù. ÀÌ ¹®¼­´Â °£´ÜÇÑ ¼­¹ö ¼³Á¤À» ´Ù·ç´Âµ¥ óÀ½ ½ÃÀÛÀ» À§ÇØ À¯ÀÍÇϸç ÃßÈÄ ÇÊ¿ä½Ã ´Ù¸¥ ¼³Á¤À¸·Î °»½ÅÇÏ´Â °ÍÀº ½±´Ù. ÀÌ ¹®¼­ÀÇ Á¤º¸´Â LDAP ÇÁ·ÎÅäÄÝ »ç¿ë¿¡ ´ëÇÑ Á¤È®ÇÑ ÃʱâÈ­¸¦ ¼³¸íÇÑ´Ù. ¾Æ¸¶µµ ÀÌ ¹®¼­¸¦ ÀÐÀº ÈÄ¿¡´Â ¸®´ª½º ¼­¹ö ´É·ÂÀÇ È®Àå»Ó¸¸ ¾Æ´Ï¶ó ±âÁ¸ÀÇ »ç¿ë°¡´ÉÇÑ C, C++ °ú ÀÚ¹Ù °³¹ß µµ±¸(JDKs)¸¦ »ç¿ëÇÏ¿© ÀÚ½ÅÀÇ Å¬¶óÀ̾ðÆ®¸¦ ÀÛ¼ºÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù. <sect1>LDAP¶õ ¹«¾ùÀΰ¡? <p> LDAP´Â µð·ºÅ丮 ¼­ºñ½º ¿¢¼¼½º¸¦ À§ÇÑ Å¬¶óÀ̾ðÆ®-¼­¹ö ÇÁ·ÎÅäÄÝ·Î Ãʱ⿡´Â X.500ÀÇ ÀüÀ§(front-end)·Î »ç¿ëµÇ¾úÀ¸³ª ½ºÅÄµå ¾ó·Ð(stand-alone) ¹× ´Ù¸¥ Á¾·ùÀÇ µð·ºÅ丮 ¼­¹öµé°ú ÇÔ²² »ç¿ëµÉ ¼ö ÀÖ´Ù. <sect1>µð·ºÅ丮 ¼­ºñ½º¶õ ¹«¾ùÀΰ¡? <p> µð·ºÅ丮´Â µ¥ÀÌŸº£À̽º¿Í À¯»çÇÏÁö¸¸ ´õ¿í ¼³¸íÀûÀÌ°í ¼Ó¼º¿¡ ±âÃÊÇÑ Á¤º¸¸¦ °®°í ÀÖ´Ù. µð·ºÅ丮³»ÀÇ Á¤º¸´Â ÀϹÝÀûÀ¸·Î ¾²±âº¸´Ù´Â Àбâ ÀÛ¾÷¿¡ ´õ¿í ºó¹øÈ÷ ÀÌ¿ëµÈ´Ù. µû¶ó¼­, µð·ºÅ丮´Â Åë»óÀûÀ¸·Î Á¤±Ô µ¥ÀÌŸº£À̽ºµéÀÌ ´Ù·®ÀÇ º¹ÀâÇÑ(high-volume complex) °»½ÅÀ» À§ÇØ »ç¿ëÇÏ´Â º¹ÀâÇÑ Ã³¸®(transaction) ¶Ç´Â ·Ñ¹é °èȹ(ÇÁ·Î±×·¥¿¡ µû¶ó ¹Ù·Î ÀüÀÇ Ã¼Å©Æ÷ÀÎÆ®·Î µ¹¾Æ°¡±â, roll-back)À» ¼öÇàÇÏÁö ¾Ê´Â´Ù. µð·ºÅ丮´Â ÀϹÝÀûÀ¸·Î, Àû¾îµµ Çã¿ëµÈ´Ù¸é, ÀüºÎ °»½ÅµÇ°Å³ª ¾Æ¹« °Íµµ º¯°æµÇÁö ¾Ê´Â´Ù. µð·ºÅ丮´Â ´Ù·®ÀÇ ¼ø¶÷(lookup) ¶Ç´Â °Ë»ö ¿¬»ê¿¡ ´ëÇØ ºü¸£°Ô ÀÀ´äÇϱâ À§ÇØ Á¶Á¤µÈ´Ù. µð·ºÅ丮´Â ÀÀ´ä ½Ã°£À» °¨¼Ò½ÃÅ°´Â ¹Ý¸é °¡¿ë¼º°ú ½Å·Ú¼ºÀ» Áõ´ë½ÃÅ°±â À§ÇØ Á¤º¸¸¦ ³Î¸® º¹Á¦ÇÒ ¼ö ÀÖ´Ù. µð·ºÅ丮 Á¤º¸°¡ º¹Á¦µÉ ¶§ º¹Á¦µÈ Á¤º¸µé »çÀÌÀÇ ÀϽÃÀûÀÎ ºÒÀÏÄ¡´Â °á±¹ ÀÏÄ¡µÈ´Ù¸é ¹«¹æÇÒ °ÍÀÌ´Ù. µð·ºÅ丮 ¼­ºñ½º¸¦ Á¦°øÇÏ´Â ¸¹Àº ´Ù¸¥ ¹æ¹ýÀÌ ÀÖ´Ù. °¢°¢ÀÇ ¹æ¹ýµéÀº ´Ù¾çÇÑ Á¾·ùÀÇ Á¤º¸°¡ µð·ºÅ丮¿¡ ÀúÀåµÇ´Â °ÍÀ» Çã¿ëÇϸç, ±×·¯ÇÑ Á¤º¸°¡ ¾î¶»°Ô ÂüÁ¶, ÁúÀÇ ¹× °»½ÅµÉ ¼ö ÀÖ´ÂÁö ¶Ç´Â Çã°¡¹ÞÁö ¾ÊÀº ¿¢¼¼½º·ÎºÎÅÍ ¾î¶»°Ô º¸È£µÇ´ÂÁö µî¿¡ ´ëÇÑ ¿©·¯°¡Áö ¿ä°ÇÀ» µÐ´Ù. ¾î¶² µð·ºÅ丮 ¼­ºñ½º´Â Á¦ÇÑµÈ »óȲ(¿¹¸¦ µé¸é ´Üµ¶ ¸Ó½Å¿¡¼­ finger ¼­ºñ½º)¿¡ ´ëÇؼ­ ¼­ºñ½º¸¦ Á¦°øÇÏ´Â Áö¿ªÀûÀÎ ¹Ý¸é ´Ù¸¥ ¼­ºñ½º´Â ´õ¿í ³ÐÀº »óȲ¿¡ ´ëÇؼ­ ¼­ºñ½º¸¦ Á¦°øÇÏ´Â ÀüüÀûÀÌ´Ù. <sect1>LDAP´Â ¾î¶»°Ô ÀÛµ¿Çϴ°¡? <p> LDAP µð·ºÅ丮 ¼­ºñ½º´Â Ŭ¶óÀ̾ðÆ®-¼­¹ö ¸ðµ¨¿¡ ±âÃÊÇϴµ¥, Çϳª ¶Ç´Â ±× ÀÌ»óÀÇ LDAP ¼­¹öµéÀÌ LDAP µð·ºÅ丮 Æ®¸® ¶Ç´Â ¹é¿£µå(backend) µ¥ÀÌŸº£À̽º¸¦ ±¸¼ºÇÏ´Â ÀڷḦ °®°í ÀÖ´Ù. LDAP Ŭ¶óÀ̾ðÆ®´Â LDAP ¼­¹ö¿¡ ¿¬°áÇØ ÁúÀÇÇϸç, ¼­¹ö´Â ´ä ¶Ç´Â Ŭ¶óÀ̾ðÆ®°¡ ´õ ¸¹Àº Á¤º¸¸¦ ¾òÀ» ¼ö ÀÖ´Â Æ÷ÀÎÅÍ(ÀϹÝÀûÀ¸·Î ´Ù¸¥ LDAP¼­¹ö)¸¦ °®°í ÀÀ´äÇÑ´Ù. Ŭ¶óÀ̾ðÆ®´Â ¾î¶² LDAP ¼­¹ö¿¡ ¿¬°áÇÏ´øÁö °£¿¡ µ¿ÀÏÇÑ µð·ºÅ丮 ±¸Á¶¸¦ º»´Ù; ÇÑ LDAP ¼­¹ö¿¡ º¸³»Áö´Â À̸§Àº ´Ù¸¥ LDAP¿¡ ÀÖÀ» ¼ö ÀÖ´Â µ¿ÀÏÇÑ ¿£Æ®¸®¸¦ ÂüÁ¶Çϸç ÀÌ°ÍÀÌ LDAP¿Í °°Àº ÀüüÀûÀÎ µð·ºÅ丮 ¼­ºñ½ºÀÇ Áß¿äÇÑ Æ¯Â¡ÀÌ´Ù. <sect1>LDAP ¹é¿£µå, °´Ã¼¿Í ¼Ó¼º <p> Slapd´Â ¼¼°³ÀÇ ´Ù¸¥ ¹é¿£µå µ¥ÀÌŸº£À̽º Áß¿¡¼­ Çϳª¸¦ ¼±ÅÃÇÒ ¼ö ÀÖ´Ù; °í¼º´É µð½ºÅ©¿¡ ±âÃÊÇÑ µ¥ÀÌŸº£À̽º LDBM, ÀÓÀÇÀÇ À¯´Ð½º ¸í·É¾î ¶Ç´Â ½© ½ºÅ©¸³Æ®¿¡ ´ëÇÑ µ¥ÀÌŸº£À̽º ÀÎÅÍÆäÀ̽º SHELL, °£´ÜÇÑ Æнº¿öµå ÆÄÀÏ µ¥ÀÌŸº£À̽ºÀÎ PASSWD. ÀÌ ¹®¼­¿¡¼­´Â LDBM µ¥ÀÌŸº£À̽º°¡ ¼±ÅÃµÈ´Ù°í °¡Á¤ÇÑ´Ù. LDBM µ¥ÀÌŸº£À̽º´Â µ¥ÀÌŸº£À̽º³»ÀÇ °¢ ¿£Æ®¸®¿¡ ÄÞÆÑÆ®ÇÑ 4 ¹ÙÀÌÆ®ÀÇ °íÀ¯ÇÑ ½Äº°ÀÚ¸¦ ÇÒ´çÇÔÀ¸·Î½á ÀÛµ¿ÇÑ´Ù. µ¥ÀÌŸº£À̽º´Â ¿£Æ®¸® °íÀ¯ ½Äº°ÀÚ(entry's unique identifier, EID)¸¦ ¿£Æ®¸® ÀÚü¸¦ Ç¥ÇöÇÏ´Â ÅؽºÆ®·Î »ç»óÇØÁÖ´Â id2entry¶ó´Â ÇϳªÀÇ ÁÖ À妽º ÆÄÀÏ·Î ±¸¼ºµÇ´Âµ¥ ´Ù¸¥ À妽º ÆÄÀϵ鵵 ¸¶Âù°¡Áö·Î À¯ÁöµÈ´Ù. LDAP¿¡ ±âÃÊÇÑ µð·ºÅ丮 ¼­¹öµé°£ÀÇ µð·ºÅ丮 Á¤º¸¸¦ import ¹× export Çϰųª µð·ºÅ丮¿¡ Àû¿ëµÇ¾îÁö·Á°í ÇÏ´Â ÀÏ·ÃÀÇ º¯°æµéÀ» ±â¼úÇϱâ À§ÇØ LDIF(LDAP Data Interchange Format) ÆÄÀÏ Æ÷¸ËÀÌ ÀϹÝÀûÀ¸·Î »ç¿ëµÈ´Ù. LDIF ÆÄÀÏÀº ¿£Æ®¸®ÀÇ °´Ã¼ÁöÇâ °èÃþ ±¸Á¶³»¿¡ Á¤º¸¸¦ ÀúÀåÇϴµ¥ LDAP ¼ÒÇÁÆ®¿þ¾î ÆÐÅ°Áö¿¡´Â LDIF ÆÄÀÏÀ» LDBM Æ÷¸ËÀ¸·Î º¯È­ÇØÁÖ´Â À¯Æ¿¸®Æ¼°¡ ÀÖ´Ù. ÀϹÝÀûÀÎ LDIF ÆÄÀÏÀº ´ÙÀ½Ã³·³ º¸ÀδÙ: <tscreen><verb> dn: o=TUDelft, c=NL o: TUDelft objectclass: organization dn: cn=Luiz Malere, o=TUDelft, c=NL cn: Luiz Malere sn: Malere mail: malere@yahoo.com objectclass: person </verb></tscreen> À§¿¡¼­ º¸µíÀÌ °¢ ¿£Æ®¸®´Â ±¸º°µÇ´Â À̸§(DN, distinguished name)¿¡ ÀÇÇØ °íÀ¯ÇÏ°Ô ½Äº°µÇ¸ç DNÀº ¿£Æ®¸®ÀÇ À̸§°ú ¿£Æ®¸®¸¦ ÅëÇØ µð·ºÅ丮 °èÃþ ±¸Á¶ÀÇ ÃÖ»óÀ§¸¦ ã´Â À̸§µéÀÇ °æ·Î·Î ±¸¼ºµÈ´Ù. LDAP¿¡¼­ °´Ã¼ Ŭ·¡½º´Â ¿£Æ®¸®¸¦ Á¤ÀÇÇϴµ¥ »ç¿ëµÉ ¼ö ÀÖ´Â ¼Ó¼º ÁýÇÕÀ» Á¤ÀÇÇÑ´Ù. LDAP Ç¥ÁØÀº ´ÙÀ½°ú °°Àº ±âº» ÇüÅÂÀÇ °´Ã¼ Ŭ·¡½º¸¦ Á¦°øÇÑ´Ù: <itemize> <item>°³º° °´Ã¼ ¶Ç´Â °´Ã¼ ±×·ìÀÇ Á¤·ÄµÇÁö ¾ÊÀº ¸®½ºÆ®¸¦ Æ÷ÇÔÇÏ°í ÀÖ´Â µð·ºÅ丮³» ±×·ì <item> ±¹°¡¸í°ú ¼³¸í(description)°ú °°Àº Àå¼Ò <item> µð·ºÅ丮³» Á¶Á÷ <item> µð·ºÅ丮³» »ç¶÷ </itemize> ¿£Æ®¸®´Â Çϳª ÀÌ»óÀÇ °´Ã¼ Ŭ·¡½º¿¡ ¼ÓÇÒ ¼ö Àִµ¥, ¿¹¸¦ µé¸é »ç¶÷¿¡ ´ëÇÑ ¿£Æ®¸®´Â <em>person</em> °´Ã¼ Ŭ·¡½º¿¡ ÀÇÇØ Á¤ÀǵÇÁö¸¸ inetOrgPerson, groupOfNames¿Í Organization °´Ã¼ Ŭ·¡½º³»ÀÇ ¼Ó¼º¿¡ ÀÇÇؼ­µµ Á¤ÀÇµÉ ¼ö ÀÖ´Ù. ¼­¹öÀÇ °´Ã¼ Ŭ·¡½º ±¸Á¶(Áï ½ºÅ°¸¶, schema)´Â Ưº°ÇÑ ¿£Æ®¸®¿¡ ´ëÇØ Çʼö ¹× Çã¿ë ¼Ó¼ºµéÀÇ ÃÑ ¸®½ºÆ®¸¦ °áÁ¤ÇÑ´Ù. µð·ºÅ丮 ÀÚ·á´Â ¼Ó¼º-°ª ½ÖÀ¸·Î Ç¥ÇöµÇ´Âµ¥ Á¤º¸ÀÇ ¾î¶² ƯÁ¤ ºÎºÐÀº ¼³¸íÀû ¼Ó¼º°ú ¿¬°áµÈ´Ù. ¿¹¸¦ µé¸é, commonName ¶Ç´Â cn ¼Ó¼ºÀº »ç¶÷ÀÇ À̸§À» ÀúÀåÇϴµ¥ »ç¿ëµÈ´Ù. Jonas Salk¶ó´Â À̸§À» °®´Â »ç¶÷Àº µð·ºÅ丮³»¿¡¼­ ´ÙÀ½°ú °°ÀÌ Ç¥ÇöµÉ ¼ö ÀÖ´Ù. <tscreen><verb> cn: Jonas Salk </verb></tscreen> µð·ºÅ丮³»¿¡ µé¾î°¡´Â °¢ »ç¶÷Àº <em>person</em> °´Ã¼ Ŭ·¡½º³»ÀÇ ¼Ó¼º ÁýÇÕ¿¡ ÀÇÇØ Á¤ÀǵǴµ¥ ÀÌ ¿£Æ®¸®¸¦ Á¤ÀÇÇϱâ À§ÇØ »ç¿ëÇÏ´Â ´Ù¸¥ ¼Ó¼ºµéÀº ´ÙÀ½À» Æ÷ÇÔÇÒ ¼ö ÀÖ´Ù. <tscreen><verb> givenname: Jonas surname: Salk mail: jonass@airius.com </verb></tscreen> Çʼö ¼Ó¼ºµéÀº °´Ã¼ Ŭ·¡½º¸¦ »ç¿ëÇÏ´Â ¿£Æ®¸®¿¡ Á¸ÀçÇØ¾ß ÇÏ´Â ¼Ó¼ºµéÀ» Æ÷ÇÔÇϴµ¥ ¸ðµç ¿£Æ®¸®µéÀº ¿£Æ®¸®°¡ ¼ÓÇÏ´Â °´Ã¼ Ŭ·¡½º°¡ ¸®½ºÆ®µÇ¾î ÀÖ´Â objectClass ¼Ó¼ºÀ» ÇÊ¿ä·Î ÇÑ´Ù. Çã¿ë ¼Ó¼ºµéÀº °´Ã¼ Ŭ·¡½º¸¦ »ç¿ëÇÏ´Â ¿£Æ®¸®¿¡ Á¸ÀçÇÒ ¼ö ÀÖ´Â ¼Ó¼ºµéÀ» Æ÷ÇÔÇϴµ¥ ¿¹¸¦ µé¸é person °´Ã¼ Ŭ·¡½º¿¡¼­ cn °ú sn ¼Ó¼ºÀº ÇʼöÁö¸¸ description, telephoneNumber, seeAlso¿Í userpassword ¼Ó¼ºµéÀº Çʼö°¡ ¾Æ´Ñ Çã¿ëµÈ °ÍµéÀÌ´Ù. °¢ ¼Ó¼ºÀº ¼Ó¼º¿¡ ÀÇÇØ Á¦°øµÇ´Â Á¤º¸ À¯ÇüÀ» ±â¼úÇÏ´Â ÇØ´ç ±¸¹®(syntax) Á¤ÀǸ¦ °®´Â´Ù: <itemize> <item>bin binary (¹ÙÀ̳ʸ®) <item>ces case exact string (case´Â ºñ±³½Ã ÀÏÄ¡ÇØ¾ß ÇÑ´Ù) <item>cis case ignore string (case´Â ºñ±³½Ã ¹«½ÃµÈ´Ù) <item>tel telephone number string (cis¿Í °°Áö¸¸ ºñ±³½Ã °ø¹é°ú ´ë½Ã±âÈ£ `-' ´Â ¹«½ÃµÈ´Ù) <item>dn distinguished name (±¸º°µÇ´Â À̸§) </itemize> Objectclass¿Í ¼Ó¼º Á¤ÀǵéÀÌ ½Ã½ºÅÛÀÇ ¾îµð¿¡ ÀÖ´ÂÁö¸¦ ¾Ë±â À§Çؼ­´Â <ref id="3Àý">ÀÇ Ã¹ ¹®´ÜÀ¸·Î °¡¶ó. <sect1>¹®¼­ÀÇ »õ·Î¿î ¹öÀü <p> ÀÌ ¹®¼­´Â µ¶Àڵ鿡 ÀÇÇØ Á¦°øµÇ´Â Çǵå¹é¿¡ ±âÃÊÇØ ¼öÁ¤°ú °»½ÅµÉ ¼ö ÀÖ´Ù. ÀÌ ¹®¼­ÀÇ »õ·Î¿î ¹öÀü¿¡ ´ëÇؼ­´Â ´ÙÀ½À» ÂüÁ¶ÇØ¾ß ÇÑ´Ù: <url url="http://www.mobilesoft.com.br/HOWTO/LDAP-HOWTO.html"> <sect1>ÀÇ°ß°ú Á¦¾È <p> ÀÌ ¹®¼­¿¡¼­ »ç¿ëÇÒ ¼ö ÀÖ´Â ¾î¶² Á¤º¸¿¡ ´ëÇØ ¾î¶² ÀDZ¸½ÉÀÌ ÀÖ´Ù¸é ´ÙÀ½ ÀüÀÚ¿ìÆí ÁÖ¼Ò·Î ¸ÞÀÏÀ» º¸³»ÁÖ±æ ¹Ù¶õ´Ù. <htmlurl url="mailto:malere@yahoo.com" name="malere@yahoo.com"> ÁÖ¼®°ú/¶Ç´Â Á¦¾ÈÀÌ ÀÖ´Ù¸é ¶ÇÇÑ ÀúÀÚ¿¡°Ô ¾Ë·ÁÁÖ±æ ¹Ù¶õ´Ù. <sect1>¹®¼­ ¹ßÇ¥ ±â·Ï <p> ÀÌ ÀýÀº ½Ã±âº°·Î ºÐ·ùµÈ º» ¹ßÇ¥ ¹®¼­¸¦ ¿­°ÅÇÑ´Ù. °¢ ¹ßÇ¥ ¹®¼­´Â Ãʱ⠹öÀü¿¡ µµÀÔµÈ º¯°æ, »õ·Î¿î Ãß°¡ »çÇ× ¹× ¼öÁ¤À» Æ÷ÇÔÇÑ´Ù. v1.0: 20 June 1999, Initial version. v1.01: 15 February 2000, added the following sections: <itemize> <item>LDAP Migration Tools <item>Authentication using LDAP <item>Graphical LDAP tools <item>RFCs </itemize> v1.02: 13 September 2000, correction of typos and addition of the following section: <itemize> <item>History of Releases </itemize> v1.03: 28 September 2000, presenting OpenLDAP 2.0, which comprises Ldap v3, defined on the <url url="ftp://ftp.isi.edu/in-notes/rfc2251.txt" name="RFC2251">. v1.04: 28 Februrary 2001, correction of more typos and update on the following sections: <itemize> <item>Roaming Access <item>Authentication using LDAP </itemize> <sect1>Acknowledgments <p> ÀÌ ¹®¼­´Â NetherlandsÀÇ TUDelft ´ëÇп¡¼­ ¼öÇàÇÑ ÀÎÅϽÊÀÇ °á°úÀÌ´Ù. ÀúÀÚ´Â ÀÌ ¹®¼­¸¦ ¾²µµ·Ï ¿ë±â¸¦ ÁØ ¸¹Àº ºÐµé¿¡°Ô °í¸¶¿òÀ» Ç¥ÇöÇÏ°í ½Í´Ù: Rene van Leuken°ú Wim Tiwon¿¡ ¸Å¿ì °í¸¿°Ô »ý°¢ÇÑ´Ù. ±×µéÀº ¶ÇÇÑ ÀúÀÚ¿Í °°Àº ¸®´ª½º ÆÒµéÀÌ´Ù. ÀúÀÚ´Â ÀÌ ¹®¼­¿¡ ±â¿©ÇÑ µ¶ÀϾîÆÇ LDAP HOWTO ¹®¼­ÀÇ ÀúÀÚÀÎ Thomas Bendler¿Í LDP ÇÁ·ÎÁ§Æ®ÀÇ À§´ëÇÑ Áö¿øÀÚÀÎ Joshua¿¡°Ô °í¸¶¿òÀ» Ç¥ÇöÇÏ°í ½Í´Ù. <sect1>Copyright and Disclaimer <p> The LDAP Linux HOWTO is Copyrighted 1999 by Luiz Ernesto Pinheiro Malere. It can be distributed freely. It cannot be modified. If you have any kind of sugestion, please send me an email (I will update the document if the sugestion proceeds). If you want a translation, for example to Portuguese, you can send me an email about it too. No liability for the contents of this document can be accepted. I have no responsability about the consequences of following the steps provided in this document. If you have questions, please contact, the Linux HOWTO coordinator, at <htmlurl url="mailto:linux-howto@metalab.unc.edu" name="linux-howto@metalab.unc.edu"> <sect>LDAP ¼­¹ö ¼³Ä¡Çϱâ <p> LDAP ¼­¹ö ¼³Ä¡´Â ¼±Çà Çʼö ÆÐÅ°Áö ¼³Ä¡(¼³Ä¡µÇ¾î ÀÖÁö ¾ÊÀ» °æ¿ì), ¼­¹ö ´Ù¿î·Îµå, ¼ÒÇÁÆ®¿þ¾î ¾ÐÃàÇØü, Makefile ¼³Á¤°ú ¼­¹ö ±¸ÃàÀÇ ´Ù¼¸ ´Ü°è¸¦ ÅëÇØ ÀÌ·ç¾îÁø´Ù. <sect1>¼±Çà Çʼö, Pre-Requirements <p> LDAP ¹öÀü 3À» ¿ÏÀüÈ÷ µû¸£±â À§ÇØ OpenLDAP Ŭ¶óÀ̾ðÆ®¿Í ¼­¹ö´Â ¾à°£ÀÇ ºÎ°¡ÀûÀÎ ÆÐÅ°ÁöÀÇ ¼³Ä¡¸¦ ÇÊ¿ä·ÎÇÑ´Ù: <em>OpenSSL TLS libraries</em> ¾î¶² ¿î¿µÃ¼Á¦°¡ ÀÌ ¶óÀ̺귯¸®¸¦ ±âº» ½Ã½ºÅÛÀÇ ºÎºÐ ¶Ç´Â ¼±ÅÃÀûÀÎ ¼ÒÇÁÆ®¿þ¾î ÄÄÆ÷³ÍÆ®·Î Á¦°øÇÒ ¼ö ÀÖÁö¸¸, OpenSSLÀº Á¾Á¾ º°µµÀÇ ¼³Ä¡¸¦ ÇÊ¿ä·Î ÇÑ´Ù. OpenSSLÀº ´ÙÀ½ »çÀÌÆ®¿¡¼­ ±¸ÇÒ ¼ö ÀÖ´Ù. <url url="http://www.openssl.org/"> <em>Kerberos Authentication Services</em> OpenLDAP Ŭ¶óÀ̾ðÆ®¿Í ¼­¹ö´Â Kerberos¿¡ ±âÃÊÇÑ ÀÎÁõ ¼­ºñ½º¸¦ Áö¿øÇϴµ¥ ƯÈ÷ Heimdal ¶Ç´Â MIT Kerberos V ÆÐÅ°Áö¸¦ ÀÌ¿ëÇÑ SASL/GSAPI ÀÎÁõ ±â±¸¸¦ Áö¿øÇÑ´Ù. Kerberos¿¡ ±âÃÊÇÑ SASL/GSSAPI ÀÎÁõÀ» »ç¿ëÇÏ°í ½Í´Ù¸é Heimdal ¶Ç´Â MIT Kerberos V¸¦ ¼³Ä¡ÇØ¾ß ÇÑ´Ù. Heimdal Kerbero´Â <url url="http://www.pdc.kth.se/heimdal">·ÎºÎÅÍ ±¸ÇÒ ¼ö ÀÖ´Ù. MIT Kerberos´Â <url url="http://web.mit.edu/kerberos/www">·ÎºÎÅÍ ±¸ÇÒ ¼ö ÀÖ´Ù. Kerberos°¡ Á¦°øÇÏ´Â °Í°ú °°Àº °­·ÂÇÑ ÀÎÁõ ¼­ºñ½ºÀÇ »ç¿ëÀ» °­·ÂÈ÷ ÃßõÇÑ´Ù. <em>Cyrus's Simple Authentication and Security Layer Libraries</em> ¾î¶² ¿î¿µÃ¼Á¦°¡ ÀÌ ¶óÀ̺귯¸®¸¦ ±âº» ½Ã½ºÅÛÀÇ ºÎºÐ ¶Ç´Â ¼±ÅÃÀûÀÎ ¼ÒÇÁÆ®¿þ¾î ÄÄÆ÷³ÍÆ®·Î Á¦°øÇÒ ¼ö ÀÖÁö¸¸, Cyrus SASLÀº Á¾Á¾ º°µµÀÇ ¼³Ä¡¸¦ ÇÊ¿ä·Î ÇÑ´Ù. Cyrus SASLÀº <url url="http://asg.web.cmu.edu/sasl/sasl-library.html">·ÎºÎÅÍ ±¸ÇÒ ¼ö ÀÖ´Ù. Cyrus SASLÀº OpenSSL°ú Kerberos/GSSAPI ¶óÀ̺귯¸®°¡ ¹Ì¸® ¼³Ä¡µÇ¾î ÀÖ´Ù¸é À̵éÀ» »ç¿ëÇÒ °ÍÀÌ´Ù. <em>Database Software</em> OpenLDAPÀÇ slapd ±âº» µ¥ÀÌÅͺ£À̽º ¹é¿£µåÀÎ LDBMÀº ¿£Æ®¸® ÀúÀåÀ» À§ÇØ È£È¯¼º µ¥ÀÌŸº£À̽º ÆÐÅ°Áö¸¦ ÇÊ¿ä·Î ÇÑ´Ù. LDBMÀº Sleepycat ¼ÒÇÁÆ®¿þ¾îÀÇ BerkeleyDB(Ãßõ) ¶Ç´Â ÀÚÀ¯ ¼ÒÇÁÆ®¿þ¾î Àç´Ü(FSF, Free Software Foundation)ÀÇ GNU µ¥ÀÌŸº£À̽º ¸Å´ÏÀú(GDBM)¿Í ȣȯµÈ´Ù. ÀÌ·¯ÇÑ ÆÐÅ°ÁöµéÀ» ¼³Á¤½Ã ÀÌ¿ëÇÒ ¼ö ¾ø´Ù¸é ±âº» µ¥ÀÌŸº£À̽º ¹é¿£µå Áö¿øÀ» ÇÏ´Â slapd µ¥¸óÀ» ±¸ÃàÇÒ ¼ö ¾øÀ» °ÍÀÌ´Ù. ¿î¿µÃ¼Á¦°¡ ±âº» ½Ã½ºÅÛ³»¿¡¼­ ¶Ç´Â ¼±ÅÃÀûÀÎ ¼ÒÇÁÆ®¿þ¾î ÄÄÆ÷³ÍÆ®·Î½á µÎ ÆÐÅ°Áö Áß Çϳª¸¦ Á¦°øÇÒ ¼ö Àִµ¥ ÀÌ·¯ÇÑ ¼ÒÇÁÆ®¿þ¾î¸¦ ±¸Çؼ­ ¼³Ä¡ÇÒ ÇÊ¿ä°¡ ÀÖ´Ù. BerkekeyDB ´Â Sleepycat ¼ÒÇÁÆ®¿þ¾îÀÇ ´Ù¿î·Îµå ÆäÀÌÁö <url url="ttp://www.sleepycat.com/download.html">·ÎºÎÅÍ ±¸ÇÒ ¼ö ÀÖ´Ù. ¿©·¯ ¹öÀüÀ» ÀÌ¿ëÇÒ ¼ö Àִµ¥ ÀÌ ¹®¼­¸¦ ÀÛ¼ºÇÏ´Â ½ÃÁ¡¿¡´Â ÃֽŠ¹èÆ÷º» ¹öÀü 3.1 ÀÌ ÃßõµÈ´Ù. GDBMÀº FSFÀÇ ´Ù¿î·Îµå »çÀÌÆ® <url url="ftp://ftp.gnu.org/pub/gnu/gdbm">·ÎºÎÅÍ ±¸ÇÒ ¼ö Àִµ¥ ÀÌ ¹®¼­¸¦ ÀÛ¼ºÇÏ´Â ½ÃÁ¡¿¡´Â ¹öÀü 1.8 ÀÌ ÃֽŠ¹èÆ÷º»ÀÌ´Ù. <em>Threads</em> OpenLDAP´Â ¾²·¹µå¸¦ ÀÌ¿ëÇÒ ¼ö ÀÖµµ·Ï ¼³°èµÇ¾î Àִµ¥ POSIX pthreads, Mach CThreads¿Í ¸¹Àº ´Ù¸¥ º¯ÇüµéÀ» Áö¿øÇÑ´Ù. <em>configure</em> ½ºÅ©¸³Æ®°¡ ÀûÇÕÇÑ ¾²·¹µå ÇÏÀ§ ½Ã½ºÅÛÀ» ãÀ» ¼ö ¾ø´Ù¸é ¿¡·¯ ¸Þ¼¼Áö¸¦ Ãâ·ÂÇϴµ¥ ÀÌ·± °æ¿ì OpenLDAP FAQÀÇ ¼ÒÇÁÆ®¿þ¾î - ¼³Ä¡ - Ç÷§Æû ÈùÆ® ÀýÀ» ÂüÁ¶ÇÏ±æ ¹Ù¶õ´Ù. <url url="http://www.openldap.org/faq"> <em>TCP Wrappers</em> <em>slapd</em>´Â TCP wrappers(IP ·¹º§ ¿¢¼¼½º Á¦¾î ÇÊÅÍ)°¡ ÀÌ¹Ì ¼³Ä¡µÇ¾î ÀÖ´Ù¸é À̸¦ Áö¿øÇϴµ¥ °³ÀÎÀûÀÎ ºñ°ø°³ Á¤º¸¸¦ Æ÷ÇÔÇÏ´Â ¼­¹ö º¸¾ÈÀ» À§ÇØ TCP wrappers ¶Ç´Â ´Ù¸¥ IP ·¹º§ ¿¢¼¼½º ÇÊÅÍ(IP ·¹º§ ¹æÈ­º®ÀÌ Á¦°øÇÏ´Â °Í°ú °°Àº) »ç¿ëÀ» ÃßõÇÑ´Ù. <sect1>ÆÐÅ°Áö ´Ù¿î·Îµå ¹Þ±â <p> LDAP ¼­¹ö·Î´Â Michigan ´ëÇÐ LDAP ¼­¹ö¿Í OpenLDAP ¼­¹ö µÎ Á¾·ùÀÇ ÀÚÀ¯·ÎÀÌ ¹èÆ÷µÇ´Â LDAP ¼­¹ö°¡ ÀÖÀ¸¸ç ¶ÇÇÑ ³Ý½ºÄÉÀÌÇÁ µð·ºÅ丮 ¼­¹öµµ ¾î¶² Á¶°ÇÇÏ¿¡¼­´Â ÀÚÀ¯·ÎÀÌ »ç¿ëÇÒ ¼ö ÀÖ´Ù(¿¹¸¦ µé¸é ±³À°±â°üÀº ÀÚÀ¯·ÎÀÌ ¾òÀ» ¼ö ÀÖ´Ù). OpenLDAP ¼­¹ö´Â Michigan ´ëÇÐ LDAP ¼­¹öÀÇ ÃֽŠ¹öÀü¿¡ ±âÃÊÇϴµ¥ ±× ¹öÀü¿¡ ´ëÇØ ÀÌ¿ëÇÒ ¼ö ÀÖ´Â ¸ÞÀϸµ ¸®½ºÆ®¿Í ºÎ°¡Àû ¹®¼­°¡ ÀÖ´Ù. ÀÌ ¹®¼­´Â OpenLDAP ¼­¹öÀÇ »ç¿ëÀ» °¡Á¤ÇÑ´Ù. ÃֽŠtar gzipped ¹öÀüÀº ´ÙÀ½ ÁÖ¼Ò¿¡¼­ ±¸ÇÒ ¼ö ÀÖ´Ù: <url url="http://www.openldap.org/"> Michigan ´ëÇÐ LDAP ¼­¹öÀÇ ÃֽŠ¹öÀüÀº ´ÙÀ½ ÁÖ¼Ò¿¡¼­ ±¸ÇÒ ¼ö ÀÖ´Ù: <url url="ftp://terminator.rs.itd.umich.edu/ldap"> ÀÌ ¹®¼­¸¦ ÀÛ¼ºÇϱâ À§ÇØ ÀúÀÚ´Â ÃֽŠ¾ÈÁ¤ ¹öÀü 1.2.11°ú »õ·ÎÀÌ ¹èÆ÷µÈ 2.0.4 ¹öÀü µÎ°¡Áö OpenLDAP ÆÐÅ°Áö¸¦ »ç¿ëÇß´Ù. ¿î¿µÃ¼Á¦´Â Ä¿³Î 2.2.13ÀÎ ½½·¢¿þ¾î ¸®´ª½ºÀÌ´Ù. OpenLDAP »çÀÌÆ®¿¡¼­ ´Ã OpenLDAP ¼­¹öÀÇ ÃֽŠ°³¹ß ¹× ¾ÈÁ¤ ¹öÀüÀ» ãÀ» ¼ö ÀÖ´Ù. ÀÌ ¹®¼­°¡ °»½ÅµÇ¾ú´ø ½ÃÁ¡±îÁö ÃֽŠ¾ÈÁ¤ ¹öÀü°ú ÃֽŠ°³¹ß ¹öÀüÀº °¢°¢ openldap-stable-20000704.tgz°ú openldap-2.0.4.tgz ¿´´Ù. <sect1>ÆÐÅ°Áö ¾ÐÃàÇØÁ¦ Çϱâ <p> tar gzipped ÆÐÅ°Áö¸¦ ±¸ÇÑ ÈÄ ¾ÐÃàÇØÁ¦ÇÑ´Ù. ¿ì¼± ÆÐÅ°Áö¸¦ ¿øÇÏ´Â µð·ºÅ丮, ¿¹¸¦ µé¸é /usr/local, ·Î º¹»çÇÏ±æ ¹Ù¶õ´Ù. ±×¸®°í ´ÙÀ½ÀÇ ¸í·ÉÀ» »ç¿ëÇÏ±æ ¹Ù¶õ´Ù: <tscreen><verb> tar xvzf openldap-stable.tgz </verb></tscreen> ¸¶Âù°¡Áö·Î ´ÙÀ½ ¸í·ÉÀ» »ç¿ëÇÒ ¼öµµ ÀÖ´Ù: <tscreen><verb> gunzip openldap-stable.tgz | tar xvf - </verb></tscreen> <sect1>¼ÒÇÁÆ®¿þ¾î ¼³Á¤Çϱâ <p> À¥»çÀÌÆ®¿¡ ÃÖÀûÀÇ ¼ÒÇÁÆ®¿þ¾î¸¦ ¼³Ä¡ÇÒ ¼ö ÀÖµµ·Ï °³º°È­(customization)ÇÒ ¼ö ÀÖ´Â ¿©·¯ ¿É¼ÇµéÀÌ ÀÖ´Ù. ¼ÒÇÁÆ®¿þ¾î´Â ´ÜÁö µÎ ´Ü°è¿¡ ÀÇÇØ ¼³Á¤µÈ´Ù: <itemize> <item> ¼ÒÇÁÆ®¿þ¾î¸¦ ¾ÐÃàÇØÁ¦ÇÑ µð·ºÅ丮 ¹ØÀÇ ÇÏÀ§ µð·ºÅ丮 <em>include</em>¿¡ À§Ä¡ÇÑ <em>ldapconfig.h.edit</em> ÆÄÀÏÀ» ÆíÁýÇÑ´Ù <item> configure ½ºÅ©¸³Æ®¸¦ ½ÇÇà½ÃŲ´Ù (È£±â½ÉÀÌ ¸¹´Ù¸é configure ½ºÅ©¸³Æ®¸¦ ½ÇÇà½ÃÅ°´Â ´ë½Å Make-common ÆÄÀÏÀ» ÆíÁýÇÒ ¼ö ÀÖ´Ù) </itemize> include/ldapconfig.h.edit ÆÄÀϾȿ¡¼­ slapd¿Í slurpd µ¥¸óÀÇ À§Ä¡¿Í °°Àº ¿É¼ÇÀ» ¼³Á¤ÇÒ ¼ö ÀÖ´Ù. ÆÄÀÏÀÚü°¡ Àß ÁÖ¼®Ã³¸® µÇ¾î ÀÖ°í default ¼³Á¤Àº ´ëºÎºÐÀÇ ÀϹÝÀûÀÎ °ü¸®ÀÚ ¼±ÅÃÀ» ¹Ý¿µÇÏ°í Àִµ¥ ±ÞÇÏ´Ù¸é ÀÌ ´Ü°è¸¦ Áö³ªÄ¥ ¼ö ÀÖ´Ù: <tscreen><verb> vi include/ldapconfig.h.edit </verb></tscreen> OpenLDAP ¼­¹ö ¼Ò½º´Â ¼³Ä¡ µð·ºÅ丮, ÄÄÆÄÀÏ·¯¿Í ¸µÄ¿ Ç÷¡±×¿Í °°Àº ¿É¼Ç ¼³Á¤À» À§ÇÑ ¼³Á¤ ½ºÅ©¸³Æ®¿Í ÇÔ²² ¹èÆ÷µÇ´Âµ¥ ¼ÒÇÁÆ®¿þ¾î¸¦ ¾ÐÃàÇØÁ¦ÇÑ µð·ºÅ丮¿¡¼­ ´ÙÀ½ ¸í·ÉÀ» ½ÇÇà½ÃŲ´Ù: <tscreen><verb> ./configure --help </verb></tscreen> ÀÌ ¸í·ÉÀº ¼ÒÇÁÆ®¿þ¾î¸¦ ¼³Ä¡Çϱâ Àü¿¡ configure ½ºÅ©¸³Æ®¸¦ °®°í °³º°È­ÇÒ ¼ö ÀÖ´Â ¸ðµç ¼±ÅûçÇ×À» Ãâ·ÂÇÒ °ÍÀÌ´Ù. ¼³Ä¡ µð·ºÅ丮 ¼³Á¤¿¡ °üÇÑ À¯¿ëÇÑ ¿É¼ÇÀº --prefix=pref, --exe-prefix=eprefix ¿Í --bindir=dir °¡ ÀÖ´Ù. ÀϹÝÀûÀ¸·Î ¿É¼Ç¾øÀÌ configure¸¦ ½ÇÇà½ÃŲ´Ù¸é ½ºÅ©¸³Æ®°¡ ÀûÀýÇÑ ¼³Á¤À» ÀÚµ¿ÀûÀ¸·Î ÀÎÁöÇؼ­ default·Î °øÅë À§Ä¡¿¡ ¼³Ä¡Çϱâ À§ÇØ ÁغñÇÒ °ÍÀÌ´Ù. ´ÜÁö ´ÙÀ½°ú °°ÀÌ ½ÇÇà½ÃŲ´Ù: <tscreen><verb> ./configure </verb></tscreen> ¸ðµç °ÍÀÌ Àß ÁøÇàµÇ´ÂÁö º¸±â À§ÇØ È­¸é¿¡ Ãâ·ÂµÇ´Â ³»¿ëÀ» º¸±æ ¹Ù¶õ´Ù. <sect1>¼­¹ö ±¸ÃàÇϱâ <p> ¼ÒÇÁÆ®¿þ¾î¸¦ ¼³Á¤ÇÑ ÈÄ ±¸ÃàÀ» ½ÃÀÛÇϴµ¥ ¿ì¼± ´ÙÀ½ ¸í·ÉÀ» ÀÌ¿ëÇÏ¿© ÀÇÁ¸¼ºÀ» ±¸ÃàÇÑ´Ù: <tscreen><verb> make depend </verb></tscreen> ´ÙÀ½ ¸í·ÉÀ» ÀÌ¿ëÇÏ¿© ¼­¹ö¸¦ ±¸ÃàÇÑ´Ù: <tscreen><verb> make </verb></tscreen> ¸ðµç °ÍÀÌ Àß ÁøÇàµÈ´Ù¸é ¼­¹ö´Â ¼³Á¤µÈ´ë·Î ±¸ÃàµÉ °ÍÀÌ´Ù. ±×·¸Áö ¾Ê´Ù¸é ¼³Á¤ »çÇ×À» °ËÅäÇϱâ À§ÇØ ÀÌÀü ´Ü°è·Î µ¹¾Æ°¡±æ ¹Ù¶õ´Ù. Ç÷§Æû¿¡ °ü°èµÇ´Â Ư¼öÇÑ Áö½Ã¸¦ °Ë»çÇØ¾ß Çϴµ¥ ¼ÒÇÁÆ®¿þ¾î¸¦ ¾ÐÃàÇØÁ¦ÇÑ µð·ºÅ丮¹ØÀÇ doc/install/hints ¿¡ ÀÖ´Ù. ¹ÙÀ̳ʸ®¿Í man ÆäÀÌÁö¸¦ ¼³Ä¡ÇÑ´Ù. ¾îµð¿¡ ¼³Ä¡ÇÏ´À³Ä¿¡ µû¶ó ½´ÆÛÀ¯ÀúÀÏ ÇÊ¿ä°¡ ÀÖ´Ù. <tscreen><verb> su make install </verb></tscreen> ¼³Ä¡°¡ ¿Ï·áµÇ¾úÀ¸¸ç ¼­¹ö ¹ÙÀ̳ʸ®¿Í ¿©·¯ ´Ù¸¥ À¯Æ¿¸®Æ¼µéÀÌ »ý¼ºµÇ¾úÀ» °ÍÀÌ´Ù. LDAP ¼­¹ö ÀÛµ¿ ¼³Á¤ ¹æ¹ýÀ» º¸±â À§Çؼ­´Â <ref id="3Àý" name="´ÙÀ½">À¸·Î °¡±æ ¹Ù¶õ´Ù. OpenLDAP 2.0 ¼­¹öÀÇ ¹ÙÀ̳ʸ®´Â <em>slapd</em>ÀÌ´Ù. OpenLDAP 2.0Àº °ø½ÄÀûÀ¸·Î 8¿ù 30ÀÏ ¹ßÇ¥µÇ¾ú´Âµ¥ RFC 2251¿¡ Á¤ÀÇµÈ ¹Ù¿Í °°ÀÌ Ldap ÇÁ·ÎÅäÄÝ v2À» Æ÷ÇÔÇÏ°í ÀÖ´Ù. OpenLDAP 2.0 ÀÇ ÁÖµÈ Æ¯Â¡Àº ´ÙÀ½°ú °°´Ù: <itemize> <item>LDAPv2 and LDAPv3 Support (RFC2251-2256,2829-2831) <item>Maintenance of interoperability with existing clients <item>IPv4 and IPv6 support <item>Strong Authentication (SASL) (RFC2829) <item>Start TLS (RFC2830) <item>Language Tags (RFC2596) <item>DNS-based service location (RFC2247+"locate" I-D) <item>Enhanced Standalone Server <item>Named References/ManageDsaIT ("nameref" I-D) <item>Enhanced Access Control subsystem <item>Thread pooling <item>Preemptive threading support <item>Multiple listener support <item>LDIFv1 (RFC2849) <item>Improved platform/subsystem detection </itemize> Note: LDP(Linux Document Projext)¿¡ LDAP Implementation HOWTO ¹®¼­°¡ ÀÖÀ» °ÍÀÌ´Ù. ÀÌ ¹®¼­´Â OpenLDAP 2.0 ÀÇ »õ·Î¿î Ư¡À» ÀÌ¿ëÇÏ±æ ¿øÇÏ´Â »ç¶÷µé¿¡°Ô ¸¹Àº ÀڷḦ Á¦°øÇÒ °ÍÀÌ´Ù. ¹èÆ÷ ³¯Â¥´Â 2000³â 12¿ù ÁîÀ½ÀÌ´Ù. OpenLDAP ÆÐÅ°Áö ÃֽŠ¹öÀü¿¡¼­´Â ±¸ÃàµÈ ¹ÙÀ̳ʸ®¸¦ ½ÃÇèÇÏ´Â °Í ¶ÇÇÑ °¡´É Çѵ¥ ´ÙÀ½ ¸í·ÉÀ» ÀÌ¿ëÇÏ¿© ½ÃÇè ½ºÅ©¸³Æ®¸¦ ½ÇÇà½Ãų ¼ö ÀÖ´Ù: <tscreen><verb> make test </verb></tscreen> ¾î¶² °ÍÀÌ Àß µÇÁö ¾Ê´Â´Ù¸é Ctrl-C¸¦ ´­·¯ Áß°£¿¡ Á¤Áö½Ãų ¼ö ÀÖ´Ù. ÀúÀÚÀÇ °æ¿ì ½ºÅ©¸³Æ®°¡ ¿ÏÀüÈ÷ ³¡³ª±â Àü¿¡ Áß°£¿¡ ¸ØÃß¾ú´Âµ¥ ¾î·µç OpenLDAP ¼³Á¤¿¡ ´ëÇÑ ¼º°øÀûÀÎ ¸Þ½ÃÁö¸¦ º¼ ¼ö ÀÖ¾ú´Ù. <sect>LDAP ¼­¹ö ¼³Á¤Çϱâ <label id="3Àý"> <p> ¼ÒÇÁÆ®¿þ¾îÀÇ ¼³Ä¡ ¹× ±¸Ãà ¿Ï·áÈÄ »çÀÌÆ®¿¡ ÀûÇÕÇÏ°Ô ¼³Á¤ÇÒ ¼ö Àִµ¥ ¸ðµç slapd ·±Å¸ÀÓ ¼³Á¤Àº ¼³Á¤ ½ºÅ©¸³Æ®¿¡¼­ ÁöÁ¤ÇÑ prefix µð·ºÅ丮 ¶Ç´Â default·Î /usr/local/etc/openldap µð·ºÅ丮¿¡ ¼³Ä¡µÈ <em>slapd.conf</em> ÆÄÀÏÀ» ÅëÇØ ÀÌ·ç¾îÁø´Ù. ÀÌ ÀýÀº <em>slapd.conf</em> ÆÄÀϳ»ÀÇ ÀϹÝÀûÀ¸·Î »ç¿ëµÇ´Â ¼³Á¤ Áö½Ã(configuration directive)µéÀ» ¼¼ºÎÀûÀ¸·Î ¼³¸íÇÑ´Ù. ¿ÏÀüÇÑ ¸®½ºÆ®¸¦ À§Çؼ­´Â slap.conf(5) ¸Å´º¾ó ÆäÀÌÁö¸¦ º¸±â ¹Ù¶õ´Ù. ¼³Á¤ ÆÄÀÏ Áö½ÃµéÀº Àü¿ªÀû, ¹é¿£µå ƯÁ¤Àû ¹× µ¥ÀÌŸ ƯÁ¤ÀûÀÎ ºÎ¹®À¸·Î ºÐ·ùµÈ´Ù. ÀÌ Àý¿¡¼­ Áö½ÃÀÇ ¼³¸í°ú ±×µéÀÇ default °ªµé(Á¸ÀçÇÑ´Ù¸é) ¹× ±×µé »ç¿ëÀÇ ¿¹¸¦ º¼ ¼ö ÀÖ´Ù. <sect1>¼³Á¤ ÆÄÀÏ Æ÷¸Ë <p> Slapd.conf ÆÄÀÏÀº Àü¿ªÀû, ¹é¿£µå ƯÁ¤Àû ¹× µ¥ÀÌŸº£À̽º ƯÁ¤ÀûÀÎ ¼¼°¡Áö À¯ÇüÀÇ ¼³Á¤ Á¤º¸·Î ±¸¼ºµÇ´Âµ¥ Àü¿ªÀûÁ¤º¸, °³°³ÀÇ ¹é¿£µå ÇüÅÂ¿Í °ü·ÃµÈ Á¤º¸¿Í °³º°Àû µ¥ÀÌŸº£À̽º ÀνºÅϽº¿Í °ü·ÃµÈ Á¤º¸¼øÀ¸·Î ¼¼ºÎÀûÀ¸·Î ¼³¸íµÈ´Ù. Àü¿ªÀû Áö½Ã´Â ¹é¿£µå¿Í/¶Ç´Â µ¥ÀÌÅͺ£À̽º Áö½Ã¿¡¼­ ¹«È¿È­µÉ ¼ö ÀÖÀ¸¸ç, ¹é¿£µå Áö½Ã´Â µ¥ÀÌÅͺ£À̽º Áö½Ã¿¡ ÀÇÇØ ¹«È¿È­µÉ ¼öÀÖ´Ù. °ø¶óÀΰú '#'·Î ½ÃÀÛÇÏ´Â ÁÖ¼®¶óÀÎÀº ¹«½ÃµÇ¸ç white space·Î ½ÃÀÛÇÏ´Â ¶óÀÎÀº ÀÌÀü ¶óÀÎÀÇ ¿¬¼ÓÀ¸·Î °í·ÁµÈ´Ù. Slapd.conf ÆÄÀÏÀÇ ÀϹÝÀû Æ÷¸ËÀº ´ÙÀ½°ú°°´Ù: <tscreen><verb> # global configuration directives <global config directives> # ¹é¿£ definition ¹é¿£ <typeA> <¹é¿£-specific directives> # first database definition & config directives database <typeA> <database-specific directives> # second database definition & config directives database <typeB> <database-specific directives> # second database definition & config directives database <typeA> <database-specific directives> # subsequent backend & database definitions & config directives ... </verb></tscreen> ¼³Á¤ Áö½Ã´Â Àμö¸¦ ÃëÇÒ ¼ö Àִµ¥ white space¿¡ ÀÇÇØ ±¸ºÐÇÑ´Ù. Àμö°¡ white space¸¦ Æ÷ÇÔÇÑ´Ù¸é "like this"¿Í °°ÀÌ ÀÌÁß ÀοëºÎÈ£·Î ¿¡¿ö½Î¾ß ÇÑ´Ù. Àμö°¡ ÀÌÁß ÀοëºÎÈ£ ¶Ç´Â ¿ª½½·¡½¬¹®ÀÚ `\'¸¦ Æ÷ÇÔÇÏ¸é ¿ª½½·¡½¬ ¹®ÀÚ°¡ ÀÌµé ¹®ÀÚ ¾Õ¿¡ ÀÖ¾î¾ß ÇÑ´Ù. ¹èÆ÷ÆÇÀº /usr/local/etc/openldap µð·ºÅ丮¿¡ ¼³Ä¡µÉ ¼ö ÀÖ´Â ¼³Á¤ ÆÄÀÏÀÇ ¿¹¸¦ Æ÷ÇÔÇÑ´Ù. ½ºÅ°¸¶ Á¤ÀÇ(¼Ó¼º ÇüÅÂ¿Í °´Ã¼ Ŭ·¡½º)¸¦ Æ÷ÇÔÇÑ ´Ù¼öÀÇ ÆÄÀϵéÀº /usr/local/etc/openldap/schema µð·ºÅ丮¿¡ ¼³Ä¡µÈ´Ù. <sect1>Àü¿ªÀû Áö½Ã <label id="3.2Àý" <p> ÀÌ Àý¿¡ ±â¼úµÈ Áö½ÃµéÀº ¹é¿£µå ¶Ç´Â µ¥ÀÌŸº£À̽º Á¤ÀÇ¿¡¼­ Ưº°È÷ ¹«È¿È­µÇÁö ¾Ê´Â´Ù¸é ¸ðµç ¹é¿£µå¿¡ Àû¿ëµÈ´Ù. ½ÇÁ¦ ÅؽºÆ®¿¡ ÀÇÇØ ´ëüµÇ´Â ÀμöµéÀº <> °ýÈ£³»¿¡ ÀÖ´Ù. access to <what> [ by <who> <accesslevel> <control> ]+ <tscreen><verb> ÀÌ Áö½Ã´Â ÇÑ¸í ¶Ç´Â ±× ÀÌ»óÀÇ ¿äûÀÚ(<who>¿¡ ÀÇÇØ ÁöÁ¤µÈ)¿¡ ÀÇÇÑ ÀÏ·ÃÀÇ ¿£Æ®¸®¿Í/¶Ç´Â ¼Ó¼º(<what>¿¡ ÀÇÇØ ÁöÁ¤µÈ)¿¡ ´ëÇÑ ¿¢¼¼½º(<accesslevel>¿¡ ÀÇÇØ ÁöÁ¤µÈ)¸¦ Çã¿ëÇÑ´Ù. ¼¼ºÎ»çÇ×À» ¾Ë°í ½Í´Ù¸é ¿¢¼¼½º Á¦¾î ¿¹¸¦ º¸±æ ¹Ù¶õ´Ù. </verb></tscreen> attributetype <RFC2252 Attribute Type Description> <tscreen><verb> ÀÌ Áö½Ã´Â ¼Ó¼º ÇüŸ¦ Á¤ÀÇÇÑ´Ù. </verb></tscreen> defaultaccess { none | compare | search | read | write } <tscreen><verb> ÀÌ Áö½Ã´Â ¿¢¼¼½º Áö½Ã°¡ ÁöÁ¤µÇÁö ¾Ê¾ÒÀ» ¶§ ¿äûÀÚ¿¡°Ô Çã¿ëµÈ default ¿¢¼¼½º¸¦ ÁöÁ¤ÇÑ´Ù. ÀÓÀÇÀÇ ÁÖ¾îÁø ¿¢¼¼½º ·¹º§Àº ¸ðµç ÇÏÀ§ ¿¢¼¼½º ·¹º§À» ³»Æ÷ÇÑ´Ù (¿¹, Àб⠿¢¼¼½º´Â °Ë»ö°ú ºñ±³¸¦ ³»Æ÷ÇÏÁö¸¸ ¾²±â¸¦ ³»Æ÷ÇÏÁö´Â ¾Ê´Â´Ù). Default: defaultaccess read </verb></tscreen> idletimeout <integer> <tscreen><verb> À¯ÈÞ Å¬¶óÀ̾ðÆ® ¿¬°áÀ» °­Á¦·Î Á¾·áÇϱâ Àü¿¡ ±â´Ù¸®´Â ½Ã°£(ÃÊ)À» ÁöÁ¤ÇÑ´Ù. Default·Î 0ÀÇ°ªÀÇ ideltimeoutÀº ÀÌ Æ¯Â¡À» ÀÛµ¿½ÃÅ°Áö ¾Ê´Â´Ù. </verb></tscreen> include <filename> <tscreen><verb> ÀÌ Áö½Ã´Â ÇöÀç ÆÄÀÏÀÇ ´ÙÀ½ ¶óÀÎÀ» °è¼Ó ÁøÇàÇϱâ Àü¿¡ slapd µ¥¸óÀÌ ÁÖ¾îÁø ÆÄÀϷκÎÅÍ ºÎ°¡ÀûÀÎ ¼³Á¤ Á¤º¸¸¦ Àоî¾ß ÇÔÀ» ÁöÁ¤ÇÑ´Ù. IncludedµÈ ÆÄÀÏÀº ÀϹÝÀûÀÎ slapd config ÆÄÀÏ Æ÷¸ËÀ» µû¶ó¾ßÇÑ´Ù. ÆÄÀÏÀº ÀϹÝÀûÀ¸·Î ½ºÅ°¸¶ ¸í¼¼»çÇ×(specification)À» °®°íÀÖ´Â ÆÄÀϵéÀ» Æ÷ÇÔÇϱâÀ§ÇØ »ç¿ëµÈ´Ù. </verb></tscreen> Note: ³»Æ÷ include Áö½ÃÀÇ ¼ö¿¡ Á¦ÇÑÀÌ ¾øÀ¸¸ç ·çÇÁ(loop) ŽÁö°¡ ÇàÇØÁöÁö ¾Ê±â ¶§¹®¿¡ ÀÌ Áö½Ã¸¦ »ç¿ëÇÒ ¶§´Â ÁÖÀÇÇØ¾ß ÇÑ´Ù. loglevel <integer> <tscreen><verb> º» Áö½Ã´Â µð¹ö±ë º¸°í¼­(statement)¿Í operation Åë°è°¡ syslogged(ÇöÀç´Â syslogd(8) LOCAL4·Î ·Î±×µÇ¾îÀÖ´Ù) µÇ¾î¾ß ÇÏ´Â ·¹º§À» ÁöÁ¤ÇÑ´Ù. ÀÌ°ÍÀÌ Àß ÀÛµ¿µÇµµ·Ï(´Ã ÀÛµ¿µÇ°í ÀÖ´Â µÎ Åë°è ·¹º§À» Á¦¿ÜÇÏ°í) OpenLDAP¸¦ --enable-debug(default) ¿É¼ÇÀ» °®°í ¼³Á¤Çß¾î¾ß ÇÑ´Ù. ·Î±× ·¹º§Àº ºÎ°¡ÀûÀÌ´Ù. ¾î¶² ¼ýÀÚ°¡ ¾î¶² Á¾·ùÀÇ µð¹ö±ë¿¡ ÇØ´çµÇ´Â Áö¸¦ Ãâ·ÂÇϱâÀ§ÇØ -? À» ¿É¼Ç°ú ÇÔ²² slapd¸¦ ½ÇÇà½ÃÅ°°Å³ª ¾Æ·¡ÀÇ Å×À̺íÀ» Âü°íÇÏ±æ ¹Ù¶õ´Ù. <integer>¿¡ °¡´ÉÇÑ °ªµéÀº ´ÙÀ½°ú °°´Ù: -1 enable all debugging 0 no debugging 1 trace function calls 2 debug packet handling 4 heavy trace debugging 8 connection management 16 print out packets sent and received 32 search filter processing 64 configuration file processing 128 access control list processing 256 stats log connections/operations/results 512 stats log entries sent 1024 print communication with shell backends 2048 print entry parsing debugging ¿¹: loglevel 255 or loglevel -1 ÀÌ´Â ¸Å¿ì ¸¹Àº µð¹ö±ë Á¤º¸°¡ sysloggedµÇ°Ô ÇÒ °ÍÀÌ´Ù. Default: loglevel 256 </verb></tscreen> objectclass <RFC2252 Object Class Description> <tscreen><verb> ÀÌ Áö½Ã´Â °´Ã¼ Ŭ·¡½º¸¦ Á¤ÀÇÇÑ´Ù. </verb></tscreen> referral <URI> <tscreen><verb> ÀÌ Áö½Ã´Â ¿äûÀ» ó¸®ÇÏ´Â ·ÎÄà µ¥ÀÌŸº£À̽º¸¦ ãÀ»¼ö ¾øÀ» ¶§ µ¹·Áº¸³»´Â referralÀ» ÁöÁ¤ÇÑ´Ù. ¿¹: referral ldap://root.openldap.org ÀÌ´Â non-local ÁúÀÇ¿¡ ´ëÇØ OpenLDAP ÇÁ·ÎÁ§Æ®ÀÇ Àü¿ª ·çÆ® LDAP ¼­¹ö¸¦ ÂüÁ¶Ç϶ó´Â °ÍÀ» ÀǹÌÇÑ´Ù. Smart LDAP Ŭ¶óÀ̾ðÆ®´Â ±× ¼­¹ö¿¡ ÁúÀǸ¦ ÀçÂ÷ ¿äûÇÒ °ÍÀÌÁö¸¸, ´ëºÎºÐÀÇ Å¬¶óÀ̾ðÆ®´Â È£½ºÆ® ºÎºÐ°ú ¼±ÅÃÀûÀ¸·Î ±¸º°µÇ´Â À̸§ ºÎºÐÀ» Æ÷ÇÔÇÏ´Â °£´ÜÇÑ LDAP URLsÀ» ó¸®ÇÏ´Â ¹æ¹ýÀ» ¾Ë·Á°í ÇÑ´Ù´Â °ÍÀ» ÁÖ¸ñÇÏ±æ ¹Ù¶õ´Ù. </verb></tscreen> sizelimit <integer> <tscreen><verb> ÀÌ Áö½Ã´Â °Ë»ö ¿¬»ê½Ã ¸®ÅϵǴ ÃÖ´ë ¿£Æ®¸®¼ö¸¦ ÁöÁ¤ÇÑ´Ù. Default: sizelimit 500 </verb></tscreen> timelimit <integer> <tscreen><verb> ÀÌ Áö½Ã´Â slapd°¡ °Ë»ö ¿äû¿¡ ´äº¯ÇϱâÀ§ÇØ ¾µ ¼ö ÀÖ´Â ÃÖ´ë½Ã°£(½ÇÁ¦½Ã°£, ÃÊ)À» ÁöÁ¤ÇÑ´Ù. ¿äûÀÌ ÀÌ ½Ã°£ ³»¿¡ Á¾°áµÇÁö ¾Ê´Â´Ù¸é ÃÊ°úµÈ timelimitÀ» ÁöÀûÇÏ´Â °á°ú°¡ ¸®Å쵃 °ÍÀÌ´Ù. Default: timelimit 3600 </verb></tscreen> <sect1>ÀϹÝÀûÀÎ ¹é¿£µå ¿É¼Ç <p> ÀÌ ÀýÀÇ Áö½ÃµéÀº ¿À·ÎÁö ±×µéÀÌ Á¤ÀÇµÈ ¹é¿£µå¿¡¸¸ Àû¿ëµÇ´Âµ¥ ¸ðµç Á¾·ùÀÇ ¹é¿£µå°¡ ÀÌ Áö½ÃµéÀ» Áö¿øÇÑ´Ù. ¹é¿£µå Áö½Ã´Â °°Àº À¯ÇüÀÇ ¸ðµç µ¥ÀÌÅͺ£À̽º ÀνºÅϽº¿¡ Àû¿ëµÇÁö¸¸ ¾î¶² Áö½Ã³Ä¿¡ µû¶ó µ¥ÀÌÅͺ£À̽º Áö½Ã¿¡ ÀÇÇØ ¹«È¿È­µÉ ¼ö ÀÖ´Ù. backend <type> <tscreen><verb> ÀÌ Áö½Ã´Â ¹é¿£µå Á¤ÀÇÀÇ ½ÃÀÛÀ» ³ªÅ¸³½´Ù. <type>Àº ldbm, shell, passwd ¶Ç´Â ´Ù¸¥ Áö¿øµÇ´Â ¹é¿£µå À¯Çü Áß Çϳª¿©¾ß ÇÑ´Ù. </verb></tscreen> <sect1>ÀϹÝÀûÀÎ µ¥ÀÌŸº£À̽º Áö½Ã <p> ÀÌ ÀýÀÇ Áö½ÃµéÀº ¿À·ÎÁö ±×µéÀÌ Á¤ÀÇµÈ µ¥ÀÌŸº£À̽º¿¡¸¸ Àû¿ëµÇ´Âµ¥ ¸ðµç Á¾·ùÀÇ µ¥ÀÌŸº£À̽º°¡ ÀÌ Áö½ÃµéÀ» Áö¿øÇÑ´Ù. database <type> <tscreen><verb> ÀÌ Áö½Ã´Â »õ·Î¿î µ¥ÀÌÅͺ£À̽º ÀνºÅϽº Á¤ÀÇÀÇ ½ÃÀÛÀ» ³ªÅ¸³½´Ù. <type>Àº ldbm, shell, passwd ¶Ç´Â ´Ù¸¥ Áö¿øµÇ´Â ¹é¿£µå ÇüÅÂÁßÀÇ Çϳª¿©¾ßÇÑ´Ù. ¿¹: database ldbm ÀÌ´Â LDBM ¹é¿£ µ¥ÀÌÅͺ£À̽º ÀνºÅϽº Á¤ÀÇÀÇ ½ÃÀÛÀ» ³ªÅ¸³½´Ù. </verb></tscreen> readonly { on | off } <tscreen><verb> ÀÌ Áö½Ã´Â µ¥ÀÌÅͺ£À̽º¸¦ "read-only" ¸ðµå·Î ¸¸µç´Ù. µ¥ÀÌÅͺ£À̽º¸¦ ¼öÁ¤ÇÏ·Á´Â ¸ðµç ½Ãµµ´Â "unwilling to perform"" ¿¡·¯¸¦ Ãâ·ÂÇÒ °ÍÀÌ´Ù. Default: readonly off </verb></tscreen> replica host=<hostname>[:<port>] [bindmethod={ simple | kerberos | sasl }] ["binddn=<DN>"] [mech=<mech>] [authcid=<identity>] [authzid=<identity>] [credentials=<password>] [srvtab=<filename>] <tscreen><verb> ÀÌ Áö½Ã´Â µ¥ÀÌÅͺ£À̽ºÀÇ º¹»çº» »çÀÌÆ®¸¦ ÁöÁ¤ÇÑ´Ù. host= º¯¼ö´Â È£½ºÆ®¿Í ¿É¼ÇÀ¸·Î slave slapd ÀνºÅϽº¸¦ ãÀ» ¼ö ÀÖ´Â Æ÷Æ®¸¦ ÁöÁ¤ÇÑ´Ù. <hostname>¿¡´Â µµ¸ÞÀÎ ³×ÀÓ ¶Ç´Â IP ÁÖ¼Ò°¡ »ç¿ëµÉ ¼ö ÀÖ´Ù. <port>°¡ ÁöÁ¤µÇÁö ¾ÊÀ¸¸é Ç¥ÁØ LDAP Æ÷Æ® ³Ñ¹ö(389)°¡ »ç¿ëµÈ´Ù. </verb></tscreen> <tscreen><verb> binddn= º¯¼ö´Â slave slapd¿¡ °»½ÅÀ» À§ÇØ bindÇÒ DNÀ» ÁØ´Ù. ÀÌ´Â ÀϹÝÀûÀ¸·Î slaveÀÇ config ÆÄÀÏ¿¡ rootdnÀ¸·Î ÁÖ¾îÁö´Âµ¥ slave slapd µ¥ÀÌÅͺ£À̽º¿¡ ´ëÇÑ Àбâ/¾²±â ¿¢¼¼½º¸¦ °®´Â DN À̾î¾ß ÇÑ´Ù. ¶ÇÇÑ slave slapd config ÆÄÀϳ»ÀÇ updatedn Áö½Ã¿Í ÀÏÄ¡ÇØ¾ß ÇÑ´Ù. DNÀº Áß°£¿¡ space¸¦ Æ÷ÇÔÇÒ ¼ö Àֱ⶧¹®¿¡ Àüü "binddn=<DN>" ¹®ÀÚ¿­Àº ÀÌÁß ÀοëºÎÈ£·Î ¿¡¿ö½Î¾ß ÇÑ´Ù. </verb></tscreen> <tscreen><verb> bindmethod´Â slave slapd¿¡ ¿¬°áÇÒ ¶§ °£´ÜÇÑ Æнº¿öµå¿¡ ±âÃÊÇÑ ÀÎÁõ, Kerberos ÀÎÁõ ¶Ç´Â SASL ÀÎÁõÀÌ »ç¿ëµÇ´ÂÁö¿¡ µû¶ó simple, kerveros ¶Ç´Â sasl ÀÌ´Ù. </verb></tscreen> <tscreen><verb> Simple ÀÎÁõÀº ÀûÀýÇÑ ¹«°á¼º°ú ÇÁ¶óÀ̹ö½Ã º¸È£°¡ Àû´ç(¿¹, TLS ¶Ç´Â IPSEC)ÇÏÁö ¾Ê´Ù¸é »ç¿ëÇÏÁö ¾Ê¾Æ¾ß ÇÑ´Ù. Simple ÀÎÁõÀº binddn°ú credential º¯¼öÀÇ ¸í¼¼ »çÇ×À» ÇÊ¿ä·Î ÇÑ´Ù. </verb></tscreen> <tscreen><verb> Kerberos ÀÎÁõÀº SASL ÀÎÁõ ±â±¸, ƯÈ÷ KERBEROUS_V4¿Í GSSAPI ±â±¸¿¡ ºñÇØ ±×´ÙÁö ÁöÁö¹ÞÁö ¸øÇÏ°í ÀÖ´Ù. Kerberos ÀÎÁõÀº binddn°ú srvtab º¯¼ö¸¦ ÇÊ¿ä·Î ÇÑ´Ù. </verb></tscreen> <tscreen><verb> SASL ÀÎÁõÀÌ ÀϹÝÀûÀ¸·Î ÃßõµÇ´Âµ¥ mech º¯¼ö¸¦ »ç¿ëÇÏ´Â ±â±¸ÀÇ ¸í¼¼ »çÇ×À» ÇÊ¿ä·Î ÇÑ´Ù. ¸ÞÄ«´ÏÁò¿¡ µû¶ó ÀÎÁõ identity ¿Í/¶Ç´Â credentials´Â °¢°¢ authcid¿Í credentialsÀ» »ç¿ëÇÏ¿© ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù. authzid º¯¼ö°¡ Àΰ¡(authorization) identity¸¦ ÁöÁ¤Çϱâ À§ÇØ »ç¿ëµÉ ¼öµµ ÀÖ´Ù. </verb></tscreen> replogfile <filename> <tscreen><verb> ÀÌ Áö½Ã´Â slapd°¡ º¯°æ»çÇ×µéÀ» ±â·ÏÇÒ º¹»çº» ·Î±× ÆÄÀÏÀÇ À̸§À» ÁöÁ¤ÇÑ´Ù. replication ·Î±×ÆÄÀÏÀº ÀϹÝÀûÀ¸·Î slapd¿¡ ÀÇÇØ ÀÛ¼ºµÇ¸ç slurpd¿¡ ÀÇÇØ ÀÐÇôÁø´Ù. º¸Åë ÀÌ Áö½Ã´Â slurpd°¡ µ¥ÀÌÅͺ£À̽º¸¦ º¹»çÇϱâ À§ÇØ »ç¿ëµÇ´Â °æ¿ì¸¸ »ç¿ëµÈ´Ù. ±×·¯³ª slurpd°¡ ÀÛµ¿µÇÁö ¾Ê´õ¶óµµ Æ®·£Àè¼Ç(transaction) ·Î±×¸¦ »ý¼ºÇϱâ À§ÇØ À̸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù. ÀÌ °æ¿ì ÆÄÀÏÀÌ ¹«ÇÑÁ¤ Ä¿Áú ¼ö Àֱ⠶§¹®¿¡ ÁÖ±âÀûÀ¸·Î ÆÄÀÏÀ» truncateÇÒ ÇÊ¿ä°¡ ÀÖ´Ù. </verb></tscreen> rootdn <dn> <tscreen><verb> ÀÌ Áö½Ã´Â µ¥ÀÌÅͺ£À̽º¿¡¼­ ÀÛ¾÷À» Çϱâ À§ÇÑ ¿¢¼¼½º Á¦¾î ¶Ç´Â °ü¸®»óÀÇ ÇÑ°è Á¦ÇÑÀ» ÇÊ¿ä·Î ÇÏÁö¾Ê´Â DNÀ» ÁöÁ¤ÇÑ´Ù. DNÀº µð·ºÅ丮ÀÇ ¿£Æ®¸®¸¦ ÂüÁ¶ÇÒ ÇÊ¿ä°¡ ¾ø´Ù. DNÀº SASL identity¸¦ ÂüÁ¶ÇÒ ¼ö ÀÖ´Ù. Entry-based Example: rootdn "cn=Manager, dc=example, dc=com" SASL-based Example: rootdn "uid=root@EXAMPLE.COM" </verb></tscreen> rootpw <password> <tscreen><verb> ÀÌ Áö½Ã´Â ÁÖ¾îÁø DNÀ» °¡Áø ¿£Æ®¸®°¡ Á¸ÀçÇÏ´ÂÁö ¶Ç´Â Æнº¿öµå¸¦ °®´ÂÁö¿¡ »ó°ü¾øÀÌ À§¿¡¼­ ÁÖ¾îÁø DN¿¡ ´ëÇØ Ç×»ó ÀÛ¿ëÇÒ Æнº¿öµå¸¦ ÁöÁ¤ÇÑ´Ù. ÀÌ Áö½Ã´Â SASL¿¡ ±âÃÊÇÑ ÀÎÁõ¿¡ ºñÇØ ±×´ÙÁö ÁöÁö¹ÞÁö ¸øÇÏ°í ÀÖ´Ù. ¿¹: rootpw secret </verb></tscreen> suffix <dn suffix> <tscreen><verb> ÀÌ Áö½Ã´Â ¹é¿£µå µ¥ÀÌÅͺ£À̽º¿¡ º¸³»Áú ÁúÀÇÀÇ DN Á¢¹Ì»ç¸¦ ÁöÁ¤ÇÑ´Ù. ´ÙÁß Á¢¹Ì»ç ¶óÀÎÀÌ ÁÖ¾îÁú ¼ö ÀÖÀ¸¸ç °¢ µ¥ÀÌÅͺ£À̽º Á¤ÀǸ¦ À§ÇØ Àû¾îµµ Çϳª°¡ ÇÊ¿äÇÏ´Ù. ¿¹: suffix "dc=example, dc=com" "dc=example, dc=com"·Î ³¡³ª´Â ÁúÀÇ°¡ ÀÌ ¹é¿£·Î º¸³»Áú °ÍÀÌ´Ù. Note: ÁúÀǸ¦ ³Ñ°ÜÁÙ ¹é¿£µå°¡ ¼±ÅÃµÉ ¶§ °¢ µ¥ÀÌÅͺ£À̽º Á¤ÀÇ¿¡¼­ ÁÖ¾îÁø ¼ø¼­´ë·Î suffix ¶óÀÎÀ» ã´Â´Ù. µû¶ó¼­ ÇÑ µ¥ÀÌÅͺ£À̽º suffix°¡ ´Ù¸¥ °ÍÀÇ prefix¶ó¸é config ÆÄÀÏ¿¡¼­ ³ªÁß¿¡ ³ªÅ¸³ª¾ß ÇÑ´Ù. </verb></tscreen> updatedn <dn> <tscreen><verb> ÀÌ Áö½Ã´Â ´ÜÁö slave slapd¿¡¸¸ ÇØ´çµÈ´Ù. ÀÌ´Â replica º¯°æÀÌ Çã¿ëµÈ DNÀ» ÁöÁ¤ÇÑ´Ù. ÀÌ´Â replica¸¦ º¯°æÇÒ ¶§ slurpd(8)°¡ bindÇÒ DN ¶Ç´Â SASL identity¿Í °ü·ÃµÈ DN ÀÏ ¼ö ÀÖ´Ù. Entry-based Example: updatedn "cn=Update Daemon, dc=example, dc=com" SASL-based Example: updatedn "uid=slurpd@EXAMPLE.COM" </verb></tscreen> updateref <URL> <tscreen><verb> ÀÌ Áö½Ã´Â ´ÜÁö slave slapd ¿¡¸¸ ÇØ´çµÈ´Ù. ÀÌ´Â replica¿¡ ´ëÇÑ °»½Å ¿äûÀ» Á¦ÃâÇϴ Ŭ¶óÀ̾ðÆ®¿¡ ´äº¯ÇÏ´Â URLÀ» ÁöÁ¤ÇÑ´Ù. ¿©·¯¹ø ÁöÁ¤ÇÏ·Á¸é °¢°¢ÀÇ URLÀ» ³õ´Â´Ù. ¿¹: update ldap://master.example.net </verb></tscreen> <sect1>LDBM ¹é¿£µå ƯÁ¤Àû Áö½Ã <p> ÀÌ Ç׸ñÀÇ Áö½Ã´Â ´ÜÁö LDBM ¹é¿£ µ¥ÀÌÅͺ£À̽º¿¡ Àû¿ëµÇ¸ç "database ldbm" ¶óÀÎ µÚ ¹× ¾î¶² ´Ù¸¥ "database" ¶óÀÎ ¾Õ¿¡ ³õ¿©¾ß ÇÑ´Ù. cachesize <integer> <tscreen><verb> ÀÌ Áö½Ã´Â LDBM ¹é¿£µå µ¥ÀÌÅͺ£À̽º ÀνºÅϽº¿¡ ÀÇÇØ À¯ÁöµÇ´Â in-memory cache ¿£Æ®¸®ÀÇ Å©±â¸¦ ÁöÁ¤ÇÑ´Ù. Default: cachesize 1000 </verb></tscreen> dbcachesize <integer> <tscreen><verb> ÀÌ Áö½Ã´Â °¢ ¿ÀÇ À妽º ÆÄÀÏ°ú °ü·ÃµÈ in-memory cacheÀÇ ¹ÙÀÌÆ® Å©±â¸¦ ÁöÁ¤ÇÑ´Ù. ±âº»ÀûÀÎ µ¥ÀÌÅͺ£À̽º ¹æ¹ýÀÌ Áö¿øÇÏÁö ¾Ê´Â´Ù¸é ÁÖ¼®Ã³¸®¾øÀÌ ¹«½ÃµÈ´Ù. ÀÌ ¼ýÀÚÀÇ Áõ°¡´Â ´õ¸¹Àº ¸Þ¸ð¸® »ç¿ëÀ» ÀǹÌÇÏÁö¸¸ ƯÈ÷ À妽º º¯°æÁß ¶Ç´Â ±¸ÃàÇÒ ¶§ È¿°úÀûÀÎ ¼º´ÉÇâ»óÀ» °¡Á®¿Ã °ÍÀÌ´Ù. Default: dbcachesize 100000 </verb></tscreen> dbnolocking <tscreen><verb> ÀÌ ¿É¼ÇÀº Á¸ÀçÇÑ´Ù¸é µ¥ÀÌÅͺ£À̽º locking ±â´ÉÀ» ¾ïÁ¦ÇÑ´Ù. ÀÌ ¿É¼ÇÀ» ÀÛµ¿½ÃÅ°¸é µ¥ÀÌÅÍ º¸¾ÈÀ» ³·Ã߸鼭 ¼º´ÉÀ» Çâ»ó½Ãų °ÍÀÌ´Ù. </verb></tscreen> dbnosync <tscreen><verb> ÀÌ ¿É¼ÇÀº µð½ºÅ©»óÀÇ µ¥ÀÌÅͺ£À̽º ³»¿ëÀÌ ¸Þ¸ð¸®³»¿¡¼­ ¹Ù²î´Â º¯°æ¿¡ Áï°¢ÀûÀ¸·Î µ¿±âÈ­µÇÁö ¾Êµµ·Ï ÇÑ´Ù. ÀÌ ¿É¼ÇÀÇ È°¼ºÈ­´Â µ¥ÀÌÅÍ º¸¾ÈÀ» ³·ÃßÁö¸¸ ¼º´ÉÀ» Çâ»ó½Ãų °ÍÀÌ´Ù. </verb></tscreen> directory <directory> <tscreen><verb> ÀÌ Áö½Ã´Â µ¥ÀÌÅͺ£À̽º¿Í °ü·Ã À妽º¸¦ Æ÷ÇÔÇÏ´Â LDBM ÆÄÀÏÀÌ ³õÀÌ´Â µð·ºÅ丮¸¦ ÁöÁ¤ÇÑ´Ù. Default: directory /usr/local/var/openldap-ldbm </verb></tscreen> index {<attrlist> | default} [pres,eq,approx,sub,none] <tscreen><verb> ÀÌ Áö½Ã´Â ÁÖ¾îÁø ¼Ó¼º¿¡ ´ëÇØ À¯ÁöÇÒ À妽º¸¦ ÁöÁ¤ÇÑ´Ù. ´ÜÁö <attrlist>°¡ ÁÖ¾îÁø´Ù¸é µðÆúÆ® À妽º°¡ À¯ÁöµÈ´Ù. ¿¹: index default pres,eq index objectClass,uid index cn,sn eq,sub,approx ù ¹ø° ¶óÀÎÀº present¿Í equality¿¡ À¯ÁöÇÒ µðÆúÆ® À妽º ÁýÇÕÀ» ¼³Á¤ÇÑ´Ù. µÎ ¹ø° ¶óÀÎÀº µðÆúÆ®(pret,eq) À妽º ÁýÇÕÀÌ objectClass¿Í uid ¼Ó¼º ÇüŸ¦ À§ÇØ À¯ÁöµÇµµ·Ï ÇÑ´Ù. ¼¼ ¹ø° ¶óÀÎÀº equality, substring¿Í approximate À妽ºµéÀÌ cn°ú sn ¼Ó¼º ÇüŸ¦ À§ÇØ À¯ÁöµÇµµ·Ï ÇÑ´Ù. </verb></tscreen> mode <integer> <tscreen><verb> ÀÌ Áö½Ã´Â »õ·ÎÀÌ »ý¼ºµÈ µ¥ÀÌÅͺ£À̽º À妽º ÆÄÀÏÀÌ °¡Á®¾ß ÇÏ´Â ÆÄÀÏ º¸È£ ¸ðµå¸¦ ÁöÁ¤ÇÑ´Ù. Default: mode 0600 </verb></tscreen> <sect1>´Ù¸¥ ¹é¿£µå µ¥ÀÌŸº£À̽º <p> <em>slapd</em>´Â µðÆúÆ® LDBM ÀÌ¿Ü¿¡µµ ¸¹Àº ¹é¿£µå µ¥ÀÌÅͺ£À̽º ÇüŸ¦ Áö¿øÇÑ´Ù: <itemize> <item>ldbm: Berkeley or GNU DBM compatible backend <item>passwd: Provides read-only access to /etc/passwd <item>shell: Shell (extern program) backend <item>sql: SQL Programmable backend </itemize> ¼¼ºÎ»çÇ×À» ¾Ë±â À§Çؼ­´Â slapd.conf(5) ¸Å´º¾ó ÆäÀÌÁö¸¦ º¸±æ ¹Ù¶õ´Ù. <sect1>¿¢¼¼½º Á¦¾î ¿¹ <p> <ref id="3.2Àý" name="3.2Àý">¿¡ ¼³¸íÇÑ ¿¢¼¼½º Á¦¾î Áö½Ã´Â ¸Å¿ì °­·ÂÇѵ¥ ÀÌ ÀýÀº ¿¢¼¼½º Á¦¾î »ç¿ëÀÇ ¸î ¿¹¸¦ º¸¿©ÁØ´Ù. ¿ì¼±, ¾à°£ÀÇ °£´ÜÇÑ ¿¹µé: <tscreen><verb> access to * by * read </verb></tscreen> ÀÌ ¿¢¼¼½º Áö½Ã´Â ¸ðµç »ç¶÷¿¡°Ô Àб⠿¢¼¼½º¸¦ Çã¿ëÇÑ´Ù. ÀÌ Áö½Ã°¡ ´Üµ¶À¸·Î ³ªÅ¸³ª¸é ´ÙÀ½ÀÇ defaultaccess ¶óÀΰú °°´Ù. <tscreen><verb> defaultaccess read </verb></tscreen> ´ÙÀ½ ¿¹´Â ¼ø¼­°¡ Áß¿äÇÑ µÎ ¿¢¼¼½º Áö½Ã¿¡¼­ DN¿¡ ÀÇÇØ ¿£Æ®¸®¸¦ ¼±ÅÃÇÏ´Â Á¤±Ô Ç¥Çö »ç¿ëÀÇ ¿¹¸¦ º¸¿©ÁØ´Ù. <tscreen><verb> access to dn=".*, o=U of M, c=US" by * search access to dn=".*, c=US" by * read </verb></tscreen> °Ë»ö ¿¢¼¼½º°¡ Çã¿ëµÈ "o=University of Michigan, c=US" ÇÏÀ§ Æ®¸®ÇÏÀÇ ¿£Æ®¸®¸¦ Á¦¿ÜÇÑ c=Us ÇÏÀ§ Æ®¸®ÇÏÀÇ ¿£Æ®¸®¿¡ Àб⠿¢¼¼½º°¡ Çã¿ëµÈ´Ù. ÀÌ·¯ÇÑ ¿¢¼¼½º Áö½ÃÀÇ ¼ø¼­°¡ ¹ÝÀüµÇ¸é, ¸ðµç U-M ¿£Æ®¸®¿Í c=US ¿£Æ®¸®°¡ µ¿ÀÏÇϱ⠶§¹®¿¡ U-M ƯÁ¤Àû Áö½Ã´Â Àý´ë·Î ºÎÇÕµÉ ¼ö ¾ø´Ù. ´ÙÀ½ ¿¹ ¶ÇÇÑ ¿¢¼¼½º Áö½Ã¿Í "by" Àý(clause)ÀÇ ¼ø¼­ÀÇ Á߿伺À» º¸¿©Áִµ¥ ƯÁ¤ ¼Ó¼º°ú ´Ù¾çÇÑ <who> ¼±ÅÃÀÚ¿¡ ´ëÇÑ ¿¢¼¼½º¸¦ Çã¿ëÇÏ´Â ¼Ó¼º ¼±ÅÃÀÚ »ç¿ëÀÇ ¿¹¸¦ º¸¿©ÁØ´Ù. <tscreen><verb> access to dn=".*, o=U of M, c=US" attr=homePhone by self write by dn=".*, o=U of M, c=US" search by domain=.*\.umich\.edu read by * compare access to dn=".*, o=U of M, c=US" by self write by dn=".*, o=U of M, c=US" search by * none </verb></tscreen> ÀÌ ¿¹´Â "o=U of M, c=US" ÇϺΠƮ¸®³»ÀÇ ¿£Æ®¸®¿¡ Àû¿ëµÈ´Ù. homePhone¸¦ Á¦¿ÜÇÑ ¸ðµç ¼Ó¼ºµé¿¡ ´ëÇØ ¿£Æ®¸®°¡ ¼Ó¼ºµéÀ» ¾µ ¼ö ÀÖ°í, ´Ù¸¥ U-M ¿£Æ®¸®´Â ¼Ó¼ºµé¿¡ ÀÇÇØ °Ë»öµÇ¸ç ¾î´À ´©±¸µµ ¿¢¼¼½º¸¦ ÇÏÁö ¸øÇÑ´Ù. homePhone ¼Ó¼ºÀº ¿£Æ®¸®¿¡ ÀÇÇØ ¾µ ¼ö ÀÖ°í, ´Ù¸¥ U-M ¿£Æ®¸®¿¡ ÀÇÇØ °Ë»öÇÒ ¼ö ÀÖ°í, umich.edu µµ¸ÞÀÎ »ó¿¡¼­ ¿¬°áÇϴ Ŭ¶óÀ̾ðÆ®¿¡ ÀÇÇØ ÀÐÀ» ¼ö ÀÖ°í, ´Ù¸¥ ¸ðµç »ç¶÷¿¡ ÀÇÇØ ºñ±³ÇÒ ¼ö ÀÖ´Ù. ¶§¶§·Î ƯÁ¤ DN¿¡ ÀÚ½ÅÀÇ ¼Ó¼ºÀ» Ãß°¡ ¶Ç´Â »èÁ¦ÇÒ ¼ö ÀÖ´Â ±ÇÇÑÀ» ÁÖ´Â °ÍÀÌ À¯¿ëÇÏ´Ù. ¿¹¸¦ µé¾î ±×·ìÀ» »ý¼ºÇؼ­ »ç¶÷µé·Î ÇÏ¿©±Ý member ¼Ó¼º¿¡¼­ ±×µé ¼ÒÀ¯ÀÇ DNÀ» Ãß°¡ ¹× »èÁ¦ÇÒ ¼ö ÀÖ°Ô Çã¿ëÇÏ°í ½Í´Ù¸é ´ÙÀ½ÀÇ ¿¢¼¼½º Áö½Ã¸¦ ÀÌ¿ëÇØ ¼öÇàÇÒ ¼ö ÀÖ´Ù: <tscreen><verb> access to attr=member,entry by dnattr=member selfwrite </verb></tscreen> dnattr <who> ¼±ÅÃÀÚ´Â ¿¢¼¼½º°¡ member ¼Ó¼º¿¡ ¸®½ºÆ®µÈ ¿£Æ®¸®¿¡ Àû¿ëµÊÀ» ¸»ÇØÁØ´Ù. selfwrite ¿¢¼¼½º ¼±ÅÃÀÚ´Â ±× memberµéÀÌ ´Ù¸¥ °ªÀ» Á¦¿ÜÇÑ ±×µéÀÇ DN °ª¸¸À» ¼Ó¼º¿¡ Ãß°¡ ¹× »èÁ¦ÇÒ ¼ö ÀÖÀ½À» ¸»ÇØÁØ´Ù. ¾î¶² ¿£Æ®¸® ¼Ó¼ºÀÇ ¿¢¼¼½º¸¦ À§Çؼ­´Â ¿£Æ®¸® ¿¢¼¼½º°¡ ÇÊ¿äÇϱ⠶§¹®¿¡ ¿£Æ®¸® ¼Ó¼ºÀÇ Ãß°¡°¡ ÇÊ¿äÇÏ´Ù. <what>Àý¿¡¼­ attr=member ´Â "dn=* attr=member" Àý(Áï ÀÌ°ÍÀº ¸ðµç ¿£Æ®¸®¿¡ member ¼Ó¼º°ú ºÎÇյȴÙ)ÀÇ ¼Ó±âÀÓÀ» ÁÖ¸ñÇϱ⠹ٶõ´Ù. Note:LdapÀÇ ¿¢¼¼½º Á¦¾î¿¡ ´ëÇØ ´õ ¸¹Àº °ÍÀ» ¹è¿ì±â À§ÇØ <url url="http://openldap.org/">ÀÇ OpenLDAP °ü¸®ÀÚ ÁöħÀ» º¸¶ó. <sect1>¼³Á¤ ÆÄÀÏ ¿¹ <p> ´ÙÀ½Àº ¼³¸í ÅؽºÆ®°¡ µé¾îÀÖ´Â ¼³Á¤ ÆÄÀÏ ¿¹Á¦ÀÌ´Ù. ÀÌ´Â X.500 Æ®¸®ÀÇ ¿©·¯ ºÎºÐµéÀ» ´Ù·ç±â À§ÇØ LDBM µ¥ÀÌŸº£À̽º ÀνºÅϽºÀÎ µÎ °³ÀÇ µ¥ÀÌÅͺ£À̽º¸¦ Á¤ÀÇÇÑ´Ù. ¶óÀÎ ¼ýÀÚ´Â ÂüÁ¶¸¦ À§ÇÑ °ÍÀ¸·Î ½ÇÁ¦ ÆÄÀÏ¿¡´Â ¾ø´Ù. ¿ì¼± Àü¿ªÀû ¼³Á¤ ºÎºÐ: <itemize> <item>1. # example config file - global configuration section <item>2. include /usr/local/etc/schema/core.schema <item>3. referral ldap://root.openldap.org <item>4. access to * by * read </itemize> ¶óÀÎ 1Àº ÁÖ¼®ÀÌ´Ù. ¶óÀÎ 2´Â ÇÙ½É ½ºÅ°¸¶ Á¤ÀǸ¦ °®´Â ´Ù¸¥ config ÆÄÀÏÀ» Æ÷ÇÔÇÑ´Ù. ¶óÀÎ 3ÀÇ referral Áö½Ã´Â ¹Ø¿¡ Á¤ÀÇµÈ µ¥ÀÌÅͺ£À̽º Áß Çϳª¿¡ Áö¿ªÀûÀÌ ¾Æ´Ñ ÁúÀÇ´Â root.openldap.org È£½ºÆ®ÀÇ Ç¥ÁØ Æ÷Æ®(389)¿¡¼­ ÀÛµ¿µÇ´Â LDAP ¼­¹ö¸¦ ÂüÁ¶ÇÒ °ÍÀÓÀ» ÀǹÌÇÑ´Ù. ¶óÀÎ 4´Â Àü¿ªÀû ¿¢¼¼½º Á¦¾î·Î ºÎÇյǴ µ¥ÀÌÅͺ£À̽º ¿¢¼¼½º Á¦¾î°¡ ¾ø°Å³ª ¶Ç´Â Ÿ°Ù °´Ã¼°¡ Root DSE¿Í °°Àº ÀÓÀÇÀÇ µ¥ÀÌÅͺ£À̽ºÀÇ Á¦¾îÇÏ¿¡ ¾øÀ»¶§¸¸ »ç¿ëµÈ´Ù. ¼³Á¤ ÆÄÀÏÀÇ ´ÙÀ½ ºÎºÐÀº Æ®¸®ÀÇ "dc=example,dc=com" ºÎºÐ¿¡ ÀÖ´Â ³»¿ë¿¡ ´ëÇÑ ÁúÀǸ¦ ´Ù·ê LDBM ¹é¿£µå¸¦ Á¤ÀÇÇÑ´Ù. µ¥ÀÌÅͺ£À̽º´Â °¢°¢ truelies¿Í judgementday µÎ °³ÀÇ slapd ¿¡ º¹»çµÉ °ÍÀÌ´Ù. À妽º´Â ¿©·¯ ¼Ó¼ºÀ» À§ÇØ À¯ÁöµÇ¸ç userPassword ¼Ó¼ºÀº Àΰ¡¹ÞÁö ¸øÇÑ ¿¢¼¼½º¿¡ ´ëÇØ º¸È£µÈ´Ù. <itemize> <item>5. # ldbm definition for the example.com <item>6. database ldbm <item>7. suffix "dc=example, dc=com" <item>8. directory /usr/local/var/openldap <item>9. rootdn "cn=Manager, dc=example, dc=com" <item>10. rootpw secret <item>11. # replication directives <item>12. replogfile /usr/local/var/openldap/slapd.replog <item>13. replica host=slave1.example.com:389 <item>14. binddn="cn=Replicator, dc=example, dc=com" <item>15. bindmethod=simple credentials=secret <item>16. replica host=slave2.example.com <item>17. binddn="cn=Replicator, dc=example, dc=com" <item>18. bindmethod=simple credentials=secret <item>19. # indexed attribute definitions <item>20. index uid pres,eq <item>21. index cn,sn,uid pres,eq,approx,sub <item>22. index objectClass eq <item>23. # ldbm access control definitions <item>24. access to attr=userPassword <item>25. by self write <item>26. by anonymous auth <item>27. by dn="cn=Admin,dc=example,dc=com" write <item>28. by * none <item>29. access to * <item>30. by self write <item>31. by dn="cn=Admin,dc=example,dc=com" write <item>32. by * read </itemize> ¶óÀÎ 5´Â ÁÖ¼®ÀÌ´Ù. ¶óÀÎ 6ÀÇ µ¥ÀÌÅͺ£À̽º Å°¿öµå¿¡ ÀÇÇØ µ¥ÀÌÅͺ£À̽º Á¤ÀÇ°¡ ½ÃÀ۵ȴÙ. ¶óÀÎ 7Àº ÀÌ µ¥ÀÌÅͺ£À̽º¿¡ º¸³»Áú ÁúÀÇ¿¡ ´ëÇÑ DN suffix¸¦ ÁöÁ¤ÇÑ´Ù. ¶óÀÎ 8Àº µ¥ÀÌÅͺ£À̽º ÆÄÀÏÀÌ ³õÀÏ µð·ºÅ丮¸¦ ÁöÁ¤ÇÑ´Ù. ¶óÀÎ 9¿Í 10Àº µ¥ÀÌÅͺ£À̽º "super user" ¿£Æ®¸®¿Í °ü·Ã Æнº¿öµå¸¦ ÁöÁ¤ÇÑ´Ù. ÀÌ ¿£Æ®¸®´Â ¿¢¼¼½º Á¦¾î ¶Ç´Â Å©±â ¶Ç´Â ½Ã°£ ÇÑ°è Á¦ÇÑÀ» ÇÊ¿ä·Î ÇÏÁö ¾Ê´Â´Ù. ¶óÀÎ 11-18Àº º¹»çº»¿¡ ´ëÇÑ °ÍÀ¸·Î ¶óÀÎ 11Àº º¹»çº» ·Î±× ÆÄÀÏÀ» ÁöÁ¤ÇÑ´Ù (µ¥ÀÌÅͺ£À̽º¿¡ ´ëÇÑ º¯°æ »çÇ×ÀÌ ±â·ÏµÇ´Âµ¥ slapd ¿¡ ÀÇÇØ ¾²¿©Áö°í slurpd ¿¡ ÀÇÇØ ÀÐÇôÁø´Ù). ¶óÀÎ 12-14´Â º¹»çµÈ È£½ºÆ®¿¡ ´ëÇÑ È£½ºÆ® ³×ÀÓ°ú Æ÷Æ®, °»½ÅÇÒ¶§ÀÇ bindÇÒ DN, binddn¿¡ ´ëÇØ bind ¹æ¹ý(°£·«)¹× credentials(Æнº¿öµå)¸¦ ÁöÁ¤ÇÑ´Ù. ¶óÀÎ 15-18Àº µÎ ¹ø° º¹»çº» »çÀÌÆ®¸¦ ÁöÁ¤ÇÑ´Ù. ¶óÀÎ20-22´Â ´Ù¾çÇÑ ¼Ó¼º¿¡ ´ëÇØ À¯ÁöµÇ´Â À妽º¸¦ °¡¸®Å²´Ù. ¶óÀÎ 24-32´Â µ¥ÀÌÅͺ£À̽º³»ÀÇ ¿£Æ®¸®¿¡ ´ëÇÑ ¿¢¼¼½º Á¦¾î¸¦ ÁöÁ¤ÇÑ´Ù. ¸ðµç ¿£Æ®¸®¿¡ ´ëÇØ userPassword´Â ¿£Æ®¸® ÀÚü ¹× "admin" ¿£Æ®¸®¿¡ ÀÇÇØ ¾µ ¼ö ÀÖ´Ù. ÀÌ´Â ÀÎÁõ/Àΰ¡ ¸ñÀû¿¡ »ç¿ëµÉ ¼ö ÀÖÁö¸¸ ±×·¸Áö ¾ÊÀº °æ¿ì ÀÐÀ» ¼ö ¾ø´Ù. ¸ðµç ´Ù¸¥ ¼Ó¼ºÀº ¿£Æ®¸®¿Í "admin" ¿£Æ®¸®¿¡ ÀÇÇØ ¾µ ¼ö ÀÖÁö¸¸ ÀÎÁõ¹ÞÀº »ç¿ëÀÚ¿¡ ÀÇÇØ ÀÐÈú ¼ö ÀÖ´Ù. ¼³Á¤ ÆÄÀÏ ¿¹ÀÇ ´ÙÀ½ ºÎºÐÀº ´Ù¸¥ LDBM µ¥ÀÌÅͺ£À̽º¸¦ Á¤ÀÇÇϴµ¥ ÀÌ µ¥ÀÌÅͺ£À̽º´Â dc=example,dc=net ÇÏÀ§ Æ®¸®¸¦ Æ÷ÇÔÇÑ ÁúÀǸ¦ ó¸®ÇÑ´Ù. ¶óÀÎ 38ÀÌ ¾ø´Ù¸é ¶óÀÎ 4¿¡ ÀÖ´Â Àü¿ªÀû ¿¢¼¼½º ±ÔÄ¢ ¶§¹®¿¡ Àб⠿¢¼¼½º°¡ Çã¿ëµÉ ¼ö ÀÖÀ½À» ÁÖ¸ñÇϱ⠹ٶõ´Ù. <itemize> <item>33. # ldbm definition for example.net <item>34. database ldbm <item>35. suffix "dc=example, dc=net" <item>36. directory /usr/local/var/ldbm-example-net <item>37. rootdn "cn=Manager, dc=example, dc=com" <item>38. access to * by users read </itemize> <sect>LDAP ¼­¹ö ±¸µ¿Çϱâ <label id="4Àý"> <p> <em>slapd</em>´Â ½ºÅÄµå ¾ó·Ð ¼­¹ö·Î¼­ ÀÛµ¿µÇµµ·Ï ¼³°èµÇ¾î ÀÖ¾î ¼­¹ö°¡ ij½Ì ÀÌ¿ë, ±âº» µ¥ÀÌÅͺ£À̽º¿ÍÀÇ µ¿½Ã ÀÛ¿ë ¹®Á¦ ó¸® ¹× ½Ã½ºÅÛ ÀÚ¿ø º¸È£¸¦ ÇÒ ¼ö ÀÖ´Ù. inetd(8)·ÎºÎÅÍÀÇ ÀÛµ¿Àº ¿É¼ÇÀÌ ¾Æ´Ï´Ù. <sect1>Command Line Options <p> <em>slapd</em>´Â ¸Þ´º¾ó ÆäÀÌÁö¿¡ »ó¼¼È÷ ¼³¸íµÈ ¹Ù¿Í °°ÀÌ ¸¹Àº command-line ¿É¼ÇÀ» Áö¿øÇÑ´Ù. ÀÌ ÀýÀº ÀϹÝÀûÀ¸·Î ÀÚÁÖ »ç¿ëµÇ´Â ¾à°£ÀÇ ¿É¼ÇÀ» »ó¼¼È÷ ¼³¸íÇÑ´Ù: -f <filename> <tscreen><verb> ÀÌ ¿É¼ÇÀº slapd¿¡ ´ëÇÑ ´ëü ±¸¼º ÆÄÀÏÀ» Áö¿øÇÑ´Ù. µðÆúÆ®´Â º¸Åë /usr/local/etc/openldap/slapd.conf ÆÄÀÏÀÌ´Ù. </verb></tscreen> -h <URLs> <tscreen><verb> ÀÌ ¿É¼ÇÀº ´ëü listener ±¸¼ºÀ» ÁöÁ¤ÇÑ´Ù. µðÆúÆ®´Â ldap:/// ·Î µðÆúÆ® LDAPÆ÷Æ® 389ÀÇ TCP ÀÎÅÍÆäÀ̽º¸¦ °®´Â LDAP¸¦ ÀǹÌÇÑ´Ù. È£½ºÆ®-Æ÷Æ® ½Ö ¹× ldaps:// ¶Ç´Â ldapi:// ¿Í °°Àº ´Ù¸¥ ÇÁ·ÎÅäÄÝ °èȹÀ» ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù. ¿¹¸¦µé¾î, -h "ldaps:// ldap:/127.0.0.1:667"Àº µÎ °³ÀÇ listener¸¦ »ý¼ºÇÒ °ÍÀÌ´Ù: Çϳª´Â µðÆúÆ® LDAP/SSL Æ÷Æ® 636ÀÇ ¸ðµç ÀÎÅÍÆäÀ̽º¿¡¼­ SSLÀ» ÀÌ¿ëÇÏ´Â LDAPÀÌ°í ´Ù¸¥ Çϳª´Â Æ÷Æ® 667ÀÇ ·ÎÄà ȣ½ºÆ®(·çÇÁ¹é,loopback)¿¡¼­ TCP¸¦ ÀÌ¿ëÇÑ LDAP. È£½ºÆ®´Â IPv4 dotted-decimal ÇüÅ ¶Ç´Â È£½ºÆ® ³×ÀÓÀ» »ç¿ëÇÏ¿© ÁöÁ¤µÉ ¼ö ÀÖ´Ù. Æ÷Æ®°ªÀº ¼öÄ¡¿©¾ß ÇÑ´Ù. </verb></tscreen> -n <service-name> <tscreen><verb> ÀÌ ¿É¼ÇÀº ·Î±ë°ú ´Ù¸¥ ¸ñÀûÀ» À§ÇØ »ç¿ëµÇ´Â ¼­ºñ½º À̸§À» ÁöÁ¤ÇÑ´Ù. µðÆúÆ® ¼­ºñ½º À̸§Àº slapdÀÌ´Ù. </verb></tscreen> -l <syslog-local-user> <tscreen><verb> ÀÌ ¿É¼ÇÀº syslog(8) ¿¡ ´ëÇÑ ·ÎÄà »ç¿ëÀÚ¸¦ ÁöÁ¤ÇÑ´Ù. LOCAL0, LOCAL1, LOCAL2,..., ¿Í LOCAL7ÀÌ °ªÀÌ ÀÖ´Ù. µðÆúÆ®´Â LOCAL4ÀÌ´Ù. ÀÌ ¿É¼ÇÀº ¸ðµç ½Ã½ºÅÛ¿¡¼­ Áö¿øµÇÁö ¾ÊÀ» ¼ö ÀÖ´Ù. </verb></tscreen> -u user -g group <tscreen><verb> ÀÌ ¿É¼ÇµéÀº °¢°¢ ¼­¹ö¸¦ ÀÛµ¿ÇÏ´Â »ç¿ëÀÚ¿Í ±×·ìÀ» ÁöÁ¤ÇÑ´Ù. »ç¿ëÀÚ¿Í ±×·ìÀº °¢°¢ »ç¿ëÀÚ ¹× ±×·ì À̸§°ú uid ¹× gid ÀÏ ¼ö ÀÖ´Ù. </verb></tscreen> -r directory <tscreen><verb> ÀÌ ¿É¼ÇÀº ·±Å¸ÀÓ µð·ºÅ丮¸¦ ÁöÁ¤ÇÑ´Ù. slapd´Â listenerÀ» ¿ÀÇÂÇÑ ÈÄ ±×·¸Áö¸¸ ¾î¶² ±¸¼ºÆÄÀÏÀ» Àбâ Àü ¶Ç´Â ¾î¶² ¹é¿£µå¸¦ ÃʱâÈ­Çϱâ Àü¿¡ ÀÌ µð·ºÅ丮·Î chroot(2) ÇÒ °ÍÀÌ´Ù. </verb></tscreen> -d <level> | ? <tscreen><verb> ÀÌ ¿É¼ÇÀº slapd µð¹ö±× ·¹º§À» <level>·Î ¼³Á¤ÇÑ´Ù. ·¹º§ÀÌ `?' ¹®ÀÚÀÏ ¶§´Â ¼±ÅÃÇÑ ¿É¼Ç¿¡ »ó°ü¾øÀÌ ´Ù¾çÇÑ µð¹ö±ë ·¹º§ÀÌ Ãâ·ÂµÇ¸ç slapd ´Â Á¾·áµÈ´Ù. ÇöÀç µð¹ö±ë ·¹ºôÀº ´ÙÀ½°ú °°´Ù: -1 enable all debugging 0 no debugging 1 trace function calls 2 debug packet handling 4 heavy trace debugging 8 connection management 16 print out packets sent and received 32 search filter processing 64 configuration file processing 128 access control list processing 256 stats log connections/operations/results 512 stats log entries sent 1024 print communication with shell ¹é¿£s 2048 print entry parsing debugging °¢°¢ÀÇ ¿øÇÏ´Â ·¹º§¿¡ ´ëÇØ µð¹ö±× ¿É¼ÇÀ» ÁöÁ¤ÇÔÀ¸·Î½á ´ÙÁß ·¹º§À» ÀÛµ¿½Ãų ¼ö ÀÖ´Ù. ¶ÇÇÑ µð¹ö±ë ·¹º§Àº ºÎ°¡ÀûÀ̱⠶§¹®¿¡ ½º½º·Î ·¹º§À» °è»êÇÒ ¼ö ÀÖ´Ù. Áï, function callÀ» tracing Çؼ­ config ÆÄÀÏÀÌ ÇÁ·Î¼¼½ÌµÇ´Â °ÍÀ» º¸·Á°í ÇÑ´Ù¸é ÀÌ·¯ÇÑ µÎ ·¹º§ÀÇ ÇÕ(ÀÌ °æ¿ì -d 65)À¸·Î ·¹º§À» ¼³Á¤ÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù. ¶Ç´Â slapd °¡ °è»êÀ» Çϵµ·Ï ÇÒ ¼ö ÀÖ´Ù(¿¹, -d 1 -d 64). ´õ ¸¹Àº ¼¼ºÎ»çÇ×À» ¾Ë±â À§Çؼ­´Â <ldap.h> ÆÄÀÏÀ» Âü°íÇÏ±æ ¹Ù¶õ´Ù. Note: slapd°¡ µÎ stats ·¹º§ ÀÌ»óÀÇ ÀÓÀÇÀÇ µð¹ö±ë Á¤º¸¸¦ ÀÌ¿ëÇÒ ¼ö ÀÖµµ·Ï Á¤ÀÇµÈ -DLDAP_DEBUG ¿É¼ÇÀ» °®°í ÄÄÆÄÀϵǾîÀÖ¾î¾ß ÇÑ´Ù. </verb></tscreen> <sect1>LDAP ¼­¹ö ½ÃÀÛÇϱâ <label id="4.2Àý"> <p> ÀϹÝÀûÀ¸·Î slapd ´Â ´ÙÀ½°ú °°ÀÌ ±¸µ¿½ÃŲ´Ù: /usr/local/etc/libexec/slapd [<option>]* /usr/local/etc/libexec´Â configure¿¡ ÀÇÇØ °áÁ¤µÇ¸ç <option>Àº À§¿¡¼­ ¼³¸íÇÑ ¿É¼Ç(¶Ç´Â slapd(8)) ÁßÀÇ ÇϳªÀÌ´Ù. ·¹º§ 0¸¦ Æ÷ÇÔÇÏ¿© µð¹ö±ë ·¹º§À» ÁöÁ¤ÇÏÁö ¾Ê´Â´Ù¸é slapd´Â ÀÚµ¿ÀûÀ¸·Î ºÐ±â(fork)ÇÏ¿© ±× ÀÚ½ÅÀÇ Á¦¾î Å͹̳ηκÎÅÍ ºÐ¸®Çؼ­ ¹é±×¶ó¿îµå¿¡¼­ ½ÇÇàµÈ´Ù. <sect1>LDAP ¼­¹ö ÁßÁöÇϱâ <p> slapd¸¦ ¾ÈÀüÇÏ°Ô Á¾·á½ÃÅ°±â À§ÇØ ´ÙÀ½ÀÇ ¸í·ÉÀ» ½ÇÇà½ÃÄÑ¾ß ÇÑ´Ù: kill -TERM `cat $(ETCDIR)/slapd.pid` ´õ¿í °ú°¨ÇÑ ¹æ¹ýÀ¸·Î slapd¸¦ Á¾·áÇÏ´Â °ÍÀº ±×°ÍÀÌ Á¾·áÀü¿¡ ´Ù¾çÇÑ ¹öÆÛ¸¦ flush ÇÒ ÇÊ¿ä°¡ ÀÖÀ» ¼ö Àֱ⠶§¹®¿¡ LDBM µ¥ÀÌÅͺ£À̽º¸¦ ¼Õ»ó½Ãų ¼ö ÀÖ´Ù. slapd´Â ÀÚ½ÅÀÇ pid¸¦ slapd.conf ÆÄÀÏ¿¡ ¼³Á¤Çß´ø µð·ºÅ丮(¿¹¸¦µé¾î /usr/local/var/slapd.pid)³»ÀÇ slapd.pid ÆÄÀÏ¿¡ ¾´´Ù´Â °ÍÀ» ÁÖ¸ñÇضó. include/ldapconfig.h.edit ÆÄÀÏÀÇ SLAD_PIDFILE º¯¼ö¸¦ º¯°æÇÔÀ¸·Î½á ÀÌ pid ÆÄÀÏÀÇ À§Ä¡¸¦ º¯°æÇÒ ¼ö ÀÖ´Ù. Slapd ´Â slapd.conf ÆÄÀÏ¿¡ ¼³Á¤Çß´ø µð·ºÅ丮(¿¹¸¦µé¾î /usr/local/var/slapd.args)³»ÀÇ slapd.args ÆÄÀÏ¿¡ ¶ÇÇÑ ÀμöµéÀ» ¾µ °ÍÀÌ´Ù. include/ldapconfig.h.edit. ÆÄÀÏÀÇ SLAPD_ARGSFILE º¯¼ö¸¦ º¯°æÇÔÀ¸·Î½á args ÆÄÀÏÀÇ À§Ä¡¸¦ º¯°æÇÒ ¼ö ÀÖ´Ù. <sect>µ¥ÀÌŸº£À̽º »ý¼º°ú À¯Áö º¸¼ö <p> ÀÌ Àý¿¡¼­´Â scratch·ÎºÎÅÍ slapd µ¥ÀÌŸº£À̽º¸¦ »ý¼ºÇÏ´Â ¹æ¹ý¿¡ ´ëÇØ ³íÀÇÇÑ´Ù. µ¥ÀÌŸº£À̽º´Â µÎ°¡Áö ¹æ¹ýÀ¸·Î »ý¼ºÇÒ ¼ö ÀÖ´Ù. ù°, LDAP¸¦ ÀÌ¿ëÇÏ¿© ¿Â¶óÀλ󿡼­ µ¥ÀÌÅͺ£À̽º¸¦ »ý¼ºÇÒ ¼ö Àִµ¥ °£´ÜÈ÷ slapd¸¦ ±¸µ¿ÇÏ°í ¼±ÅÃÇÑ LDAP Ŭ¶óÀ̾ðÆ®¸¦ ÀÌ¿ëÇÏ¿© ¿£Æ®¸®¸¦ Ãß°¡ÇØÁÖ¸é µÈ´Ù. ÀÌ ¹æ¹ýÀº ºñ±³Àû ÀÛÀº µ¥ÀÌÅͺ£À̽º¿¡ ´ëÇؼ­´Â ´õÇÒ ³ªÀ§¾øÀÌ ÁÁ´Ù (¿ä±¸¿¡ µû¶ó ¼ö¹é ¶Ç´Â ¼öõ°³ÀÇ ¿£Æ®¸®). µÎ ¹ø°´Â À妽º »ý¼º µµ±¸¸¦ ÀÌ¿ëÇÏ¿© ¿ÀÇÁ¶óÀλ󿡼­ µ¥ÀÌÅͺ£À̽º¸¦ »ý¼ºÇÏ´Â °ÍÀε¥ LDAP ¹æ¹ýÀ» ÀÌ¿ëÇÒ ¶§ ¸Å¿ì ¿À·£ ½Ã°£ÀÌ ¼Ò¿äµÉ ¼ö ÀÖ´Â ¹æ´ëÇÑ ¿£Æ®¸® »ý¼º ¶Ç´Â µ¥ÀÌÅͺ£À̽º°¡ »ý¼ºµÇ´Â µ¿¾È ¿¢¼¼½ºµÇÁö ¾Ê±â¸¦ ¿øÇÒ °æ¿ì ÁÁÀº ¹æ¹ýÀÌ´Ù. <sect1>¿Â¶óÀλ󿡼­ µ¥ÀÌŸº£À̽º »ý¼ºÇϱâ <p> OpenLDAP ¼ÒÇÁÆ®¿þ¾î ÆÐÅ°Áö¿¡´Â LDAP ¼­¹ö ÀÛµ¿Áß¿¡ ¿£Æ®¸®¸¦ Ãß°¡Çϴµ¥ »ç¿ëÇÏ´Â ldapadd À¯Æ¿¸®Æ¼¸¦ Æ÷ÇÔÇÏ°í ÀÖ´Ù. ¿Â¶óÀλ󿡼­ µ¥ÀÌÅͺ£À̽º¸¦ »ý¼ºÇÏ·Á°í ÇÑ´Ù¸é ¿£Æ®¸® Ãß°¡¸¦ À§ÇØ ldapadd µµ±¸¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù. ù ¹ø° ¿£Æ®¸®¸¦ Ãß°¡ÇÑ ÈÄ ´õ ¸¹Àº ¿£Æ®¸®¸¦ Ãß°¡Çϱâ À§ÇØ ldapadd¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù. slapd¸¦ ±¸µ¿Çϱâ Àü¿¡ slapd.conf ÆÄÀÏ¿¡ ´ÙÀ½ ¿É¼ÇÀÌ ¼³Á¤µÇ¾î ÀÖÀ½À» È®ÀÎÇØ¾ß ÇÑ´Ù. suffix <dn> <ref id="3Àý" name="3Àý">¿¡ ¼³¸íÇÑ ¹Ù¿Í °°ÀÌ ÀÌ ¿É¼ÇÀº ¾î¶² ¿£Æ®¸®°¡ ÀÌ µ¥ÀÌŸº£À̽º¿¡ µé¾îÀÖ´ÂÁö¸¦ ¸»ÇØÁִµ¥ À̸¦ »ý¼ºÇÏ·Á°í ÇÏ´Â ÇÏÀ§ Æ®¸®ÀÇ ·çÆ® DNÀ¸·Î ¼³Á¤ÇØ¾ß ÇÑ´Ù: suffix "o=TUDelft, c=NL" À妽º ÆÄÀÏÀÌ »ý¼ºµÇ¾î ³õÀÌ´Â µð·ºÅ丮 ÁöÁ¤À» È®½ÇÈ÷ ÇØÁÖ¾î¾ß ÇÑ´Ù: directory <directory> ¿¹: directory /usr/local/tudelft ¿£Æ®¸®¸¦ Ãß°¡ÇÒ ¼ö ÀÖ´Â Çã°¡±ÇÀ» °¡Áø ´©±º°¡·Î slapd ¿¡ ¿¬°áÇÒ ¼ö ÀÖµµ·Ï ¼³Á¤ÇÒ ÇÊ¿ä°¡ Àִµ¥ ÀÌ´Â µ¥ÀÌÅͺ£À̽º Á¤ÀÇ¿¡¼­ ´ÙÀ½ µÎ ¿É¼ÇÀ» ÅëÇØ ÀÌ·ç¾îÁø´Ù: rootdn <dn> rootpw <passwd> /* ¾ÏȣȭµÈ Æнº¿öµå¸¦ »ç¿ëÇÏ´Â °ÍÀ» ±â¾ïÇضó !!! */ ÀÌ ¿É¼ÇµéÀº µ¥ÀÌÅͺ£À̽ºÀÇ ½´ÆÛÀ¯Àú ¿£Æ®¸®(¾î¶² ÀÛ¾÷À̵ç ÇÒ ¼ö ÀÖ´Â ¿£Æ®¸®)¸¦ ÀÎÁõÇϴµ¥ »ç¿ëµÉ ¼ö ÀÖ´Â DN°ú password¸¦ ÁöÁ¤ÇÑ´Ù. ¿©±â¼­ ÁöÁ¤ÇÑ DN°ú password´Â ½ÇÁ¦ À̸§À» °®´Â ¿£Æ®¸®°¡ Á¸ÀçÇϵçÁö ¶Ç´Â ¿£Æ®¸®°¡ ÁöÁ¤µÈ Æнº¿öµå¸¦ °®´ÂÁö »ó°ü¾øÀÌ ´Ã ÀÛµ¿ÇÑ´Ù. ÀÌ´Â ¾ÆÁ÷ ¾î¶² ¿£Æ®¸®°¡ Á¸ÀçÇϱ⵵ Àü¿¡ ¾î¶»°Ô ÀÎÁõÀ» ÇÏ°í ¾î¶»°Ô ¿£Æ®¸®¸¦ Ãß°¡ÇÏ´ÂÁöÀÇ chicken and egg (º´¾Æ¸®°¡ ¸ÕÀú³Ä ´ßÀÌ ¸ÕÀú³Ä ÇÏ´Â ½ÄÀÇ) ¹®Á¦¸¦ ÇØ°áÇÑ´Ù. ¸¶Áö¸·À¸·Î µ¥ÀÌÅͺ£À̽º Á¤ÀÇ°¡ ¿øÇÏ´Â À妽º Á¤ÀǸ¦ Æ÷ÇÔÇÏ´ÂÁö¸¦ È®ÀÎÇØ¾ß ÇÑ´Ù: index {<attrlist> | default} [pres,eq,approx,sub,none] ¿¹¸¦µé¾î cn, sn, uid ¿Í objectclass ¼Ó¼ºÀ» À妽ºÇϱâ À§ÇØ ´ÙÀ½ À妽º ¼³Á¤ ¶óÀÎÀÌ »ç¿ëµÉ ¼ö ÀÖ´Ù. index cn,sn,uid index objectclass pres,eq index default none ÃëÇâ¿¡ ¸Â°Ô ±¸¼ºÇß´Ù¸é slapd¸¦ ±¸µ¿ÇÏ°í LDAP Ŭ¶óÀ̾ðÆ®·Î ¿¬°áÇÏ¿© ¿£Æ®¸® Ãß°¡¸¦ ½ÃÀÛÇضó. ¿¹¸¦µé¾î ldapadd µµ±¸¸¦ ÀÌ¿ëÇÏ¿© TUDelft ¿£Æ®¸®¿Í Postmaster ¿£Æ®¸®¸¦ ¼øÂ÷ÀûÀ¸·Î Ãß°¡Çϱâ À§ÇØ ´ÙÀ½ ³»¿ëÀ» °®´Â /tmp/newentry ÆÄÀÏÀ» »ý¼ºÇÒ ¼ö ÀÖ´Ù: <tscreen><verb> o=TUDelft, c=NL objectClass=organization description=Technical University of Delft Netherlands cn=Postmaster, o=TUDelft, c=NL objectClass=organizationalRole cn=Postmaster description= TUDelft postmaster - postmaster@tudelft.nl </verb></tscreen> ±×¸®°í³ª¼­ ¿£Æ®¸®¸¦ ½ÇÁ¦ »ý¼ºÇϱâ À§ÇØ ´ÙÀ½ ¸í·ÉÀ» »ç¿ëÇÑ´Ù: <tscreen><verb> ldapadd -f /tmp/newentry -D "cn=Manager, o=TUDelft, c=NL" -w secret </verb></tscreen> À§ ¸í·ÉÀº rootdnÀ» "cn=Manager, o=TUDelft, c=NL" À¸·Î rootpw¸¦ "secret" ¼³Á¤Çß´Ù°í °¡Á¤ÇÑ´Ù. command-line »ó¿¡¼­ Æнº¿öµå¸¦ ŸÀÌÇÎÇÏ±æ ¿øÇÏÁö ¾Ê´Â´Ù¸é -w "password" ´ë½Å ldapadd ¸í·É¿¡ ´ëÇØ -W ¿É¼ÇÀ» »ç¿ëÇضó. Æнº¿öµå¸¦ ÀÔ·ÂÇÏ´Â ÇÁ·ÒÇÁÆ®¸¦ º¼ ¼ö ÀÖÀ» °ÍÀÌ´Ù: <tscreen><verb> ldapadd -f /tmp/newentry -D "cn=Manager, o=TUDelft, c=NL" -W Enter LDAP Password: </verb></tscreen> <sect1>¿ÀÇÁ¶óÀλ󿡼­ µ¥ÀÌŸº£À̽º »ý¼ºÇϱâ <p> µ¥ÀÌÅͺ£À̽º¸¦ »ý¼ºÇÏ´Â µÎ ¹ø° ¹æ¹ýÀº ´ÙÀ½¿¡ ¼³¸íµÈ À妽º »ý¼º µµ±¸¸¦ ÀÌ¿ëÇÏ¿© ¿ÀÇÁ¶óÀλ󿡼­ ÀÛ¾÷À» ÇÏ´Â °ÍÀε¥ LDAP ¹æ¹ýÀ» ÀÌ¿ëÇÒ ¶§ ¸Å¿ì ¿À·£ ½Ã°£ÀÌ ¼Ò¿äµÉ ¼ö ÀÖ´Â ¹æ´ëÇÑ ¿£Æ®¸® »ý¼º ¶Ç´Â µ¥ÀÌÅͺ£À̽º°¡ »ý¼ºµÇ´Â µ¿¾È ¿¢¼¼½ºµÇÁö ¾Ê±â¸¦ ¿øÇÒ °æ¿ì ÁÁÀº ¹æ¹ýÀÌ´Ù. ÀÌ µµ±¸´Â slapd ¼³Á¤ ÆÄÀÏ°ú Ãß°¡µÇ´Â ¿£Æ®¸®ÀÇ ÅؽºÆ® Ç¥ÇöÀ» Æ÷ÇÔÇÏ´Â ÀÔ·Â LDIF ÆÄÀÏÀ» ÀоîµéÀ̴µ¥ LDBM À妽º ÆÄÀÏÀ» Á÷Á¢ÀûÀ¸·Î »ý¼ºÇÑ´Ù. config ÆÄÀÏ µ¥ÀÌÅͺ£À̽º Á¤ÀÇ¿¡¼­ ¿ì¼±ÀûÀ¸·Î È®ÀÎ ¹× ¼³Á¤ÇÏ±æ ¿øÇÏ´Â ¿©·¯ Áß¿äÇÑ ¼³Á¤ ¿É¼ÇÀÌ ÀÖ´Ù: suffix <dn> ÀÌÀü Àý¿¡¼­ ¼³¸íÇÑ ¹Ù¿Í °°ÀÌ, ÀÌ ¿É¼ÇÀº ¾î¶² ¿£Æ®¸®°¡ ÀÌ µ¥ÀÌŸº£À̽º¿¡ µé¾î ÀÖ´ÂÁö¸¦ ¸»ÇØÁִµ¥ À̸¦ »ý¼ºÇÏ·Á°í ÇÏ´Â ÇϺΠƮ¸®ÀÇ ·çÆ® DN¿¡ ¼³Á¤ÇØ¾ß ÇÑ´Ù. ¿¹: suffix "o=TUDelft, c=NL" À妽º ÆÄÀÏÀÌ »ý¼ºµÇ¾î ³õÀÌ´Â µð·ºÅ丮 ÁöÁ¤À» È®½ÇÈ÷ ÇØÁÖ¾î¾ß ÇÑ´Ù. directory <directory> ¿¹: directory /usr/local/tudelft ´ÙÀ½ ¾Æ¸¶µµ °¢ ¿ÀÇ À妽º ÆÄÀÏÀÌ »ç¿ëÇÏ´Â in-core ij½ÃÀÇ Å©±â¸¦ Áõ°¡½ÃÅ°±æ ¿øÇÒ ¼ö Àִµ¥ À妽º »ý¼ºÁß ÃÖ»óÀÇ ¼º´ÉÀ» À§ÇØ Àüü À妽º°¡ ¸Þ¸ð¸®»ó¿¡ ³õ¿©¾ß ÇÑ´Ù. µ¥ÀÌÅÍ°¡ ¸Þ¸ð¸®¿¡ ¿Ã¸®Áö ¸øÇÒ Á¤µµ·Î ¹æ´ëÇϰųª ¶Ç´Â ¸Þ¸ð¸®°¡ ³Ê¹« ÀÛ´Ù¸é ¸Þ¸ð¸® Å©±â¸¦ Áõ°¡½ÃÅ°°Å³ª ÆäÀÌ¡ ½Ã½ºÅÛÀ» ÀÛµ¿½Ãų ¼ö ÀÖ´Ù. ÀÌ Å©±â´Â ´ÙÀ½ ¿É¼Ç¿¡ ÀÇÇØ ¼³Á¤µÈ´Ù: dbcachesize <integer> ¿¹: dbcachesize 50000000 ÀÌ ¿É¼ÇÀº ²Ï Å«(Michigan ´ëÇп¡¼­ µ¥ÀÌÅͺ£À̽º´Â ´ë·« 125K ¿£Æ®¸®¸¦ °¡Áö¸ç °¡Àå Å« À妽º ÆÄÀÏÀº ´ë·« 45MB ÀÌ´Ù) 50MB Å©±âÀÇ Ä³½Ã¸¦ »ý¼ºÇÒ °ÍÀÌ´Ù. ½Ã½ºÅÛÀÌ ¾î¶² ¿É¼Ç °ª¿¡¼­ ÃÖ»óÀ¸·Î ÀÛµ¿ÇÏ´Â °¡¸¦ »ìÆ캸±â À§ÇØ ÀÌ ºñÆ®¼ö¿Í ¾Æ·¡¼­ ¼³¸íµÇ´Â parallelism Á¤µµ¸¦ º¯È­½ÃÅ°¸é¼­ ½ÇÇèÇغÁ¶ó. À妽º ÆÄÀÏÀÌ ÀÏ´Ü »ý¼ºµÇ¸é slapd¸¦ ½ÇÇà½ÃÅ°±â Àü¿¡ ÀÌ °ªÀ» °¨¼Ò½ÃÅ°´Â °ÍÀ» ÀØÁö ¸¶¶ó. ¸¶Áö¸·À¸·Î ¾î¶² À妽º¸¦ ±¸ÃàÇÏ±æ ¿øÇÏ´ÂÁö ÁöÁ¤ÇÒ ÇÊ¿ä°¡ Àִµ¥ ÀÌ´Â Çϳª ¶Ç´Â ±× ÀÌ»óÀÇ À妽º ¿É¼Ç¿¡ ÀÇÇØ ÁöÁ¤µÈ´Ù: index {<attrlist> | default} [pres,eq,approx,sub,none] ¿¹: index cn,sn,uid pres,eq,approx index default none ÀÌ´Â cn, sn°ú uid ¼Ó¼º¿¡ ´ëÇØ presence, equality ¿Í approximate À妽º¸¦ »ý¼ºÇÏ¸ç ³ª¸ÓÁö ´Ù¸¥ ¼Ó¼º¿¡ ´ëÇؼ­´Â À妽º¸¦ »ý¼ºÇÏÁö ¾ÊÀ» °ÍÀÌ´Ù. ÀÌ ¿É¼Ç¿¡ ´ëÇØ ´õ ¸¹Àº Á¤º¸¸¦ ¾ò±â À§Çؼ­´Â <ref id="3Àý" name="3Àý">ÀÇ ¼³Á¤ ÆÄÀÏÀ» º¸¶ó. ÃëÇâ¿¡ ¸Â°Ô ¼³Á¤Çß´Ù¸é slapadd(8) ÇÁ·Î±×·¥À» ½ÇÇà½ÃÅ´À¸·Î½á ±âº» µ¥ÀÌÅͺ£À̽º¿Í °ü·Ã À妽º¸¦ »ý¼ºÇÑ´Ù: slapadd -l <inputfile> -f <slapdconfigfile> [-d <debuglevel>] [-n <integer>|-b <suffix>] ÀμöµéÀº ´ÙÀ½ÀÇ Àǹ̸¦ °®´Â´Ù: <tscreen><verb> -l <inputfile> </verb></tscreen> ÅؽºÆ® ÇüÅ·ΠÃß°¡µÇ´Â ¿£Æ®¸®¸¦ Æ÷ÇÔÇÑ LDIF ÀÔ·Â ÆÄÀÏÀ» ÁöÁ¤ÇÑ´Ù(´ÙÀ½ ÀýÀ» º¸¶ó). <tscreen><verb> -f <slapdconfigfile> </verb></tscreen> À妽º¸¦ ¾îµð¿¡ »ý¼ºÇÏ´ÂÁö, ¾î¶² À妽º¸¦ »ý¼ºÇÏ´ÂÁö µîÀ» ¸»ÇØÁÖ´Â slapd ¼³Á¤ ÆÄÀÏÀ» ÁöÁ¤ÇÑ´Ù. <tscreen><verb> -d <debuglevel> </verb></tscreen> <debuglevel>¿¡ ÀÇÇØ ÁöÁ¤µÈ µð¹ö±ëÀ» ÀÛµ¿½ÃŲ´Ù. µð¹ö±× ·¹º§Àº slapd ¿¡ ´ëÇÑ ·¹º§°ú °°´Ù. 4.1 ÀýÀÇ ¿É¼ÇÀ» º¸¶ó. <tscreen><verb> -n <databasenumber> </verb></tscreen> ¾î¶² µ¥ÀÌÅͺ£À̽º°¡ ¼öÁ¤µÇ´Â°¡¸¦ ÁöÁ¤ÇÏ´Â ¼±ÅÃÀû Àμö·Î ¼³Á¤ ÆÄÀÏ¿¡ ¸í½ÃµÈ ù ¹ø° µ¥ÀÌÅͺ£À̽º´Â 1, µÎ ¹ø°´Â 2 µîÀ¸·Î Ç¥ÇöµÈ´Ù. µðÆúÆ®·Î ¼³Á¤ ÆÄÀÏÀÇ Ã¹ ¹ø° ldbm µ¥ÀÌÅͺ£À̽º°¡ »ç¿ëµÈ´Ù. -b ¿É¼Ç°ú ÇÔ²² »ç¿ëµÇ¼­´Â ¾ÈµÈ´Ù. <tscreen><verb> -b <suffix> </verb></tscreen> ¾î¶² µ¥ÀÌÅͺ£À̽º°¡ ¼öÁ¤µÇ´Â°¡¸¦ ÁöÁ¤ÇÏ´Â ¼±ÅÃÀû Àμö·Î µ¥ÀÌÅͺ£À̽º ³Ñ¹ö¸¦ °áÁ¤Çϱâ À§ÇÑ µ¥ÀÌÅͺ£À̽º suffix Áö½Ã¿Í ºÎÇÕµÇÁö ¾Ê´Â´Ù. -n ¿É¼Ç°ú ÇÔ²² »ç¿ëµÇ¼­´Â ¾ÈµÈ´Ù. slapd.conf(5) ÆÄÀÏÀ» ¼öÁ¤ÇÑ ÈÄ¿Í °°ÀÌ ¶§¶§·Î À妽ºµéÀ» Àç »ý¼ºÇÒ ÇÊ¿ä°¡ ÀÖÀ» ¼ö Àִµ¥ ÀÌ´Â slapindex(8) ÇÁ·Î±×·¥À» ÀÌ¿ëÇÏ¿© °¡´ÉÇÏ´Ù. slapindex ´Â ´ÙÀ½°ú °°ÀÌ ½ÇÇà½ÃŲ´Ù: slapindex -f <slapdconfigfile> [-d <debuglevel>] [-n <databasenumber>|-b <suffix>] -f, -d, -n °ú -b ¿É¼ÇÀº slapadd(1) ÇÁ·Î±×·¥¿¡ ´ëÇÑ ¿É¼Ç°ú µ¿ÀÏÇÏ´Ù. slapindex´Â ÇöÀç µ¥ÀÌÅͺ£À̽º ³»¿ë¿¡ ±âÃÊÇÑ ¸ðµç À妽ºµéÀ» Àç ±¸ÃàÇÑ´Ù. µ¥ÀÌÅͺ£À̽º¸¦ LDIF ÆÄÀÏ·Î ´ýÇÁ(dump)Çϴµ¥ »ç¿ëµÇ´Â slapcat À̶ó´Â ÇÁ·Î±×·¥ÀÌ Àִµ¥ ÀÌ´Â µ¥ÀÌÅͺ£À̽º¸¦ ÀÐÀ» ¼ö ÀÖ´Â(human-readable) ¹é¾÷À» ÇÒ¶§³ª µ¥ÀÌÅͺ£À̽º¸¦ ¿ÀÇÁ¶óÀÎ »ó¿¡¼­ ÆíÁýÇÏ·Á°í ÇÒ ¶§ À¯¿ëÇÏ´Ù. ÀÌ ÇÁ·Î±×·¥Àº ´ÙÀ½°ú °°ÀÌ ½ÇÇà½ÃŲ´Ù: slapcat -l <filename> -f <slapdconfigfile> [-d <debuglevel>] [-n <databasenumber>|-b <suffix>] -n ¶Ç´Â -b ¿É¼ÇÀº -f¸¦ »ç¿ëÇÏ¿© ÁöÁ¤µÈ slapd.conf(5)³»ÀÇ µ¥ÀÌÅͺ£À̽º¸¦ ¼±ÅÃÇϴµ¥ »ç¿ëµÈ´Ù. ÇØ´ç LDIF Ãâ·ÂÀº Ç¥ÁØ Ãâ·Â ¶Ç´Â -l ¿É¼ÇÀ» »ç¿ëÇÏ¿© ÁöÁ¤µÈ ÆÄÀÏ¿¡ ÀÛ¼ºµÈ´Ù. <sect1>More on the LDIF format <p> LDAP Data Interchange Format (LDIF)Àº °£´ÜÇÑ ÅؽºÆ® Æ÷¸ËÀ¸·Î LDAP ¿£Æ®¸®¸¦ Ç¥ÇöÇϱâ À§ÇØ »ç¿ëµÈ´Ù. ¿£Æ®¸®ÀÇ ±âº» ÆûÀº: <tscreen><verb> #comment dn: <distinguished name> <attrdesc>; <attrvalue> <attrdesc>; <attrvalue> ... </verb></tscreen> `#' ¹®ÀÚ·Î ½ÃÀÛÇÏ´Â ¶óÀεéÀº ÁÖ¼®ÀÌ´Ù. ¼Ó¼º ¼³¸í(attrdesc)Àº cn ¶Ç´Â objectClasse ¶Ç´Â 1.2.3(¼Ó¼º ÇüÅÂ¿Í °ü·ÃµÈ OID)°ú °°Àº °£´ÜÇÑ ¼Ó¼ºÇüÅ À̰ųª cn:lang_en_US ¶Ç´Â userCertificate;binay¿Í °°Àº ¿É¼ÇÀ» Æ÷ÇÔÇÒ ¼ö ÀÖ´Ù. ¶óÀÎÀº single space ¶Ç´Â tab ¹®ÀÚ·Î ´ÙÀ½ ¶óÀÎÀ» ½ÃÀÛÇÔÀ¸·Î½á °è¼ÓµÉ ¼ö ÀÖ´Ù. ¿¹¸¦µé¾î: <tscreen><verb> dn: cn=Barbara J Jensen, dc=example, dc= com cn: Barbara Jensen </verb></tscreen> Àº <tscreen><verb> dn: cn=Barbara J Jensen, dc=example, dc=com cn: Barbara J Jensen </verb></tscreen> °ú µ¿ÀÏÇÏ´Ù. ´ÙÁß ¼Ó¼º °ªµéÀº º°°³ ¶óÀο¡¼­ ÁöÁ¤µÈ´Ù. ¿¹: <tscreen><verb> cn: Barbara J Jensen cn: Babs Jensen </verb></tscreen> <attrvalue>°¡ Ãâ·ÂµÇÁö ¾Ê´Â ¹®ÀÚµéÀ» Æ÷ÇÔÇϰųª ¶Ç´Â space, ÄÝ·Ð(':') ¶Ç´Â '<' À¸·Î ½ÃÀ۵ȴٸé, <attrdesc>´ÙÀ½¿¡ ÀÌÁß Äݷаú base64 ·Î ¾ÏȣȭµÈ °ªÀÌ ¿Â´Ù. ¿¹¸¦µé¾î "space·Î ½ÃÀÛ"µÇ´Â °ªÀº ´ÙÀ½°ú °°ÀÌ ¾ÏȣȭµÉ °ÍÀÌ´Ù: <tscreen><verb> cn:: IGJlZ2lucyB3aXRoIGEgc3BhY2U= </verb></tscreen> ¼Ó¼º°ªÀ» Æ÷ÇÔÇÏ´Â URLÀ» ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù. ¿¹¸¦µé¾î, ´ÙÀ½Àº jpegPhoto °ªÀÌ /path/to/file.jpg ÆÄÀϷκÎÅÍ ¾ò¾î¾ß ÇÔÀ» ÁöÁ¤ÇÑ´Ù. <tscreen><verb> cn:<file://path/to/file.jpeg </verb></tscreen> µ¿ÀÏÇÑ LDIF ÆÄÀϳ»ÀÇ ´ÙÁß ¿£Æ®¸®µéÀº blank ¶óÀÎÀ¸·Î ±¸º°µÈ´Ù. ¼¼ °³ÀÇ ¿£Æ®¸®¸¦ °®´Â LDIF ÆÄÀÏÀÇ ¿¹´Â ´ÙÀ½°ú °°´Ù: <tscreen><verb> # Barbara's Entry dn: cn=Barbara J Jensen, dc=example, dc=com cn: Barbara J Jensen cn: Babs Jensen objectClass: person sn: Jensen # Bjorn's Entry dn: cn=Bjorn J Jensen, dc=example, dc=com cn: Bjorn J Jensen cn: Bjorn Jensen objectClass: person sn: Jensen # Base64 encoded JPEG photo jpegPhoto:: /9j/4AAQSkZJRgABAAAAAQABAAD/2wBDABALD A4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQ ERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVG # Jennifer's Entry dn: cn=Jennifer J Jensen, dc=example, dc=com cn: Jennifer J Jensen cn: Jennifer Jensen objectClass: person sn: Jensen # JPEG photo from file jpegPhoto:<file://path/to/file.jpeg </verb></tscreen> Bjorn ¿£Æ®¸®ÀÇ jpegPhoto´Â base64·Î ¾ÏȣȭµÇ¾î ÀÖ°í Jennifer ¿£Æ®¸®ÀÇ jpegPhoto´Â URLÀÌ °¡¸®Å°´Â À§Ä¡·ÎºÎÅÍ ¾ò¾îÁüÀ» ÁÖ¸ñÇ϶ó. trailing space´Â LDIF ÆÄÀÏÀÇ °ªµé·ÎºÎÅÍ Á¤¸®µÇÁö ¾ÊÀ¸¸ç ¶ÇÇÑ ³»ºÎÀÇ ´ÙÁß space´Â ¾ÐÃàµÇÁöµµ ¾Ê´Â´Ù. µ¥ÀÌÅͳ»¿¡ trailing°ú ³»ºÎ space¸¦ ¿øÇÏÁö ¾Ê´Â´Ù¸é °Å±â¿¡ ±×µéÀ» ³ÖÁö ¸¶¶ó. <sect1>The ldapsearch, ldapdelete and ldapmodify utilities <label id="5.4Àý"> <p> ladpsearch - ldapsearch ´Â ldap_search(3) ¶óÀ̺귯¸® ÄÝ¿¡ ´ëÇØ ½©ÀÌ ¿¢¼¼½ºÇÒ ¼ö ÀÖ´Â ÀÎÅÍÆäÀ̽º·Î LDAP µ¥ÀÌÅͺ£À̽º ¹é¿£ÀÇ ¿£Æ®¸®¸¦ °Ë»öÇϱâ À§ÇØ »ç¿ëÇÑ´Ù. ldapsearch¸¦ È£ÃâÇϱâ À§ÇÑ °³¿ä´Â ´ÙÀ½°ú °°´Ù (°¢ ¿É¼ÇÀÇ Àǹ̸¦ ¾Ë±â À§ÇØ ldapsearch man ÆäÀÌÁö¸¦ ã¾Æº¸¶ó): <tscreen><verb> ldapsearch [-n] [-u] [-v] [-k] [-K] [-t] [-A] [-B] [-L] [-R] [-d debuglevel] [-F sep] [-f file] [-D binddn] [-W] [-w bindpasswd] [-h ldaphost] [-p ldapport] [-b searchbase] [-s base|one|sub] [-a never|always|search|find] [-l timelimit] [-z sizelimit] filter [attrs...] </verb></tscreen> ladpsearch´Â LDAP ¼­¹ö¿¡ ¿¬°á, ¹ÙÀεåÇØ ÇÊÅ͸¦ ÀÌ¿ëÇÏ¿© °Ë»öÀ» ¼öÇàÇÑ´Ù. ÇÊÅÍ´Â RFC 1558¿¡ Á¤ÀÇµÈ °Í°ú °°Àº LDAP ÇÊÅÍ¿¡ ´ëÇÑ ¹®ÀÚ¿­ Ç¥ÇöÀ» µû¶ó¾ß ÇÑ´Ù. ldapsearch°¡ Çϳª ¶Ç´Â ±× ÀÌ»óÀÇ ¿£Æ®¸®¸¦ ãÀ¸¸é attrs¿¡ ÀÇÇØ ÁöÁ¤µÈ ¼Ó¼ºµéÀÌ °Ë»öµÇ¾î ¿£Æ®¸®¿Í °ªÀÌ Ç¥ÁØ Ãâ·ÂÀ¸·Î Ãâ·ÂµÈ´Ù. attrs°¡ ¸í½ÃµÇÁö ¾ÊÀ¸¸é ¸ðµç ¼Ó¼ºµéÀ» µÇµ¹·ÁÁØ´Ù. ´ÙÀ½Àº ldapsearch »ç¿ë ¿¹ÀÌ´Ù: <tscreen><verb> ldapsearch -b 'o=TUDelft,c=NL' 'objectclass=*' ldapsearch -b 'o=TUDelft,c=NL' 'cn=Rene van Leuken' ldasearch -u -b 'o=TUDelft,c=NL' 'cn=Luiz Malere' sn mail </verb></tscreen> -b ¿É¼ÇÀº searchbase(initial search point, Ãʱ⠰˻ö ÁöÁ¡)À» -u ¿É¼ÇÀº »ç¿ëÀÚ¿¡ Æí¸®ÇÑ(userfriendly) Ãâ·Â Á¤º¸¸¦ ³ªÅ¸³½´Ù. ldapdelete - ldapdelete´Â ldap_delete(3) ¶óÀ̺귯¸® ÄÝ¿¡ ´ëÇØ ½©ÀÌ ¿¢¼¼½ºÇÒ ¼ö ÀÖ´Â ÀÎÅÍÆäÀ̽º·Î LDAP µ¥ÀÌÅͺ£À̽º ¹é¿£µåÀÇ ¿£Æ®¸®¸¦ »èÁ¦Çϱâ À§ÇØ »ç¿ëÇÑ´Ù. ldapdelete¸¦ È£ÃâÇϱâ À§ÇÑ °³¿ä´Â ´ÙÀ½°ú °°´Ù (°¢ ¿É¼ÇÀÇ Àǹ̸¦ ¾Ë±â À§ÇØ ldapdelete man ÆäÀÌÁö¸¦ ã¾Æº¸¶ó): <tscreen><verb> ldapdelete [-n] [-v] [-k] [-K] [-c] [-d debuglevel] [-f file] [-D binddn] [-W] [-w passwd] [-h ldaphost] [-p ldapport] [dn]... </verb></tscreen> ldapdelete´Â LDAP ¼­¹ö¿¡ ¿¬°á, Çϳª ¶Ç´Â ±× ÀÌ»óÀÇ ¿£Æ®¸®¸¦ ¹ÙÀεåÇØ »èÁ¦ÇÑ´Ù. Çϳª ¶Ç´Â ±× ÀÌ»óÀÇ dn Àμö°¡ Á¦°øµÇ¸é ÀÌ·¯ÇÑ DNÀ» °®´Â ¿£Æ®¸®´Â »èÁ¦µÈ´Ù. °¢ dnÀº RFC 1779¿¡ Á¤ÀÇµÈ °Í°ú °°Àº ¹®ÀÚ¿­·Î Ç¥ÇöµÈ DN À̾î¾ß ÇÑ´Ù. dn Àμö°¡ ¾ø´Ù¸é DNÀÇ ¸®½ºÆ®°¡ Ç¥ÁØ ÀÔ·Â(¶Ç´Â -f flag°¡ »ç¿ëµÈ´Ù¸é ÆÄÀÏ)À¸·ÎºÎÅÍ ÀÐÇôÁø´Ù. ´ÙÀ½Àº ldapdelete »ç¿ë ¿¹ÀÌ´Ù: <tscreen><verb> ldapdelete 'cn=Luiz Malere,o=TUDelft,c=NL' ldapdelete -v 'cn=Rene van Leuken,o=TUDelft,c=NL' -D 'cn=Luiz malere,o=TUDelft,c=NL' -W </verb></tscreen> -v ¿É¼ÇÀº verbose ¸ðµå, -D ¿É¼ÇÀº Binddn(ÀÎÁõµÇ¾î¾ß ÇÏ´Â dn), -W ¿É¼ÇÀº Æнº¿öµå ÇÁ·ÒÇÁÆ®¸¦ ³ªÅ¸³½´Ù. ldapmodify - ldapmodify ´Â ldap_modify(5)¿Í ldap_add ¶óÀ̺귯¸® ÄÝ¿¡ ´ëÇØ ½©ÀÌ ¿¢¼¼½ºÇÒ ¼ö ÀÖ´Â ÀÎÅÍÆäÀ̽º·Î LDAP µ¥ÀÌÅͺ£À̽º ¹é¿£µåÀÇ ¿£Æ®¸®¸¦ ¼öÁ¤Çϱâ À§ÇØ »ç¿ëÇÑ´Ù. ldapmodify¸¦ È£ÃâÇϱâ À§ÇÑ °³¿ä´Â ´ÙÀ½°ú °°´Ù(°¢ ¿É¼ÇÀÇ Àǹ̸¦ ¾Ë±â À§ÇØ ldapmodify man ÆäÀÌÁö¸¦ ã¾Æº¸¶ó) <tscreen><verb> ldapmodify [-a] [-b] [-c] [-r] [-n] [-v] [-k] [-d debuglevel] [-D binddn] [-W] [-w passwd] [-h ldaphost] [-p ldapport] [-f file] </verb></tscreen> <tscreen><verb> ldapadd [-b] [-c] [-r] [-n] [-v] [-k] [-K] [-d debuglevel] [-D binddn] [-w passwd] [-h ldaphost] [-p ldapport] [-f file] </verb></tscreen> ldapadd´Â ldapmodify µµ±¸¿¡ ´ëÇØ ÇÏµå ¸µÅ©µÇ¾î ¼öÇàµÇ´Âµ¥ ldapadd°¡ ½ÇÇàµÉ ¶§ ldapmodifyÀÇ -a (»õ·Î¿î ¿£Æ®¸®¸¦ Ãß°¡) flag °¡ ÀÚµ¿ÀûÀ¸·Î ¼³Á¤µÈ´Ù. ldapmodify´Â LDAP ¼­¹ö¿¡ ¿¬°á, ¹ÙÀεåÇØ ¿£Æ®¸®¸¦ ¼öÁ¤ ¶Ç´Â Ãß°¡ÇÑ´Ù. ¿£Æ®¸® Á¤º¸´Â Ç¥ÁØ ÀÔ·Â ¶Ç´Â -f ¿É¼ÇÀ» »ç¿ë½Ã ÆÄÀϷκÎÅÍ ÀÐÇôÁø´Ù. ´ÙÀ½Àº ldapmodifyÀÇ »ç¿ë ¿¹ÀÌ´Ù: /tmp/entrymods °¡ Á¸ÀçÇÏ°í ´ÙÀ½ ³»¿ëÀ» °®°í ÀÖ´Ù°í °¡Á¤ÇÑ´Ù: <tscreen><verb> dn: cn=Modify Me, o=University of Michigan, c=US changetype: modify replace: mail mail: modme@terminator.rs.itd.umich.edu - add: title title: Grand Poobah - add: jpegPhoto jpegPhoto: /tmp/modme.jpeg - delete: description - </verb></tscreen> ¸í·É: <tscreen><verb> ldapmodify -b -r -f /tmp/entrymods </verb></tscreen> ÀÌ´Â "Modify Me" ¿£Æ®¸®ÀÇ ¸ÞÀÏ ¼Ó¼º ³»¿ëÀ» "modme@terminator.rs.itd.umich.edu"·Î ´ëüÇÏ°í, "Grand Poobah"À» ŸÀÌƲ¿¡ /tmp/modme.jpeg ÆÄÀÏÀÇ ³»¿ëÀ» jpegPhoto·Î Ãß°¡Çϸç, description ¼Ó¼ºÀ» ¿ÏÀüÈ÷ »èÁ¦ÇÑ´Ù. À§¿Í µ¿ÀÏÇÑ ¼öÁ¤Àº ÀÌÀü ldapmodify ÀÔ·Â Æ÷¸ËÀ» ÀÌ¿ëÇÏ¿© ¼öÇàÇÒ ¼ö ÀÖ´Ù: <tscreen><verb> cn=Modify Me, o=University of Michigan, c=US mail=modme@terminator.rs.itd.umich.edu +title=Grand Poobah +jpegPhoto=/tmp/modme.jpeg -description </verb></tscreen> ´ÙÀ½ ¸í·ÉÀ» ½ÇÇà½ÃŲ´Ù: ldapmodify -b -r -f /tmp/entrymods /tmp/newentry ÆÄÀÏÀÌ Á¸ÀçÇÏ°í ´ÙÀ½ ³»¿ëÀ» °®´Â´Ù°í °¡Á¤ÇÑ´Ù: <tscreen><verb> dn: cn=Barbara Jensen, o=University of Michigan, c=US objectClass: person cn: Barbara Jensen cn: Babs Jensen sn: Jensen title: the world's most famous manager mail: bjensen@terminator.rs.itd.umich.edu uid: bjensen </verb></tscreen> ´ÙÀ½ ¸í·ÉÀ» ½ÇÇà½ÃŲ´Ù: <tscreen><verb> ldapadd -f /tmp/entrymods </verb></tscreen> /tmp/newentry ÆÄÀÏÀÌ Á¸ÀçÇÏ°í ´ÙÀ½ ³»¿ëÀ» °®´Â´Ù°í °¡Á¤ÇÑ´Ù: <tscreen><verb> dn: cn=Barbara Jensen, o=University of Michigan, c=US changetype: delete </verb></tscreen> ´ÙÀ½ ¸í·ÉÀº Babs JensenÀÇ ¿£Æ®¸®¸¦ »èÁ¦ÇÑ´Ù: <tscreen><verb> ldapmodify -f /tmp/entrymods </verb></tscreen> -f ¿É¼ÇÀº ÆÄÀÏ(Ç¥ÁØ ÀԷ´ë½Å ÆÄÀϷκÎÅÍ ¼öÁ¤ Á¤º¸¸¦ ÀдÂ), -b ¿É¼ÇÀº ¹ÙÀ̳ʸ®(ÀÔ·Â ÆÄÀÏÀÇ '/'·Î ½ÃÀ۵Ǵ ¸ðµç °ªµéÀº ¹ÙÀ̳ʸ®·Î Çؼ®µÈ´Ù), -r ¿É¼ÇÀº ´ëü(µðÆúÆ®·Î ±âÁ¸ °ªÀ» ´ëüÇÑ´Ù)¸¦ ³ªÅ¸³½´Ù. <sect>ºÎ°¡Àû Á¤º¸¿Í Ư¡ <p> ÀÌ ÀýÀº µð·ºÅ丮¸¦ ÁúÀÇÇϴµ¥ »ç¿ëÇÒ ¼ö ÀÖ´Â LDAP Ŭ¶óÀ̾ðÆ®ÀÎ Netscape Address Book¿¡ °üÇÑ Á¤º¸¸¦ ´Ù·é´Ù. ¶ÇÇÑ ³Ý½ºÄÉÀÌÇÁ ³×ºñ°ÔÀÌÅÍ ¹öÀü 4.5 ¶Ç´Â ±× ÀÌ»ó°ú LDAP ¼­¹ö¸¦ ÀÌ¿ëÇÏ¿© ·Î¿ì¹Ö ¿¢¼¼½º(roaming access)¸¦ ¼öÇàÇÏ´Â ¹æ¹ý¿¡ ´ëÇÑ ¼¼ºÎ»çÇ×µµ ¼³¸íÇÑ´Ù. ·Î¿ì¹Ö ¿¢¼¼½º´Â ´Ù ¼öÇàµÇÁö´Â ¾Ê±â ¶§¹®¿¡ OpenLDAP ¸ÞÀϸµ ¸®½ºÆ®¿¡ ¸Å¿ì ¸¹ÀÌ ³íÀǵǰí Àִµ¥ ´ëºÎºÐÀÇ »ç¿ëÀÚµéÀº LDAP ¼­¹ö¿¡ ´Ù¿î·Îµå ¹× ¾÷·Îµå¸¦ ÇÏ´Â ¹Ý¸é ³Ý½ºÄÉÀÌÇÁ ³×ºñ°ÔÀÌÅÍ°¡ LDAP ¼­¹ö¿Í ÇÔ²² ÀÛµ¿µÇ´Â ¹æ½ÄÀ» ÁÁ¾ÆÇÏÁö ¾Ê´Â´Ù. µû¶ó¼­ ÀýÀ» ÀÐÀº ÈÄ ·Î¿ì¹Ö ¿¢¼¼½º°¡ ¿øÇÏ´Â ¹æ½Ä´ë·Î ÀÛµ¿ÇÏÁö ¾Ê´Â´Ù ÇÏ´õ¶óµµ ±¥³äÄ¡ ¸»±â¸¦ ¹Ù¶õ´Ù. ¸¹Àº»ç¶÷µéÀÌ ÀÌ·¯ÇÑ °úÁ¤À» ÀÌ¹Ì °ÅÃÄ ¿Ô´Ù. ÀÌ ÀýÀº »ç¶÷µé¿¡°Ô LDAP ÇÁ·ÎÅäÄÝÀÇ °¡´É¼º¿¡ ´ëÇÑ ¾ÆÀ̵ð¾î¸¦ Á¦°øÇϱâ À§ÇØ ÀÌ·± Ư¡À» ¼Ò°³ÇÑ´Ù. slapd ÇÁ·Î¼¼½º¸¦ ¾ÈÀüÇÏ°Ô Á¾·áÇÏ´Â °Í°ú slapd ·Î±×¿¡ ´ëÇÑ ´Ù¼ÒÀÇ Á¤º¸°¡ Á¦°øµÈ´Ù. <sect1>·Î¿ì¹Ö ¿¢¼¼½º(Roaming Access) <p> ·Î¿ì¹Ö ¿¢¼¼½º¸¦ »ç¿ëÇÏ¸é ³Ý»óÀÇ ¾îµð¿¡ ÀÖ´øÁö ³Ý½ºÄÉÀÌÇÁ ³×ºñ°ÔÀÌÅÍ¿Í LDAP¼­¹ö¸¦ ÀÌ¿ëÇÏ¿© ºÏ¸¶Å©, preference, ¸ÞÀÏ ÇÊÅÍ µîÀ» °¡Á®¿Ã ¼ö Àִµ¥ ÀÌ´Â ¸Å¿ì ¸ÚÁø Ư¡ÀÌ´Ù. ¾îµð¼­ À¥¿¡ ¿¢¼¼½ºÇÏ´øÁö ºê¶ó¿ìÀú¿¡ ´ëÇÑ °íÀ¯ÀÇ ¼³Á¤À» °¡Áú ¼ö ÀÖ´Ù°í »ó»óÇغ¸¶ó. ¿©ÇàÁß¿¡ ·ÎÄà ºÏ¸¶Å©¿¡ ÀúÀåµÈ ÅëÈ­ »çÀÌÆ®¿¡ ¿¢¼¼½ºÇÒ ÇÊ¿ä°¡ ÀÖ´Ù¸é °ÆÁ¤ÇÏÁö ¸¶¶ó. ºÏ¸¶Å©¿Í ´Ù¸¥¼³Á¤ ÆÄÀϵéÀ» LDAP ¼­¹ö¿¡ ¾÷·ÎµåÇؼ­ ÃßÈÄ ¾î´À Àå¼Ò¿¡ ÀÖ´øÁö ±×µéÀ» ´Ù °¡Á®¿Ã ¼ö ÀÖ´Ù. ·Î¿ì¹Ö ¿¢¼¼½º¸¦ ¼öÇàÇϱâÀ§ÇØ ´ÙÀ½ ´Ü°è¸¦ µû¶ó¾ß ÇÑ´Ù: <itemize> <item> slapd.conf ¼³Á¤ÆÄÀÏ¿¡ »õ·Î¿î ½ºÅ°¸¶(schema) ÆÄÀÏÀ» Æ÷ÇÔÇÑ´Ù <item> slapd.conf ¼³Á¤ÆÄÀÏÀÇ µ¥ÀÌŸº£À̽º ºÎºÐ¿¡ º¯°æ Çʵ带 ¼³Á¤ÇÑ´Ù <item> ·Î¿ì¹Ö ¿¢¼¼½ºÀÇ »ç¿ëÀ» ¿øÇÏ´Â »ç¿ëÀڵ鿡 ´ëÇÑ ÇÁ·ÎÆÄÀÏ ¿£Æ®¸®¸¦ ÷°¡ÇÔÀ¸·Î½á Ldif ÆÄÀÏÀ» º¯°æÇÑ´Ù <item> LDAP ¼­¹ö¸¦ ·Î¿ì¹Ö ¿¢¼¼½º ¼­¹ö·Î »ç¿ëÇϱâ À§ÇØ ³Ý½ºÄÉÀÌÇÁ ³×ºñ°ÔÀÌÅ͸¦ ¼³Á¤ÇÑ´Ù <item> »õ·Î¿î ¼³Á¤ »çÇ×À¸·Î LDAP ¼­¹ö¸¦ Àç½ÃÀÛÇÑ´Ù </itemize> - »õ·Î¿î ½ºÅ°¸¶ ÆÄÀÏ Æ÷ÇÔÇϱâ: ¹ØÀÇ ºÎºÐÀ» º¹»ç ¹× ºÙ¿©³Ö±â ÇÑÈÄ .schema È®ÀåÀÚ¸¦ °®´Â ÅؽºÆ® ÆÄÀÏ·Î ÀúÀåÇÑ´Ù. ´ë°³ ÀÌ ÆÄÀÏÀº /usr/local/etc/openldap/schema µð·ºÅ丮³»¿¡ ÀúÀåµÉ °ÍÀÌ´Ù. ¿øÇÑ´Ù¸é ÆÄÀÏÀ» <url url="http://home.kabelfoon.nl/~hvdkooij/mull.schema">·ÎºÎÅÍ ´Ù¿î¹ÞÀ» ¼ö ÀÖ´Ù. slapd.conf ÆÄÀÏ¿¡ ´ÙÀ½°ú °°ÀÌ core.schema Á¤ÀÇ ÆÄÀÏÀ» Æ÷ÇÔÇØ¾ß ÇÔÀ» ¸í½ÉÇ϶ó: <tscreen><verb> include /usr/local/etc/schema/core.schema </verb></tscreen> <tscreen><verb> # ÀÌ ½ºÅ°¸¶´Â core ½ºÅ°¸¶°¡ ÀûÀçµÇ´Â °ÍÀ» ÀüÁ¦·Î ÇÑ´Ù # ³Ý½ºÄÉÀÌÇÁ ·Î¿ì¹Ö ÇÁ·ÎÆÄÀÏ Á¤º¸¸¦ OpenLDAP v2 ³»·Î ÀúÀåÇϴµ¥ »ç¿ë # ÀÌ´Â ½ÇÁ¦ ÇÁ·ÎÆÄÀÏ À̸§À» µ¥ÀÌŸº£À̽º³»·Î ÀúÀåÇÑ´Ù. attributeType ( 1.3.6.1.4.1.7081.1.1.1 NAME 'nsLIProfileName' DESC 'Store Netscape Roaming Profile name' EQUALITY caseIgnoreMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 ) # ³Ý½ºÄÉÀÌÇÁ ·Î¿ì¹Ö ÇÁ·ÎÆÄÀÏ Á¤º¸¸¦ OpenLDAP v2 ³»·Î ÀúÀåÇϴµ¥ »ç¿ë attributeType ( 1.3.6.1.4.1.7081.1.1.2 NAME 'nsLIPrefs' DESC 'Store Netscape Roaming Profile preferences' EQUALITY caseExactIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 ) # ³Ý½ºÄÉÀÌÇÁ ·Î¿ì¹Ö ÇÁ·ÎÆÄÀÏ Á¤º¸¸¦ OpenLDAP v2 ³»·Î ÀúÀåÇϴµ¥ »ç¿ë attributeType ( 1.3.6.1.4.1.7081.1.1.3 NAME 'nsLIElementType' DESC '' EQUALITY caseIgnoreMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 ) # ³Ý½ºÄÉÀÌÇÁ ·Î¿ì¹Ö ÇÁ·ÎÆÄÀÏ Á¤º¸¸¦ OpenLDAP v2 ³»·Î ÀúÀåÇϴµ¥ »ç¿ë attributeType ( 1.3.6.1.4.1.7081.1.1.4 NAME 'nsLIData' DESC 'Store the actual data blocks' EQUALITY bitStringMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 ) # ³Ý½ºÄÉÀÌÇÁ ·Î¿ì¹Ö ÇÁ·ÎÆÄÀÏ Á¤º¸¸¦ OpenLDAP v2 ³»·Î ÀúÀåÇϴµ¥ »ç¿ë attributeType ( 1.3.6.1.4.1.7081.1.1.5 NAME 'nsLIVersion' DESC 'Store Netscape Roaming Profile version' EQUALITY integerMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 ) # ³Ý½ºÄÉÀÌÇÁ ·Î¿ì¹Ö ÇÁ·ÎÆÄÀÏ Á¤º¸¸¦ OpenLDAP v2 ³»·Î ÀúÀåÇϴµ¥ »ç¿ë # ÀÌ´Â ·Î¿ì¹Ö ÇÁ·ÎÆÄÀÏÀÇ ±âº» »ç¿ëÀÚ·Î LDAP µ¥ÀÌŸº£À̽º³»¿¡ Á¤º¸¸¦ # ÀúÀåÇϱâÀü¿¡ »ý¼ºµÇ¾î¾ß ÇÑ´Ù. objectClass ( 1.3.6.1.4.1.7081.1.2.1 NAME 'nsLIProfile' DESC 'Base holder of the NetScape Roaming Profile' SUP top MUST ( objectClass $ nsLIProfileName ) MAY ( nsLIPrefs $ uid $ owner ) ) # ³Ý½ºÄÉÀÌÇÁ ·Î¿ì¹Ö ÇÁ·ÎÆÄÀÏ Á¤º¸¸¦ OpenLDAP v2 ³»·Î ÀúÀåÇϴµ¥ »ç¿ë # ÀÌ °´Ã¼ Ŭ·¡½º´Â ½ÇÁ¦ µ¥ÀÌŸ¸¦ ÀúÀåÇÒ °ÍÀÌ´Ù. objectClass ( 1.3.6.1.4.1.7081.1.2.2 NAME 'nsLIProfileElement' DESC 'Contains the actual Roaming Profile data' SUP top MUST ( objectClass $ nsLIElementType ) MAY ( owner $ nsLIData $ nsLIVersion ) ) # EOF </verb></tscreen> - º¯°æ ÇÊµå ¼³Á¤Çϱâ: ³Ý½ºÄÉÀÌÇÁ°¡ ÇÁ·ÎÆÄÀÏ µ¥ÀÌŸÀÇ Áö¿ªÀû º¹»çº»À» LDAP ¼­¹ö¿Í ºñ±³ÇÒ ¼ö ÀÖÀ½À» È®ÀÎÇϱâ À§ÇØ µ¥ÀÌŸº£À̽º³»ÀÇ º¯°æ ½Ã°£À» ¼³Á¤ÇÒ ÇÊ¿ä°¡ ÀÖ´Ù. slapd.conf ÆÄÀÏÀÇ µ¥ÀÌŸº£À̽º ºÎºÐ¿¡ ´ÙÀ½°ú °°Àº °£´ÜÇÑ ¶óÀÎÀ» ÷°¡ÇÏ´Â °ÍÀ¸·Î ÃæºÐÇÏ´Ù: <tscreen><verb> lastmod on </verb></tscreen> - Ldif ÆÄÀÏ º¯°æÇϱâ: ³Ý½ºÄÉÀÌÇÁÀÇ ·Î¿ì¹Ö ¿¢¼¼½º Ư¡À» ÀÌ¿ëÇÏ·Á°í ÇÏ´Â °¢ »ç¿ëÀÚµéÀº Ldif ÆÄÀÏ¿¡ ÇÁ·ÎÆÄÀÏ ¿£Æ®¸®¸¦ ÇÊ¿ä·Î ÇÑ´Ù. ÇÁ·ÎÆÄÀÏ ¿£Æ®¸®¸¦ °®´Â °£´ÜÇÑ Ldif ÆÄÀÏÀÇ ¿¹¸¦ º¸¶ó: <tscreen><verb> dn: o=myOrg,c=NL o: myOrg objectclass: organization dn: cn=seallers,ou=People,o=myOrg,c=NL cn: seallers userpassword: myPassword objectclass: top objectclass: person dn: nsLIProfileName=seallers,ou=Roaming,o=myOrg,c=NL nsLIProfileName: seallers owner: cn=seallers,ou=People,o=myOrg,c=NL objectclass: top objectclass: nsLIProfile </verb></tscreen> ÀÌ ¿£Æ®¸®µéÀº <ref id="5.4Àý" name="ldapadd"> ÇÁ·Î±×·¥À» ÀÌ¿ëÇÏ¿© Ãß°¡ÇÒ ¼ö ÀÖ´Ù. ¾Æ¸¶µµ ´ÜÁö ·Î¿ì¹Ö ÇÁ·ÎÆÄÀÏ (dn: nsLIProfileName=...)°ú ÀÏÄ¡ÇÏ´Â ¿£Æ®¸®¸¸ Ãß°¡ÇÒ ÇÊ¿ä°¡ ÀÖÀ» °ÍÀÌ´Ù. - ³Ý½ºÄÉÀÌÇÁ ³×ºñ°ÔÀÌÅÍ ¼³Á¤Çϱâ: ´ÙÀ½ ´Ü°è´Â LDAP ¼­¹ö¿¡ ´ëÇÑ ·Î¿ì¹Ö ¿¢¼¼½º°¡ ÀÛµ¿µÇµµ·Ï ³Ý½ºÄÉÀÌÇÁ¸¦ ¼³Á¤ÇÏ´Â °ÍÀÌ´Ù. ´ÙÀ½ ¼ø¼­¸¦ µû¸£¶ó: Go to Menu Edit -> Preferences -> Roaming User ÀÌ ¿É¼Ç¿¡ ÇØ´çÇϴ üũ¹Ú½º¸¦ Ŭ¸¯ÇÔÀ¸·Î½á ÀÌ ÇÁ·ÎÆÄÀÏ¿¡ ´ëÇØ Ã³À½À¸·Î ·Î¿ì¹Ö ¿¢¼¼½º¸¦ ÀÛµ¿½ÃÄѾßÇÑ´Ù. ÀûÀýÇÑ °ªÀ» username ¹Ú½º¿¡ ¾²´Âµ¥ ÀÌ´Â LDIF ÆÄÀÏÀÇ »ç¿ëÀÚ ÇÁ·ÎÆÄÀÏ ¿£Æ®¸®ÀÇ nsLIProfileName= ºÎºÐ°ú ÀÏÄ¡ÇØ¾ß ÇÑ´Ù. ¿¹: sealers ·Î¿ì¹Ö ¿¢¼¼½ºÀÇ ÇÏÀ§ ¿É¼ÇÀ» º¸±â À§ÇØ Preferences Window ¿ÞÆí¿¡ ÀÖ´Â ·Î¿ì¹Ö »ç¿ëÀÚ ¿É¼Ç È­»ìÇ¥¸¦ Ŭ¸¯ÇÑ´Ù. ¼­¹ö Á¤º¸¸¦ Ŭ¸¯ÇÏ°í LDAP ¼­¹ö ¿É¼ÇÀ» È°¼ºÈ­½ÃÅ°¸ç ´ÙÀ½ Á¤º¸¸¦ ¹Ú½º¿¡ ¾´´Ù. Address: ldap://myHost/nsLIProfileName=$USERID,ou=Roaming,o=myOrg,c=NL User DN: cn=$USERID,ou=People,o=myOrg,c=NL IMPORTANT: ³Ý½ºÄÉÀÌÇÁ´Â ºê¶ó¿ìÀú¸¦ ½ÇÇà½ÃÅ°±â Àü¿¡ ÀÚµ¿ÀûÀ¸·Î $USERID¸¦ ¼±ÅÃÇÑ ÇÁ·ÎÆÄÀÏ À̸§À¸·Î ´ëüÇÑ´Ù. ±×·¡¼­ ÇÁ·ÎÆÄÀÏ seallerÀ» ¼±ÅÃÇϸé $USERID¸¦ sealler·Î ´ëüÇÏ°í ÇÁ·ÎÆÄÀÏ gonzales¸¦ ¼±ÅÃÇϸé $USERID¸¦ gonzales·Î ´ëüÇÑ´Ù. ÇÁ·ÎÆÄÀÏ¿¡ Àͼ÷Ä¡ ¾Ê´Ù¸é ³Ý½ºÄÉÀÌÇÁ Ä¿¹Â´ÏÄÉÀÌÅÍ ÆÐÅ°Áö¿¡ ÀÖ´Â ÇÁ·ÎÆÄÀÏ ¸Å´ÏÀú ¾îÇø®ÄÉÀ̼ÇÀ» ½ÇÇà½ÃÄѶó. ÀÌ´Â µ¿ÀÏ ¸Ó½Å¿¡¼­ ¿©·¯»ç¶÷ÀÌ ºê¶ó¿ìÀú¸¦ »ç¿ëÇÒ ¼ö ÀÖµµ·Ï ¼³°èµÈ ¾îÇø®ÄÉÀ̼ÇÀ¸·Î ºê¶ó¿ìÀú¿¡ ´ëÇØ °¢ÀÚ ÀÚ½ÅÀÇ °íÀ¯ÇÑ ¼³Á¤À» °¡Áú ¼ö ÀÖ´Ù. ¸¶Áö¸·Àº ¼­¹ö¸¦ Àç½ÃÀÛÇÏ´Â °ÍÀÌ´Ù. À̸¦ ¾ÈÀüÇÏ°Ô ÇÏ´Â ¹æ¹ý°ú ´Ù½Ã ½ÃÀÛÇÏ´Â ¹æ¹ýÀº °¢°¢ <ref id="4.2Àý" name="4.2Àý">°ú <ref id="4Àý" name="4Àý">À» º¸±æ ¹Ù¶õ´Ù. <sect1>³Ý½ºÄÉÀÌÇÁ ÁÖ¼Ò·Ï <p> LDAP ¼­¹ö¸¦ ±¸µ¿ÇÏ°í ÀÖ´Ù¸é ¿©·¯°¡Áö ¸¹Àº Ŭ¶óÀ̾ðÆ®(¿¹¸¦µé¾î ldapsearch command line utiltity)¸¦ ÀÌ¿ëÇÏ¿© ¼­¹ö¿¡ ¿¢¼¼½ºÇÒ ¼ö Àִµ¥ ¸Å¿ì Èï¹Ì·Î¿î °ÍÀÌ ³Ý½ºÄÉÀÌÇÁ ÁÖ¼Ò·ÏÀÌ´Ù. ÀÌ´Â ³Ý½ºÄÉÀÌÇÁ 4.x ¹öÀüºÎÅÍ ÀÌ¿ëÇÒ ¼ö ÀÖÁö¸¸ LDAP ¼­¹ö¿ÍÀÇ ¾ÈÁ¤µÈ »óÈ£¿î¿µÀ» À§Çؼ­´Â 4.5 ¶Ç´Â ±× ÀÌ»óÀÇ ¹öÀüÀ» »ç¿ëÇØ¾ß ÇÑ´Ù. ´ÙÀ½ ¼ø¼­¸¦ µû¸£¶ó: Open Netscape Navigator -> Go to Communicator Menu -> Address Book ³Ý½ºÄÉÀÌÇÁ ÁÖ¼Ò·ÏÀº ¾î¶² default LDAP µð·ºÅ丮¿Í ÇÔ²² ½ÃÀÛµÉ ¼ö Àִµ¥ °¢ÀÚÀÇ LDAP µð·ºÅ丮¸¦ Ãß°¡ÇØ¾ß ÇÑ´Ù. Go to File Menu -> New Directory ¼­¹ö Á¤º¸¸¦ ¹Ú½º¿¡ ¾´´Ù. ¿¹¸¦µé¸é: - Description: TUDelft - LDAP Server: dutedin.et.tudelft.nl - Server Root: o=TUDelft, c=NL Default LDAP Æ÷Æ®´Â 389Àε¥ ¼­¹ö¸¦ ±¸ÃàÇÒ¶§ ÀÌ ¿É¼ÇÀ» º¯°æÇÏÁö ¾Ê¾Ò´Ù¸é À̸¦ º¯°æÇÏÁö¸»±â ¹Ù¶õ´Ù. box Show Names Containing¸¦ ÀÌ¿ëÇØ °£·«ÇÑ ÁúÀÇ ¶Ç´Â Search for buttonÀ» ÀÌ¿ëÇØ Áøº¸µÈ ÁúÀǸ¦ ÇغÁ¶ó. <sect1>LDAP Migration Tools <p> LDAP À̵¿ µµ±¸´Â ¼³Á¤ ÆÄÀÏÀ» LDIF Æ÷¸ËÀ¸·Î º¯È¯Çϴµ¥ »ç¿ëµÇ´Â ÆÞ ½ºÅ©¸³Æ® ¸ðÀ½Àε¥ PADL ¼ÒÇÁÆ®¿þ¾î ȸ»ç¿¡¼­ Á¦°øµÈ´Ù. ÀúÀÚ´Â À̸¦ »ç¿ëÇϱâÀü¿¡, ÀÚÀ¯·ÎÀÌ »ç¿ëÇÒ ¼ö ÀÖÀ½¿¡µµ, ¶óÀ̼¾½º¸¦ ÀÐ¾î º¸±æ ±ÇÇÑ´Ù. »ç¿ëÀÚ¸¦ ÀÎÁõÇϱâ À§ÇØ LDAP ¼­¹ö¸¦ ÀÌ¿ëÇÒ °èȹÀ̶ó¸é ÀÌ µµ±¸´Â¸Å¿ì À¯¿ëÇÒ °ÍÀÌ´Ù. NIS ¶Ç´Â password ¾ÆÄ«À̺êµéÀ» LDAP ¼­¹ö¿Í ȣȯµÇ°Ô ÇÏ´Â LDIF Æ÷¸ËÀ¸·Î º¯È¯Çϱâ À§ÇØ À̵¿ µµ±¸¸¦ »ç¿ëÇ϶ó. ¶ÇÇÑ »ç¿ëÀÚ, ±×·ì, ¾Ù¸®¾î½º(aliases), È£½ºÆ®, ³Ý±×·ì, ÇÁ·ÎÅäÄÝ, RPCs¿Í ¼­ºñ½º¸¦ ±âÁ¸ ³×ÀÓ ¼­ºñ½º(NIS, flat ÆÄÀÏ°ú NetInfo)·ÎºÎÅÍ LDIF Æ÷¸ËÀ¸·Î À̵¿Çϱâ À§ÇØ ½ºÅ©¸³Æ®¸¦ Àû¿ëÇ϶ó. LDAP À̵¿ µµ±¸ÀÇ ´Ù¿î·Îµå¿Í ´õ¿í ¸¹Àº Á¤º¸¸¦ ¾ò±â À§Çؼ­ ´ÙÀ½ ÁÖ¼Ò·Î °¡¶ó: <quote><url url="http://www.padl.com/tools.html"></quote> ÆÐÅ°Áö¿¡ README ÆÄÀÏÀÌÀִµ¥ ½ºÅ©¸³Æ® ÆÄÀÏ À̸§Àº Á÷°üÀûÀε¥ ¿ì¼± README ÆÄÀÏÀ» ÀÐ°í ³­ÈÄ ½ºÅ©¸³Æ®¸¦ ½ÇÇàÇÏ±æ ¹Ù¶õ´Ù. <sect1>LDAP¸¦ »ç¿ëÇÑ ÀÎÁõ <p> LDAP ¼­ºñ½º¸¦ »ç¿ëÇϱâ À§ÇØ LDAP Ŭ¶óÀ̾ðÆ®´Â ¼­ºñ½º¿¡ ´ëÇØ ÀÎÁõÀ» ¹Þ¾Æ¾ßÇÑ´Ù. Áï, Ŭ¶óÀ̾ðÆ®°¡ º¸±â ¹× ÀÛ¾÷ÀÌ Çã¿ëµÈ °ÍÀÌ ¹«¾ùÀÎÁö¸¦ ¼­¹ö°¡ °áÁ¤ÇÒ ¼ö ÀÖµµ·Ï Ŭ¶óÀ̾ðÆ®´Â ¼­¹ö¿¡°Ô µ¥ÀÌŸ¸¦ ¿¢¼¼½ºÇÏ·Á°í ÇÑ´Ù¶ó°í ¸»À» ÇؾßÇÑ´Ù. Ŭ¶óÀ̾ðÆ®°¡ LDAP ¼­¹ö¿¡ ´ëÇØ ¼º°øÀûÀ¸·Î ÀÎÁõ¹Þ´Â´Ù¸é ¼­¹ö°¡ ÈÄ¿¡ Ŭ¶óÀ̾îÆ®·ÎºÎÅÍ ¿äûÀ» ¹ÞÀ»¶§ Ŭ¶óÀ̾ðÆ®°¡ ¿äûÀ» ¼öÇàÇϵµ·Ï Çã¿ëµÇ¾ú´ÂÁö ¿©ºÎ¸¦ °Ë»çÇÒ °ÍÀÌ´Ù. ÀÌ ÇÁ·Î¼¼½º¸¦ ¿¢¼¼½º Á¦¾î¶ó ÇÑ´Ù. LDAP¿¡¼­ ÀÎÁõÀº "bind" ¿¬»ê¿¡¼­ Áö¿øµÇ´Âµ¥ Ldapv3´Â anonymous, simple ¹× SASLÀÇ ¼¼°¡Áö À¯ÇüÀÇ ÀÎÁõÀ» Áö¿øÇÑ´Ù."bind" ¿¬»ê¾øÀÌ LDAP ¿äûÀ» º¸³»´Â Ŭ¶óÀ̾ðÆ®´Â anonymous Ŭ¶óÀ̾ðÆ®·Î 󸮵ȴÙ. Simple ÀÎÁõÀº LDAP ¼­¹ö¿¡ Ŭ¶óÀ̾ðÆ®(»ç¿ëÀÚ)ÀÇ FQDN(Fully Qualified Domain Name)°ú ¾ÏȣȭµÇÁö ¾ÊÀº Æнº¿öµå¸¦ º¸³»´Â °ÍÀ¸·Î ÀÌ·ç¾îÁø´Ù. ÀÌ ±â±¸´Â Æнº¿öµå¸¦ ³×Æ®¿öÅ©»ó¿¡¼­ ÀÐÀ» ¼ö Àֱ⠶§¹®¿¡ º¸¾È ¹®Á¦¸¦ °®°í ÀÖ´Ù. ÀÌ·¯ÇÑ Æнº¿öµå ³ëÃâÀ» ÇÇÇϱâ À§ÇØ LDAP ¼­¹ö¿¡ ÀÇÇØ Áö¿øµÈ´Ù¸é SSL°ú °°Àº ¾ÏȣȭµÈ ä³Î³»¿¡¼­ simple ÀÎÁõ ±â±¸¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù. ¸¶Áö¸·À¸·Î SASLÀº Simple Authentication and Security Layer (RFC 2222)·Î ÀÎÁõ ¹× ±× ´ÙÀ½ÀÇ Åë½ÅÀÌ ¼öÇàµÇ´Â º¸¾È °èÃþÀÇ È®¸³À» À§ÇØ µ¥ÀÌŸ°¡ Ŭ¶óÀ̾ðÆ®¿Í ¼­¹ö°£¿¡ ±³È¯ÀÌ ÀÌ·ç¾îÁö´Â ¿ä±¸-ÀÀ´ä (challenge-response) ÇÁ·ÎÅäÄÝÀ» ÁöÁ¤ÇÑ´Ù. SASLÀ» »ç¿ëÇÔÀ¸·Î½á LDAP´Â LDAP Ŭ¶óÀ̾ðÆ®¿Í ¼­¹ö¿¡ ÀÇÇØ ÇÕÀÇµÈ ¸ðµç À¯ÇüÀÇ ÀÎÁõÀ» Áö¿øÇÒ ¼ö ÀÖ´Ù. SASL »ç¿ëÀº Cyrus SASL ¶óÀ̺귯¸®ÀÇ ¼³Ä¡°¡ Áß¿äÇϱ⠶§¹®¿¡ ÀÌ ÇÏ¿ìÅõ ¹®¼­ÀÇ ´ÙÀ½ ¹öÀü¿¡ ¼³¸íµÉ °ÍÀÌ´Ù. ´õ±¸³ª µð·ºÅ丮 Æ®¸®ÀÇ Á¤º¸¸¦ ¿¢¼¼½ºÇÏ´Â »ç¿ëÀÚ¸¦ ÀÎÁõÇÔ°ú µ¿½Ã¿¡ LDAP ¼­¹ö´Â ´Ù¸¥ ¼­ºñ½º (Sendmail, Login, Ftp, µîµî)¿¡ ´ëÇØ »ç¿ëÀÚ¸¦ ÀÎÁõÇÒ ¼ö ÀÖ´Ù. À̴ ƯÁ¤ »ç¿ëÀÚ Á¤º¸¸¦ LDAP ¼­¹ö·Î ¿Å°Ü PAM (Pluggable Authentication Module) ±â±¸¸¦ »ç¿ëÇÏ¿© ¼öÇàµÈ´Ù. À¯´Ð½º ÃÊâ±â ÀÌÈÄ·Î »ç¿ëÀÚ ÀÎÁõÀº »ç¿ëÀÚ°¡ Æнº¿öµå¸¦ ÀÔ·ÂÇÏ°í ÀÔ·ÂµÈ Æнº¿öµå¸¦ ½Ã½ºÅÛÀÌ /etc/passwd ÆÄÀÏ¿¡ ÀúÀåµÇ¾î ÀÖ´Â ¾ÏȣȭµÈ °ø½Ä Æнº¿öµå¿¡ ÇØ´çÇÏ´ÂÁö °Ë»çÇÏ´Â ¹æ¹ýÀ» ÅëÇØ ÀÌ·ç¾îÁ³´Ù. ÀÌ·¯ÇÑ ¹æ¹ýÀº ÃÊâ±â¿¡ ÇàÇØÁ³´Âµ¥ ±× ÈÄ /etc/passwd ÆÄÀÏÀÇ º¸´Ù º¹ÀâÇÑ ´ëü ¹× ½º¸¶Æ® Ä«µå¶ó ºÒ¸®´Â Çϵå¿þ¾î µð¹ÙÀ̽º¸¦ Æ÷ÇÔÇÏ¿© ÀÎÁõÇÏ´Â ¸¹Àº »õ·Î¿î ¹æ¹ýÀÌ Åë¿ëµÇ¾ú´Ù. ±×·¯³ª »õ·Î¿î ÀÎÁõ ½ºÅ°¸¶°¡ °³¹ßµÉ¶§¸¶´Ù ¸ðµç ÇÊ¿äÇÑ ÇÁ·Î±×·¥(login, ftp µî)ÀÌ À̸¦ Áö¿øÇϱâ À§ÇØ »õ·Î ÀÛ¼ºµÇ¾î¾ß ÇÏ´Â °ÍÀÌ ¹®Á¦Á¡ÀÌ¿©´Ù. PAMÀº ÀÎÁõ °èȹ¿¡ »ó°ü¾øÀÌ ÇÁ·Î±×·¥À» °³¹ßÇÒ ¼ö ÀÖ´Â ¹æ¹ýÀ» Á¦°øÇÑ´Ù. ÀÌ·¯ÇÑ ÇÁ·Î±×·¥µéÀÌ ÀÛµ¿Çϱâ À§ÇØ ·±Å¸Àӽà ÇÁ·Î±×·¥¿¡ ºÎÂøµÇ´Â ÀÎÁõ ¸ðµâÀ» ÇÊ¿ä·Î ÇÑ´Ù. LDAP¿¡ ´ëÇÑ ÀÎÁõ ¸ðµâÀº ´ÙÀ½ ÁÖ¼Ò¿¡¼­ tar ball ÇüÅ·ΠÀÌ¿ëÇÒ ¼ö ÀÖ´Ù: <quote><url url="http://www.padl.com/pam_ldap.html"></quote> ÀúÀÚ´Â ¸®´ª½º ¹èÆ÷ÆÇ¿¡ PAMÀÌ ¼³Ä¡µÇ¾î ÀÖ´Ù°í °¡Á¤ÇÑ´Ù. ÀÌ·¸Áö ¾ÊÀº °æ¿ì ´ÙÀ½ ÁÖ¼Ò <url url="http://www.kernel.org/pub/linux/libs/pam"> º¸±æ ¹Ù¶õ´Ù. ´Ù¾çÇÑ ¸®´ª½º ¹èÆ÷ÆǵéÀº PAM°ú °ü·ÃÇÏ¿© ¼­·Î ´Ù¸¥ Ç¥ÁØ ¼³Á¤À» »ç¿ëÇÑ´Ù. ´ë°³ PAM ¼³Á¤ ÆÄÀÏÀº /etc/pam.d µð·ºÅ丮³»¿¡ Á¸ÀçÇÑ´Ù. ÀÌ µð·ºÅ丮¿¡¼­ ¸®´ª½º ¹Ú½º¿¡¼­ ¿î¿µµÇ°í ÀÖ´Â °¢ ¼­ºñ½º¿¡ ´ëÇÑ ÆÄÀÏÀ» ¹ß°ßÇÒ ¼ö ÀÖ´Ù. ¿¹¸¦µé¾î ¸®´ª½º°¡ ºÎÆÃµÈ ÈÄ »ç¿ëÀÚµéÀÇ ·Î±×Àο¡ LDAP ¼­¹ö¸¦ »ç¿ëÇÏ±æ ¿øÇÑ´Ù¸é LDAP PAM ¸ðµâÀ»¼³Ä¡ÇÏ°í /etc/pam.d µð·ºÅ丮³» login ÆÄÀÏ¿¡ ´ÙÀ½ ³»¿ëÀ» ÆíÁýÇϱæ¹Ù¶õ´Ù: <tscreen><verb> #%PAM-1.0 auth required /lib/security/pam_securetty.so auth required /lib/security/pam_nologin.so auth sufficient /lib/security/pam_ldap.so auth required /lib/security/pam_unix_auth.so try_first_pass account sufficient /lib/security/pam_ldap.so account required /lib/security/pam_unix_acct.so password required /lib/security/pam_cracklib.so password required /lib/security/pam_ldap.so password required /lib/security/pam_pwdb.so use_first_pass session required /lib/security/pam_unix_session.so </verb></tscreen> <sect1> ±×·¡ÇÈ LDAP µµ±¸ <p> <itemize> <item>Kldap <tscreen><verb> Kldap´Â KDE ȯ°æÀÇ ±×·¡ÇÈ LDAP Ŭ¶óÀ̾ðÆ®·Î ¿ì¼öÇÑ ÀÎÅÍÆäÀ̽º¸¦ °®À¸¸ç µð·ºÅ丮¿¡ ÀúÀåµÈ ¸ðµç Á¤º¸ Æ®¸®¸¦ º¼ ¼ö ÀÖ´Ù. ¾îÇø®ÄÉÀ̼ÇÀ¸·ÎºÎÅÍ ¾à°£ÀÇ screenshot¸¦ °Ë»çÇÒ ¼ö ÀÖÀ¸¸ç ´ÙÀ½ ÁÖ¼Ò¿¡¼­ ´Ù¿î·Îµå ¹ÞÀ» ¼ö ÀÖ´Ù. </verb></tscreen> <quote> <url url="http://www.mountpoint.ch/oliver/kldap/"> </quote> <item>GQ <tscreen><verb> GQ´Â º¸´Ù °£´ÜÇÑ ÀÎÅÍÆäÀ̽º¸¦ °®´Â ´Ù¸¥ ±×·¡ÇÈ LDAP Ŭ¶óÀ̾ðÆ®·Î GNOME ȯ°æÀ» À§ÇØÀÛ¼ºµÇ¾úÁö¸¸ KDE ȯ°æ¿¡¼­µµ ÀÛµ¿µÈ´Ù. Kldapµµ ¶ÇÇÑ GNOME ȯ°æ¿¡¼­ ÀÛµ¿ÇÑ´Ù. ´Ù¿î·Îµå ¹× ´õ¿í ¸¹Àº Á¤º¸¸¦ ¾ò±â À§Çؼ­´Â ´ÙÀ½ ÁÖ¼Ò·Î °¡±æ ¹Ù¶õ´Ù: </verb></tscreen> <quote> <url url="http://biot.com/gq/"> </quote> </itemize> <sect1>·Î±× <p> Slapd´Â ·Î±×¸¦ ¹ß»ý½ÃÅ°±â À§ÇØ syslog(8)¸¦ »ç¿ëÇϴµ¥ ÀÌ À¯Æ¿¸®Æ¼ÀÇ default »ç¿ëÀÚ´Â LOCAL4 ÀÌÁö¸¸ LOCAL0, LOCAL1¿¡¼­ LOCAL7±îÁöÀÇ °ªÀÌ Çã¿ëµÈ´Ù. ·Î±× ¹ß»ýÀ» µ¿ÀÛ½ÃÅ°±â À§ÇØ ´ë°³ /etc µð·ºÅ丮³»¿¡ÀÖ´Â syslog.conf ÆÄÀÏÀ» ÆíÁýÇØ¾ß ÇÑ´Ù. ´ÙÀ½°ú °°Àº ¶óÀÎÀ» Ãß°¡ÇÏ±æ ¹Ù¶õ´Ù: local4.* /usr/adm/ldalog ÀÌ´Â syslog¿¡ ´ëÇØ LOCAL4 default »ç¿ëÀÚ¸¦ ÀÌ¿ëÇÒ °ÍÀÌ´Ù. À§ ¶óÀÎÀÇ ±¸¹®¿¡ Àͼ÷Ä¡¾Ê´Ù¸é syslog, syslog.conf ¿Í syslogd man ÆäÀÌÁö¸¦ º¸¶ó. Default »ç¿ëÀÚ º¯°æ ¹× »ý¼ºµÇ´Â ·Î±× ·¹º§À» ÁöÁ¤ÇÏ±æ ¿øÇÑ´Ù¸é slapd¸¦ ±¸µ¿ÇÒ¶§ ´ÙÀ½ ¿É¼ÇÀ» ÁöÁ¤Çϱæ¹Ù¶õ´Ù. -s syslog-level ¿É¼ÇÀº slapd¿¡°Ô ¾î¶² ·¹º§ÀÇ µð¹ö±ë º¸°í¼­°¡ syslog(8)·Î ·Î±×µÇ¾î¾ß ÇÏ´Â Áö¸¦ ¸»ÇØÁØ´Ù. ·¹º§Àº ¸Þ½ÃÁöÀÇ ¾ö¹ÐÁ¤µµ¸¦ ±â¼úÇϴµ¥ ´ÙÀ½ÀÇ Á¤¿­µÈ ¸®½ºÆ®(³ôÀº ¼öÁØ¿¡¼­ ³·Àº ¼öÁØ)ÀÇ Å°¿öµåÀÌ´Ù: emerg, alert, crit, err, warning, notice, info, and debug. ¿¹: slapd -f myslapd.conf -s debug -l syslog-local-user syslog(8)ÀÇ ·ÎÄà »ç¿ëÀÚ¸¦ ¼±ÅÃÇÑ´Ù. LOCAL0, LOCAL1,..., LOCAL7 ±îÁöÀÇ °ªÀ» °¡Áú ¼ö ÀÖ´Ù. µðÆúÆ®´Â LOCAL4 ÀÌ´Ù. ±×·¯³ª ÀÌ ¿É¼ÇÀº ·ÎÄà »ç¿ëÀÚ¿¡°Ô syslogd(8)¸¦ Áö¿øÇÏ´Â ½Ã½ºÅÛ¿¡¸¸ ´ÜÁö Çã¿ëµÈ´Ù. »ý¼ºµÈ ·Î±×¸¦ º¸¶ó. À̵éÀº ÁúÀÇ, °»½Å, ¹ÙÀεù µî°ú °ü°èµÈ ¹®Á¦¸¦ ÇØ°áÇϴµ¥ »ó´çÇÑ µµ¿òÀ» Á¦°øÇÒ °ÍÀÌ´Ù. <sect>Âü°í ¹®Çå <p> On this section you will find additional documentation about LDAP: useful URLs, cool books and definition RFCs. <sect1>URLs <p> Here are the URLs that contain very useful information about LDAP. From these URLs, this HOWTO was made, so if after reading this document you need more specific information, you probably will find here: <itemize> <item>University of Michigan LDAP Page:<p> <url url="http://www.umich.edu/~dirsvcs/ldap/index.html"><p> <item>University of Michigan LDAP Documentation Page:<p> <url url="http://www.umich.edu/~dirsvcs/ldap/doc/"><p> <item>OpenLDAP Administrator's Guide:<p> <url url="http://www.openldap.org/doc/admin"><p> <item>Manually Implementing Roaming Access:<p> <url url="http://help.netscape.com/products/client/communicator/manual_roaming2.html"><p > <item>Customizing LDAP Settings for Communicator 4.5:<p> <url url="http://developer.netscape.com/docs/manuals/communicator/ldap45.htm"><p > <item>Introducing to Directory Service (X.500):<p> <url url="http://www.nic.surfnet.nl/surfnet/projects/x500/introducing/"><p> <item>Linux Directory Service:<p> <url url="http://www.rage.net/ldap/"><p> </itemize> <sect1>¼­Àû <p> These are the most popular and useful books about LDAP: <itemize> <item>Implementing LDAP by Mark Wilcox <item>LDAP: Programming Directory-Enabled Applications with Lightweight Directory Access Protocol by Howes and Smith <item>Understanding and Deploying LDAP Directory Servers by Howes, Smith, and Good </itemize> <sect1>RFCs <p> The RFCsw that support the LDAP development efforts: <itemize> <item>RFC 1558: A String Representation of LDAP Search Filters <item>RFC 1777: Lightweight Directory Access Protocol <item>RFC 1778: The String Representation of Standard Attribute Syntaxes <item>RFC 1779: A String Representation of Distinguished Names <item>RFC 1781: Using the OSI Directory to Achieve User Friendly Naming <item>RFC 1798: Connectionless LDAP <item>RFC 1823: The LDAP Application Programming Interface <item>RFC 1959: An LDAP URL Format <item>RFC 1960: A String Representation of LDAP Search Filters <item>RFC 2251: Lightweight Directory Access Protocol (v3) <item>RFC 2307: LDAP as a Network Information Service RFC 1558: A String Representation of LDAP Search Filters </itemize> </article>