LDAP Linux HOWTO Luiz Ernesto Pinheiro Malere, malere@yahoo.com v1.04, 2001³â 2¿ù 28ÀÏ ¼­Á¤·æ, s_ryong@hotmail.com 2001³â 3¿ù 7ÀÏ ÀÌ ¹®¼­´Â LDAP(Lightweight Directory Access Protocol) ¼­¹ö ¼³Ä¡, ¼³Á¤, ±¸µ¿ ¹× À¯Áö º¸¼ö¿¡ ´ëÇÑ Á¤º¸¸¦ ¼³¸íÇÑ´Ù. LDAP µ¥ÀÌŸº£À̽º »ý¼º, µ¥ÀÌŸº£À̽º³»ÀÇ Á¤º¸ °»½Å°ú »èÁ¦, ·Î¿ì¹Ö ¿¢¼¼½º ¼öÇà ¹× ³Ý½ºÄÉÀÌÇÁ ÁÖ¼Ò·Ï »ç¿ë ¹æ¹ý¿¡ ´ëÇÑ ¼¼ºÎ»çÇ×µµ ¼³¸íÇÑ´Ù. ÀÌ ¹®¼­´Â ´ëºÎºÐÀÌ ¹Ì½Ã°£ ´ëÇÐÀÇ Á¤º¸ ÆäÀÌÁö¿Í OpenLDAP °ü¸®ÀÚ Áöħ¿¡ ±Ù°ÅÇÑ´Ù. ______________________________________________________________________ ¸ñÂ÷ 1. ¼Ò°³ 1.1 LDAP¶õ ¹«¾ùÀΰ¡? 1.2 µð·ºÅ丮 ¼­ºñ½º¶õ ¹«¾ùÀΰ¡? 1.3 LDAP´Â ¾î¶»°Ô ÀÛµ¿Çϴ°¡? 1.4 LDAP ¹é¿£µå, °´Ã¼¿Í ¼Ó¼º 1.5 ¹®¼­ÀÇ »õ·Î¿î ¹öÀü 1.6 ÀÇ°ß°ú Á¦¾È 1.7 ¹®¼­ ¹ßÇ¥ ±â·Ï 1.8 Acknowledgments 1.9 Copyright and Disclaimer 2. LDAP ¼­¹ö ¼³Ä¡Çϱâ 2.1 ¼±Çà Çʼö, Pre-Requirements 2.2 ÆÐÅ°Áö ´Ù¿î·Îµå ¹Þ±â 2.3 ÆÐÅ°Áö ¾ÐÃàÇØÁ¦ Çϱâ 2.4 ¼ÒÇÁÆ®¿þ¾î ¼³Á¤Çϱâ 2.5 ¼­¹ö ±¸ÃàÇϱâ 3. LDAP ¼­¹ö ¼³Á¤Çϱâ AID CDATA 3Àý(LABEL)LABEL 3.1 ¼³Á¤ ÆÄÀÏ Æ÷¸Ë 3.2 Àü¿ªÀû Áö½Ã AID CDATA 3.2Àý(LABEL)LABEL 3.3 ÀϹÝÀûÀÎ ¹é¿£µå ¿É¼Ç 3.4 ÀϹÝÀûÀÎ µ¥ÀÌŸº£À̽º Áö½Ã 3.5 LDBM ¹é¿£µå ƯÁ¤Àû Áö½Ã 3.6 ´Ù¸¥ ¹é¿£µå µ¥ÀÌŸº£À̽º 3.7 ¿¢¼¼½º Á¦¾î ¿¹ 3.8 ¼³Á¤ ÆÄÀÏ ¿¹ 4. LDAP ¼­¹ö ±¸µ¿Çϱâ AID CDATA 4Àý(LABEL)LABEL 4.1 Command Line Options 4.2 LDAP ¼­¹ö ½ÃÀÛÇϱâ AID CDATA 4.2Àý(LABEL)LABEL 4.3 LDAP ¼­¹ö ÁßÁöÇϱâ 5. µ¥ÀÌŸº£À̽º »ý¼º°ú À¯Áö º¸¼ö 5.1 ¿Â¶óÀλ󿡼­ µ¥ÀÌŸº£À̽º »ý¼ºÇϱâ 5.2 ¿ÀÇÁ¶óÀλ󿡼­ µ¥ÀÌŸº£À̽º »ý¼ºÇϱâ 5.3 More on the LDIF format 5.4 The ldapsearch, ldapdelete and ldapmodify utilities AID CDATA 5.4Àý(LABEL)LABEL 6. ºÎ°¡Àû Á¤º¸¿Í Ư¡ 6.1 ·Î¿ì¹Ö ¿¢¼¼½º(Roaming Access) 6.2 ³Ý½ºÄÉÀÌÇÁ ÁÖ¼Ò·Ï 6.3 LDAP Migration Tools 6.4 LDAP¸¦ »ç¿ëÇÑ ÀÎÁõ 6.5 ±×·¡ÇÈ LDAP µµ±¸ 6.6 ·Î±× 7. Âü°í ¹®Çå 7.1 URLs 7.2 ¼­Àû 7.3 RFCs ______________________________________________________________________ 1. ¼Ò°³ ÀÌ ¹®¼­´Â LDAP µð·ºÅ丮 ¼­¹ö¸¦ ¼³Ä¡ÇÏ¿© »ç¿ëÇϴµ¥ ÀÖ¾î µµ¿òÀ» ÁÖ±â À§ÇÑ °ÍÀ¸·Î LDAP ¼­¹öÀÇ ¼³Ä¡, ¼³Á¤, ±¸µ¿ ¹× À¯Áö º¸¼ö ¹æ¹ýÀ» ¹è¿î´Ù. ±× ÈÄ LDAP Ŭ¶óÀ̾ðÆ®¿Í À¯Æ¿¸®Æ¼¸¦ »ç¿ëÇÏ¿© µð·ºÅ丮³»¿¡ Á¤º¸¸¦ ÀúÀå, °Ë»ö ¹× °»½ÅÇÏ´Â ¹æ¹ýÀ» ¹è¿î´Ù. LDAP µð·ºÅ丮 ¼­¹ö µ¥¸ó, slapdÀº ¿©·¯°¡Áö ¸¹Àº UNIX Ç÷§Æû¿¡¼­ ÀÛµ¿µÈ´Ù. LDAP ¼­¹öµé°£ÀÇ »çº»À» ´Ù·ç´Â ´Ù¸¥ µ¥¸ó, slurpdÀÌ Àִµ¥, ´çºÐ°£Àº ¿°µÎ¿¡ µÑ ÇÊ¿ä°¡ ¾ø´Ù. ÀÌ ¹®¼­¿¡¼­´Â »çº»¾øÀÌ, Áï slurpd µ¥¸ó¾øÀÌ, ´ÜÁö ·ÎÄà µµ¸ÞÀο¡ ´ëÇØ µð·ºÅ丮 ¼­ºñ½º¸¦ Á¦°øÇÏ´Â slapd µ¥¸ó¸¸À» ÀÛµ¿ÇÑ´Ù. ÀÌ ¹®¼­´Â °£´ÜÇÑ ¼­¹ö ¼³Á¤À» ´Ù·ç´Âµ¥ óÀ½ ½ÃÀÛÀ» À§ÇØ À¯ÀÍÇϸç ÃßÈÄ ÇÊ¿ä½Ã ´Ù¸¥ ¼³Á¤À¸·Î °»½ÅÇÏ´Â °ÍÀº ½±´Ù. ÀÌ ¹®¼­ÀÇ Á¤º¸´Â LDAP ÇÁ·ÎÅäÄÝ »ç¿ë¿¡ ´ëÇÑ Á¤È®ÇÑ ÃʱâÈ­¸¦ ¼³¸íÇÑ´Ù. ¾Æ¸¶µµ ÀÌ ¹®¼­¸¦ ÀÐÀº ÈÄ¿¡´Â ¸®´ª½º ¼­¹ö ´É·ÂÀÇ È®Àå»Ó¸¸ ¾Æ´Ï¶ó ±âÁ¸ÀÇ »ç¿ë°¡´ÉÇÑ C, C++ °ú ÀÚ¹Ù °³¹ß µµ±¸(JDKs)¸¦ »ç¿ëÇÏ¿© ÀÚ½ÅÀÇ Å¬¶óÀ̾ðÆ®¸¦ ÀÛ¼ºÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù. 1.1. LDAP¶õ ¹«¾ùÀΰ¡? LDAP´Â µð·ºÅ丮 ¼­ºñ½º ¿¢¼¼½º¸¦ À§ÇÑ Å¬¶óÀ̾ðÆ®-¼­¹ö ÇÁ·ÎÅäÄÝ·Î Ãʱ⿡´Â X.500ÀÇ ÀüÀ§(front-end)·Î »ç¿ëµÇ¾úÀ¸³ª ½ºÅÄµå ¾ó·Ð(stand- alone) ¹× ´Ù¸¥ Á¾·ùÀÇ µð·ºÅ丮 ¼­¹öµé°ú ÇÔ²² »ç¿ëµÉ ¼ö ÀÖ´Ù. 1.2. µð·ºÅ丮 ¼­ºñ½º¶õ ¹«¾ùÀΰ¡? µð·ºÅ丮´Â µ¥ÀÌŸº£À̽º¿Í À¯»çÇÏÁö¸¸ ´õ¿í ¼³¸íÀûÀÌ°í ¼Ó¼º¿¡ ±âÃÊÇÑ Á¤º¸¸¦ °®°í ÀÖ´Ù. µð·ºÅ丮³»ÀÇ Á¤º¸´Â ÀϹÝÀûÀ¸·Î ¾²±âº¸´Ù´Â Àбâ ÀÛ¾÷¿¡ ´õ¿í ºó¹øÈ÷ ÀÌ¿ëµÈ´Ù. µû¶ó¼­, µð·ºÅ丮´Â Åë»óÀûÀ¸·Î Á¤±Ô µ¥ÀÌŸº£À̽ºµéÀÌ ´Ù·®ÀÇ º¹ÀâÇÑ(high-volume complex) °»½ÅÀ» À§ÇØ »ç¿ëÇÏ´Â º¹ÀâÇÑ Ã³¸®(transaction) ¶Ç´Â ·Ñ¹é °èȹ(ÇÁ·Î±×·¥¿¡ µû¶ó ¹Ù·Î ÀüÀÇ Ã¼Å©Æ÷ÀÎÆ®·Î µ¹¾Æ°¡±â, roll-back)À» ¼öÇàÇÏÁö ¾Ê´Â´Ù. µð·ºÅ丮´Â ÀϹÝÀûÀ¸·Î, Àû¾îµµ Çã¿ëµÈ´Ù¸é, ÀüºÎ °»½ÅµÇ°Å³ª ¾Æ¹« °Íµµ º¯°æµÇÁö ¾Ê´Â´Ù. µð·ºÅ丮´Â ´Ù·®ÀÇ ¼ø¶÷(lookup) ¶Ç´Â °Ë»ö ¿¬»ê¿¡ ´ëÇØ ºü¸£°Ô ÀÀ´äÇϱâ À§ÇØ Á¶Á¤µÈ´Ù. µð·ºÅ丮´Â ÀÀ´ä ½Ã°£À» °¨¼Ò½ÃÅ°´Â ¹Ý¸é °¡¿ë¼º°ú ½Å·Ú¼ºÀ» Áõ´ë½ÃÅ°±â À§ÇØ Á¤º¸¸¦ ³Î¸® º¹Á¦ÇÒ ¼ö ÀÖ´Ù. µð·ºÅ丮 Á¤º¸°¡ º¹Á¦µÉ ¶§ º¹Á¦µÈ Á¤º¸µé »çÀÌÀÇ ÀϽÃÀûÀÎ ºÒÀÏÄ¡´Â °á±¹ ÀÏÄ¡µÈ´Ù¸é ¹«¹æÇÒ °ÍÀÌ´Ù. µð·ºÅ丮 ¼­ºñ½º¸¦ Á¦°øÇÏ´Â ¸¹Àº ´Ù¸¥ ¹æ¹ýÀÌ ÀÖ´Ù. °¢°¢ÀÇ ¹æ¹ýµéÀº ´Ù¾çÇÑ Á¾·ùÀÇ Á¤º¸°¡ µð·ºÅ丮¿¡ ÀúÀåµÇ´Â °ÍÀ» Çã¿ëÇϸç, ±×·¯ÇÑ Á¤º¸°¡ ¾î¶»°Ô ÂüÁ¶, ÁúÀÇ ¹× °»½ÅµÉ ¼ö ÀÖ´ÂÁö ¶Ç´Â Çã°¡¹ÞÁö ¾ÊÀº ¿¢¼¼½º·ÎºÎÅÍ ¾î¶»°Ô º¸È£µÇ´ÂÁö µî¿¡ ´ëÇÑ ¿©·¯°¡Áö ¿ä°ÇÀ» µÐ´Ù. ¾î¶² µð·ºÅ丮 ¼­ºñ½º´Â Á¦ÇÑµÈ »óȲ(¿¹¸¦ µé¸é ´Üµ¶ ¸Ó½Å¿¡¼­ finger ¼­ºñ½º)¿¡ ´ëÇؼ­ ¼­ºñ½º¸¦ Á¦°øÇÏ´Â Áö¿ªÀûÀÎ ¹Ý¸é ´Ù¸¥ ¼­ºñ½º´Â ´õ¿í ³ÐÀº »óȲ¿¡ ´ëÇؼ­ ¼­ºñ½º¸¦ Á¦°øÇÏ´Â ÀüüÀûÀÌ´Ù. 1.3. LDAP´Â ¾î¶»°Ô ÀÛµ¿Çϴ°¡? LDAP µð·ºÅ丮 ¼­ºñ½º´Â Ŭ¶óÀ̾ðÆ®-¼­¹ö ¸ðµ¨¿¡ ±âÃÊÇϴµ¥, Çϳª ¶Ç´Â ±× ÀÌ»óÀÇ LDAP ¼­¹öµéÀÌ LDAP µð·ºÅ丮 Æ®¸® ¶Ç´Â ¹é¿£µå(backend) µ¥ÀÌŸº£À̽º¸¦ ±¸¼ºÇÏ´Â ÀڷḦ °®°í ÀÖ´Ù. LDAP Ŭ¶óÀ̾ðÆ®´Â LDAP ¼­¹ö¿¡ ¿¬°áÇØ ÁúÀÇÇϸç, ¼­¹ö´Â ´ä ¶Ç´Â Ŭ¶óÀ̾ðÆ®°¡ ´õ ¸¹Àº Á¤º¸¸¦ ¾òÀ» ¼ö ÀÖ´Â Æ÷ÀÎÅÍ(ÀϹÝÀûÀ¸·Î ´Ù¸¥ LDAP¼­¹ö)¸¦ °®°í ÀÀ´äÇÑ´Ù. Ŭ¶óÀ̾ðÆ®´Â ¾î¶² LDAP ¼­¹ö¿¡ ¿¬°áÇÏ´øÁö °£¿¡ µ¿ÀÏÇÑ µð·ºÅ丮 ±¸Á¶¸¦ º»´Ù; ÇÑ LDAP ¼­¹ö¿¡ º¸³»Áö´Â À̸§Àº ´Ù¸¥ LDAP¿¡ ÀÖÀ» ¼ö ÀÖ´Â µ¿ÀÏÇÑ ¿£Æ®¸®¸¦ ÂüÁ¶Çϸç ÀÌ°ÍÀÌ LDAP¿Í °°Àº ÀüüÀûÀÎ µð·ºÅ丮 ¼­ºñ½ºÀÇ Áß¿äÇÑ Æ¯Â¡ÀÌ´Ù. 1.4. LDAP ¹é¿£µå, °´Ã¼¿Í ¼Ó¼º 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 ÆÄÀÏÀº ´ÙÀ½Ã³·³ º¸ÀδÙ: 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 À§¿¡¼­ º¸µíÀÌ °¢ ¿£Æ®¸®´Â ±¸º°µÇ´Â À̸§(DN, distinguished name)¿¡ ÀÇÇØ °íÀ¯ÇÏ°Ô ½Äº°µÇ¸ç DNÀº ¿£Æ®¸®ÀÇ À̸§°ú ¿£Æ®¸®¸¦ ÅëÇØ µð·ºÅ丮 °èÃþ ±¸Á¶ÀÇ ÃÖ»óÀ§¸¦ ã´Â À̸§µéÀÇ °æ·Î·Î ±¸¼ºµÈ´Ù. LDAP¿¡¼­ °´Ã¼ Ŭ·¡½º´Â ¿£Æ®¸®¸¦ Á¤ÀÇÇϴµ¥ »ç¿ëµÉ ¼ö ÀÖ´Â ¼Ó¼º ÁýÇÕÀ» Á¤ÀÇÇÑ´Ù. LDAP Ç¥ÁØÀº ´ÙÀ½°ú °°Àº ±âº» ÇüÅÂÀÇ °´Ã¼ Ŭ·¡½º¸¦ Á¦°øÇÑ´Ù: o °³º° °´Ã¼ ¶Ç´Â °´Ã¼ ±×·ìÀÇ Á¤·ÄµÇÁö ¾ÊÀº ¸®½ºÆ®¸¦ Æ÷ÇÔÇÏ°í ÀÖ´Â µð·ºÅ丮³» ±×·ì o ±¹°¡¸í°ú ¼³¸í(description)°ú °°Àº Àå¼Ò o µð·ºÅ丮³» Á¶Á÷ o µð·ºÅ丮³» »ç¶÷ ¿£Æ®¸®´Â Çϳª ÀÌ»óÀÇ °´Ã¼ Ŭ·¡½º¿¡ ¼ÓÇÒ ¼ö Àִµ¥, ¿¹¸¦ µé¸é »ç¶÷¿¡ ´ëÇÑ ¿£Æ®¸®´Â person °´Ã¼ Ŭ·¡½º¿¡ ÀÇÇØ Á¤ÀǵÇÁö¸¸ inetOrgPerson, groupOfNames¿Í Organization °´Ã¼ Ŭ·¡½º³»ÀÇ ¼Ó¼º¿¡ ÀÇÇؼ­µµ Á¤ÀÇµÉ ¼ö ÀÖ´Ù. ¼­¹öÀÇ °´Ã¼ Ŭ·¡½º ±¸Á¶(Áï ½ºÅ°¸¶, schema)´Â Ưº°ÇÑ ¿£Æ®¸®¿¡ ´ëÇØ Çʼö ¹× Çã¿ë ¼Ó¼ºµéÀÇ ÃÑ ¸®½ºÆ®¸¦ °áÁ¤ÇÑ´Ù. µð·ºÅ丮 ÀÚ·á´Â ¼Ó¼º-°ª ½ÖÀ¸·Î Ç¥ÇöµÇ´Âµ¥ Á¤º¸ÀÇ ¾î¶² ƯÁ¤ ºÎºÐÀº ¼³¸íÀû ¼Ó¼º°ú ¿¬°áµÈ´Ù. ¿¹¸¦ µé¸é, commonName ¶Ç´Â cn ¼Ó¼ºÀº »ç¶÷ÀÇ À̸§À» ÀúÀåÇϴµ¥ »ç¿ëµÈ´Ù. Jonas Salk¶ó´Â À̸§À» °®´Â »ç¶÷Àº µð·ºÅ丮³»¿¡¼­ ´ÙÀ½°ú °°ÀÌ Ç¥ÇöµÉ ¼ö ÀÖ´Ù. cn: Jonas Salk µð·ºÅ丮³»¿¡ µé¾î°¡´Â °¢ »ç¶÷Àº person °´Ã¼ Ŭ·¡½º³»ÀÇ ¼Ó¼º ÁýÇÕ¿¡ ÀÇÇØ Á¤ÀǵǴµ¥ ÀÌ ¿£Æ®¸®¸¦ Á¤ÀÇÇϱâ À§ÇØ »ç¿ëÇÏ´Â ´Ù¸¥ ¼Ó¼ºµéÀº ´ÙÀ½À» Æ÷ÇÔÇÒ ¼ö ÀÖ´Ù. givenname: Jonas surname: Salk mail: jonass@airius.com Çʼö ¼Ó¼ºµéÀº °´Ã¼ Ŭ·¡½º¸¦ »ç¿ëÇÏ´Â ¿£Æ®¸®¿¡ Á¸ÀçÇØ¾ß ÇÏ´Â ¼Ó¼ºµéÀ» Æ÷ÇÔÇϴµ¥ ¸ðµç ¿£Æ®¸®µéÀº ¿£Æ®¸®°¡ ¼ÓÇÏ´Â °´Ã¼ Ŭ·¡½º°¡ ¸®½ºÆ®µÇ¾î ÀÖ´Â objectClass ¼Ó¼ºÀ» ÇÊ¿ä·Î ÇÑ´Ù. Çã¿ë ¼Ó¼ºµéÀº °´Ã¼ Ŭ·¡½º¸¦ »ç¿ëÇÏ´Â ¿£Æ®¸®¿¡ Á¸ÀçÇÒ ¼ö ÀÖ´Â ¼Ó¼ºµéÀ» Æ÷ÇÔÇϴµ¥ ¿¹¸¦ µé¸é person °´Ã¼ Ŭ·¡½º¿¡¼­ cn °ú sn ¼Ó¼ºÀº ÇʼöÁö¸¸ description, telephoneNumber, seeAlso¿Í userpassword ¼Ó¼ºµéÀº Çʼö°¡ ¾Æ´Ñ Çã¿ëµÈ °ÍµéÀÌ´Ù. °¢ ¼Ó¼ºÀº ¼Ó¼º¿¡ ÀÇÇØ Á¦°øµÇ´Â Á¤º¸ À¯ÇüÀ» ±â¼úÇÏ´Â ÇØ´ç ±¸¹®(syntax) Á¤ÀǸ¦ °®´Â´Ù: o bin binary (¹ÙÀ̳ʸ®) o ces case exact string (case´Â ºñ±³½Ã ÀÏÄ¡ÇØ¾ß ÇÑ´Ù) o cis case ignore string (case´Â ºñ±³½Ã ¹«½ÃµÈ´Ù) o tel telephone number string (cis¿Í °°Áö¸¸ ºñ±³½Ã °ø¹é°ú ´ë½Ã±âÈ£ `-' ´Â ¹«½ÃµÈ´Ù) o dn distinguished name (±¸º°µÇ´Â À̸§) Objectclass¿Í ¼Ó¼º Á¤ÀǵéÀÌ ½Ã½ºÅÛÀÇ ¾îµð¿¡ ÀÖ´ÂÁö¸¦ ¾Ë±â À§Çؼ­´Â ``''ÀÇ Ã¹ ¹®´ÜÀ¸·Î °¡¶ó. 1.5. ¹®¼­ÀÇ »õ·Î¿î ¹öÀü ÀÌ ¹®¼­´Â µ¶Àڵ鿡 ÀÇÇØ Á¦°øµÇ´Â Çǵå¹é¿¡ ±âÃÊÇØ ¼öÁ¤°ú °»½ÅµÉ ¼ö ÀÖ´Ù. ÀÌ ¹®¼­ÀÇ »õ·Î¿î ¹öÀü¿¡ ´ëÇؼ­´Â ´ÙÀ½À» ÂüÁ¶ÇØ¾ß ÇÑ´Ù: 1.6. ÀÇ°ß°ú Á¦¾È ÀÌ ¹®¼­¿¡¼­ »ç¿ëÇÒ ¼ö ÀÖ´Â ¾î¶² Á¤º¸¿¡ ´ëÇØ ¾î¶² ÀDZ¸½ÉÀÌ ÀÖ´Ù¸é ´ÙÀ½ ÀüÀÚ¿ìÆí ÁÖ¼Ò·Î ¸ÞÀÏÀ» º¸³»ÁÖ±æ ¹Ù¶õ´Ù. malere@yahoo.com ÁÖ¼®°ú/¶Ç´Â Á¦¾ÈÀÌ ÀÖ´Ù¸é ¶ÇÇÑ ÀúÀÚ¿¡°Ô ¾Ë·ÁÁÖ±æ ¹Ù¶õ´Ù. 1.7. ¹®¼­ ¹ßÇ¥ ±â·Ï ÀÌ ÀýÀº ½Ã±âº°·Î ºÐ·ùµÈ º» ¹ßÇ¥ ¹®¼­¸¦ ¿­°ÅÇÑ´Ù. °¢ ¹ßÇ¥ ¹®¼­´Â Ãʱ⠹öÀü¿¡ µµÀÔµÈ º¯°æ, »õ·Î¿î Ãß°¡ »çÇ× ¹× ¼öÁ¤À» Æ÷ÇÔÇÑ´Ù. v1.0: 20 June 1999, Initial version. v1.01: 15 February 2000, added the following sections: o LDAP Migration Tools o Authentication using LDAP o Graphical LDAP tools o RFCs v1.02: 13 September 2000, correction of typos and addition of the following section: o History of Releases v1.03: 28 September 2000, presenting OpenLDAP 2.0, which comprises Ldap v3, defined on the RFC2251 . v1.04: 28 Februrary 2001, correction of more typos and update on the following sections: o Roaming Access o Authentication using LDAP 1.8. Acknowledgments ÀÌ ¹®¼­´Â NetherlandsÀÇ TUDelft ´ëÇп¡¼­ ¼öÇàÇÑ ÀÎÅϽÊÀÇ °á°úÀÌ´Ù. ÀúÀÚ´Â ÀÌ ¹®¼­¸¦ ¾²µµ·Ï ¿ë±â¸¦ ÁØ ¸¹Àº ºÐµé¿¡°Ô °í¸¶¿òÀ» Ç¥ÇöÇÏ°í ½Í´Ù: Rene van Leuken°ú Wim Tiwon¿¡ ¸Å¿ì °í¸¿°Ô »ý°¢ÇÑ´Ù. ±×µéÀº ¶ÇÇÑ ÀúÀÚ¿Í °°Àº ¸®´ª½º ÆÒµéÀÌ´Ù. ÀúÀÚ´Â ÀÌ ¹®¼­¿¡ ±â¿©ÇÑ µ¶ÀϾîÆÇ LDAP HOWTO ¹®¼­ÀÇ ÀúÀÚÀÎ Thomas Bendler¿Í LDP ÇÁ·ÎÁ§Æ®ÀÇ À§´ëÇÑ Áö¿øÀÚÀÎ Joshua¿¡°Ô °í¸¶¿òÀ» Ç¥ÇöÇÏ°í ½Í´Ù. 1.9. Copyright and Disclaimer 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 linux-howto@metalab.unc.edu 2. LDAP ¼­¹ö ¼³Ä¡Çϱâ LDAP ¼­¹ö ¼³Ä¡´Â ¼±Çà Çʼö ÆÐÅ°Áö ¼³Ä¡(¼³Ä¡µÇ¾î ÀÖÁö ¾ÊÀ» °æ¿ì), ¼­¹ö ´Ù¿î·Îµå, ¼ÒÇÁÆ®¿þ¾î ¾ÐÃàÇØü, Makefile ¼³Á¤°ú ¼­¹ö ±¸ÃàÀÇ ´Ù¼¸ ´Ü°è¸¦ ÅëÇØ ÀÌ·ç¾îÁø´Ù. 2.1. ¼±Çà Çʼö, Pre-Requirements LDAP ¹öÀü 3À» ¿ÏÀüÈ÷ µû¸£±â À§ÇØ OpenLDAP Ŭ¶óÀ̾ðÆ®¿Í ¼­¹ö´Â ¾à°£ÀÇ ºÎ°¡ÀûÀÎ ÆÐÅ°ÁöÀÇ ¼³Ä¡¸¦ ÇÊ¿ä·ÎÇÑ´Ù: OpenSSL TLS libraries ¾î¶² ¿î¿µÃ¼Á¦°¡ ÀÌ ¶óÀ̺귯¸®¸¦ ±âº» ½Ã½ºÅÛÀÇ ºÎºÐ ¶Ç´Â ¼±ÅÃÀûÀÎ ¼ÒÇÁÆ®¿þ¾î ÄÄÆ÷³ÍÆ®·Î Á¦°øÇÒ ¼ö ÀÖÁö¸¸, OpenSSLÀº Á¾Á¾ º°µµÀÇ ¼³Ä¡¸¦ ÇÊ¿ä·Î ÇÑ´Ù. OpenSSLÀº ´ÙÀ½ »çÀÌÆ®¿¡¼­ ±¸ÇÒ ¼ö ÀÖ´Ù. Kerberos Authentication Services OpenLDAP Ŭ¶óÀ̾ðÆ®¿Í ¼­¹ö´Â Kerberos¿¡ ±âÃÊÇÑ ÀÎÁõ ¼­ºñ½º¸¦ Áö¿øÇϴµ¥ ƯÈ÷ Heimdal ¶Ç´Â MIT Kerberos V ÆÐÅ°Áö¸¦ ÀÌ¿ëÇÑ SASL/GSAPI ÀÎÁõ ±â±¸¸¦ Áö¿øÇÑ´Ù. Kerberos¿¡ ±âÃÊÇÑ SASL/GSSAPI ÀÎÁõÀ» »ç¿ëÇÏ°í ½Í´Ù¸é Heimdal ¶Ç´Â MIT Kerberos V¸¦ ¼³Ä¡ÇØ¾ß ÇÑ´Ù. Heimdal Kerbero´Â ·ÎºÎÅÍ ±¸ÇÒ ¼ö ÀÖ´Ù. MIT Kerberos´Â ·ÎºÎÅÍ ±¸ÇÒ ¼ö ÀÖ´Ù. Kerberos°¡ Á¦°øÇÏ´Â °Í°ú °°Àº °­·ÂÇÑ ÀÎÁõ ¼­ºñ½ºÀÇ »ç¿ëÀ» °­·ÂÈ÷ ÃßõÇÑ´Ù. Cyrus's Simple Authentication and Security Layer Libraries ¾î¶² ¿î¿µÃ¼Á¦°¡ ÀÌ ¶óÀ̺귯¸®¸¦ ±âº» ½Ã½ºÅÛÀÇ ºÎºÐ ¶Ç´Â ¼±ÅÃÀûÀÎ ¼ÒÇÁÆ®¿þ¾î ÄÄÆ÷³ÍÆ®·Î Á¦°øÇÒ ¼ö ÀÖÁö¸¸, Cyrus SASLÀº Á¾Á¾ º°µµÀÇ ¼³Ä¡¸¦ ÇÊ¿ä·Î ÇÑ´Ù. Cyrus SASLÀº ·ÎºÎÅÍ ±¸ÇÒ ¼ö ÀÖ´Ù. Cyrus SASLÀº OpenSSL°ú Kerberos/GSSAPI ¶óÀ̺귯¸®°¡ ¹Ì¸® ¼³Ä¡µÇ¾î ÀÖ´Ù¸é À̵éÀ» »ç¿ëÇÒ °ÍÀÌ´Ù. Database Software OpenLDAPÀÇ slapd ±âº» µ¥ÀÌÅͺ£À̽º ¹é¿£µåÀÎ LDBMÀº ¿£Æ®¸® ÀúÀåÀ» À§ÇØ È£È¯¼º µ¥ÀÌŸº£À̽º ÆÐÅ°Áö¸¦ ÇÊ¿ä·Î ÇÑ´Ù. LDBMÀº Sleepycat ¼ÒÇÁÆ®¿þ¾îÀÇ BerkeleyDB(Ãßõ) ¶Ç´Â ÀÚÀ¯ ¼ÒÇÁÆ®¿þ¾î Àç´Ü(FSF, Free Software Foundation)ÀÇ GNU µ¥ÀÌŸº£À̽º ¸Å´ÏÀú(GDBM)¿Í ȣȯµÈ´Ù. ÀÌ·¯ÇÑ ÆÐÅ°ÁöµéÀ» ¼³Á¤½Ã ÀÌ¿ëÇÒ ¼ö ¾ø´Ù¸é ±âº» µ¥ÀÌŸº£À̽º ¹é¿£µå Áö¿øÀ» ÇÏ´Â slapd µ¥¸óÀ» ±¸ÃàÇÒ ¼ö ¾øÀ» °ÍÀÌ´Ù. ¿î¿µÃ¼Á¦°¡ ±âº» ½Ã½ºÅÛ³»¿¡¼­ ¶Ç´Â ¼±ÅÃÀûÀÎ ¼ÒÇÁÆ®¿þ¾î ÄÄÆ÷³ÍÆ®·Î½á µÎ ÆÐÅ°Áö Áß Çϳª¸¦ Á¦°øÇÒ ¼ö Àִµ¥ ÀÌ·¯ÇÑ ¼ÒÇÁÆ®¿þ¾î¸¦ ±¸Çؼ­ ¼³Ä¡ÇÒ ÇÊ¿ä°¡ ÀÖ´Ù. BerkekeyDB ´Â Sleepycat ¼ÒÇÁÆ®¿þ¾îÀÇ ´Ù¿î·Îµå ÆäÀÌÁö ·ÎºÎÅÍ ±¸ÇÒ ¼ö ÀÖ´Ù. ¿©·¯ ¹öÀüÀ» ÀÌ¿ëÇÒ ¼ö Àִµ¥ ÀÌ ¹®¼­¸¦ ÀÛ¼ºÇÏ´Â ½ÃÁ¡¿¡´Â ÃֽŠ¹èÆ÷º» ¹öÀü 3.1 ÀÌ ÃßõµÈ´Ù. GDBMÀº FSFÀÇ ´Ù¿î·Îµå »çÀÌÆ® ·ÎºÎÅÍ ±¸ÇÒ ¼ö Àִµ¥ ÀÌ ¹®¼­¸¦ ÀÛ¼ºÇÏ´Â ½ÃÁ¡¿¡´Â ¹öÀü 1.8 ÀÌ ÃֽŠ¹èÆ÷º»ÀÌ´Ù. Threads OpenLDAP´Â ¾²·¹µå¸¦ ÀÌ¿ëÇÒ ¼ö ÀÖµµ·Ï ¼³°èµÇ¾î Àִµ¥ POSIX pthreads, Mach CThreads¿Í ¸¹Àº ´Ù¸¥ º¯ÇüµéÀ» Áö¿øÇÑ´Ù. configure ½ºÅ©¸³Æ®°¡ ÀûÇÕÇÑ ¾²·¹µå ÇÏÀ§ ½Ã½ºÅÛÀ» ãÀ» ¼ö ¾ø´Ù¸é ¿¡·¯ ¸Þ¼¼Áö¸¦ Ãâ·ÂÇϴµ¥ ÀÌ·± °æ¿ì OpenLDAP FAQÀÇ ¼ÒÇÁÆ®¿þ¾î - ¼³Ä¡ - Ç÷§Æû ÈùÆ® ÀýÀ» ÂüÁ¶ÇÏ±æ ¹Ù¶õ´Ù. TCP Wrappers slapd´Â TCP wrappers(IP ·¹º§ ¿¢¼¼½º Á¦¾î ÇÊÅÍ)°¡ ÀÌ¹Ì ¼³Ä¡µÇ¾î ÀÖ´Ù¸é À̸¦ Áö¿øÇϴµ¥ °³ÀÎÀûÀÎ ºñ°ø°³ Á¤º¸¸¦ Æ÷ÇÔÇÏ´Â ¼­¹ö º¸¾ÈÀ» À§ÇØ TCP wrappers ¶Ç´Â ´Ù¸¥ IP ·¹º§ ¿¢¼¼½º ÇÊÅÍ(IP ·¹º§ ¹æÈ­º®ÀÌ Á¦°øÇÏ´Â °Í°ú °°Àº) »ç¿ëÀ» ÃßõÇÑ´Ù. 2.2. ÆÐÅ°Áö ´Ù¿î·Îµå ¹Þ±â LDAP ¼­¹ö·Î´Â Michigan ´ëÇÐ LDAP ¼­¹ö¿Í OpenLDAP ¼­¹ö µÎ Á¾·ùÀÇ ÀÚÀ¯·ÎÀÌ ¹èÆ÷µÇ´Â LDAP ¼­¹ö°¡ ÀÖÀ¸¸ç ¶ÇÇÑ ³Ý½ºÄÉÀÌÇÁ µð·ºÅ丮 ¼­¹öµµ ¾î¶² Á¶°ÇÇÏ¿¡¼­´Â ÀÚÀ¯·ÎÀÌ »ç¿ëÇÒ ¼ö ÀÖ´Ù(¿¹¸¦ µé¸é ±³À°±â°üÀº ÀÚÀ¯·ÎÀÌ ¾òÀ» ¼ö ÀÖ´Ù). OpenLDAP ¼­¹ö´Â Michigan ´ëÇÐ LDAP ¼­¹öÀÇ ÃֽŠ¹öÀü¿¡ ±âÃÊÇϴµ¥ ±× ¹öÀü¿¡ ´ëÇØ ÀÌ¿ëÇÒ ¼ö ÀÖ´Â ¸ÞÀϸµ ¸®½ºÆ®¿Í ºÎ°¡Àû ¹®¼­°¡ ÀÖ´Ù. ÀÌ ¹®¼­´Â OpenLDAP ¼­¹öÀÇ »ç¿ëÀ» °¡Á¤ÇÑ´Ù. ÃֽŠtar gzipped ¹öÀüÀº ´ÙÀ½ ÁÖ¼Ò¿¡¼­ ±¸ÇÒ ¼ö ÀÖ´Ù: Michigan ´ëÇÐ LDAP ¼­¹öÀÇ ÃֽŠ¹öÀüÀº ´ÙÀ½ ÁÖ¼Ò¿¡¼­ ±¸ÇÒ ¼ö ÀÖ´Ù: ÀÌ ¹®¼­¸¦ ÀÛ¼ºÇϱâ À§ÇØ ÀúÀÚ´Â ÃֽŠ¾ÈÁ¤ ¹öÀü 1.2.11°ú »õ·ÎÀÌ ¹èÆ÷µÈ 2.0.4 ¹öÀü µÎ°¡Áö OpenLDAP ÆÐÅ°Áö¸¦ »ç¿ëÇß´Ù. ¿î¿µÃ¼Á¦´Â Ä¿³Î 2.2.13ÀÎ ½½·¢¿þ¾î ¸®´ª½ºÀÌ´Ù. OpenLDAP »çÀÌÆ®¿¡¼­ ´Ã OpenLDAP ¼­¹öÀÇ ÃֽŠ°³¹ß ¹× ¾ÈÁ¤ ¹öÀüÀ» ãÀ» ¼ö ÀÖ´Ù. ÀÌ ¹®¼­°¡ °»½ÅµÇ¾ú´ø ½ÃÁ¡±îÁö ÃֽŠ¾ÈÁ¤ ¹öÀü°ú ÃֽŠ°³¹ß ¹öÀüÀº °¢°¢ openldap-stable-20000704.tgz°ú openldap-2.0.4.tgz ¿´´Ù. 2.3. ÆÐÅ°Áö ¾ÐÃàÇØÁ¦ Çϱâ tar gzipped ÆÐÅ°Áö¸¦ ±¸ÇÑ ÈÄ ¾ÐÃàÇØÁ¦ÇÑ´Ù. ¿ì¼± ÆÐÅ°Áö¸¦ ¿øÇÏ´Â µð·ºÅ丮, ¿¹¸¦ µé¸é /usr/local, ·Î º¹»çÇÏ±æ ¹Ù¶õ´Ù. ±×¸®°í ´ÙÀ½ÀÇ ¸í·ÉÀ» »ç¿ëÇÏ±æ ¹Ù¶õ´Ù: tar xvzf openldap-stable.tgz ¸¶Âù°¡Áö·Î ´ÙÀ½ ¸í·ÉÀ» »ç¿ëÇÒ ¼öµµ ÀÖ´Ù: gunzip openldap-stable.tgz | tar xvf - 2.4. ¼ÒÇÁÆ®¿þ¾î ¼³Á¤Çϱâ À¥»çÀÌÆ®¿¡ ÃÖÀûÀÇ ¼ÒÇÁÆ®¿þ¾î¸¦ ¼³Ä¡ÇÒ ¼ö ÀÖµµ·Ï °³º°È­(customization)ÇÒ ¼ö ÀÖ´Â ¿©·¯ ¿É¼ÇµéÀÌ ÀÖ´Ù. ¼ÒÇÁÆ®¿þ¾î´Â ´ÜÁö µÎ ´Ü°è¿¡ ÀÇÇØ ¼³Á¤µÈ´Ù: o ¼ÒÇÁÆ®¿þ¾î¸¦ ¾ÐÃàÇØÁ¦ÇÑ µð·ºÅ丮 ¹ØÀÇ ÇÏÀ§ µð·ºÅ丮 include¿¡ À§Ä¡ÇÑ ldapconfig.h.edit ÆÄÀÏÀ» ÆíÁýÇÑ´Ù o configure ½ºÅ©¸³Æ®¸¦ ½ÇÇà½ÃŲ´Ù (È£±â½ÉÀÌ ¸¹´Ù¸é configure ½ºÅ©¸³Æ®¸¦ ½ÇÇà½ÃÅ°´Â ´ë½Å Make-common ÆÄÀÏÀ» ÆíÁýÇÒ ¼ö ÀÖ´Ù) include/ldapconfig.h.edit ÆÄÀϾȿ¡¼­ slapd¿Í slurpd µ¥¸óÀÇ À§Ä¡¿Í °°Àº ¿É¼ÇÀ» ¼³Á¤ÇÒ ¼ö ÀÖ´Ù. ÆÄÀÏÀÚü°¡ Àß ÁÖ¼®Ã³¸® µÇ¾î ÀÖ°í default ¼³Á¤Àº ´ëºÎºÐÀÇ ÀϹÝÀûÀÎ °ü¸®ÀÚ ¼±ÅÃÀ» ¹Ý¿µÇÏ°í Àִµ¥ ±ÞÇÏ´Ù¸é ÀÌ ´Ü°è¸¦ Áö³ªÄ¥ ¼ö ÀÖ´Ù: vi include/ldapconfig.h.edit OpenLDAP ¼­¹ö ¼Ò½º´Â ¼³Ä¡ µð·ºÅ丮, ÄÄÆÄÀÏ·¯¿Í ¸µÄ¿ Ç÷¡±×¿Í °°Àº ¿É¼Ç ¼³Á¤À» À§ÇÑ ¼³Á¤ ½ºÅ©¸³Æ®¿Í ÇÔ²² ¹èÆ÷µÇ´Âµ¥ ¼ÒÇÁÆ®¿þ¾î¸¦ ¾ÐÃàÇØÁ¦ÇÑ µð·ºÅ丮¿¡¼­ ´ÙÀ½ ¸í·ÉÀ» ½ÇÇà½ÃŲ´Ù: ./configure --help ÀÌ ¸í·ÉÀº ¼ÒÇÁÆ®¿þ¾î¸¦ ¼³Ä¡Çϱâ Àü¿¡ configure ½ºÅ©¸³Æ®¸¦ °®°í °³º°È­ÇÒ ¼ö ÀÖ´Â ¸ðµç ¼±ÅûçÇ×À» Ãâ·ÂÇÒ °ÍÀÌ´Ù. ¼³Ä¡ µð·ºÅ丮 ¼³Á¤¿¡ °üÇÑ À¯¿ëÇÑ ¿É¼ÇÀº --prefix=pref, --exe-prefix=eprefix ¿Í --bindir=dir °¡ ÀÖ´Ù. ÀϹÝÀûÀ¸·Î ¿É¼Ç¾øÀÌ configure¸¦ ½ÇÇà½ÃŲ´Ù¸é ½ºÅ©¸³Æ®°¡ ÀûÀýÇÑ ¼³Á¤À» ÀÚµ¿ÀûÀ¸·Î ÀÎÁöÇؼ­ default·Î °øÅë À§Ä¡¿¡ ¼³Ä¡Çϱâ À§ÇØ ÁغñÇÒ °ÍÀÌ´Ù. ´ÜÁö ´ÙÀ½°ú °°ÀÌ ½ÇÇà½ÃŲ´Ù: ./configure ¸ðµç °ÍÀÌ Àß ÁøÇàµÇ´ÂÁö º¸±â À§ÇØ È­¸é¿¡ Ãâ·ÂµÇ´Â ³»¿ëÀ» º¸±æ ¹Ù¶õ´Ù. 2.5. ¼­¹ö ±¸ÃàÇϱ⠼ÒÇÁÆ®¿þ¾î¸¦ ¼³Á¤ÇÑ ÈÄ ±¸ÃàÀ» ½ÃÀÛÇϴµ¥ ¿ì¼± ´ÙÀ½ ¸í·ÉÀ» ÀÌ¿ëÇÏ¿© ÀÇÁ¸¼ºÀ» ±¸ÃàÇÑ´Ù: make depend ´ÙÀ½ ¸í·ÉÀ» ÀÌ¿ëÇÏ¿© ¼­¹ö¸¦ ±¸ÃàÇÑ´Ù: make ¸ðµç °ÍÀÌ Àß ÁøÇàµÈ´Ù¸é ¼­¹ö´Â ¼³Á¤µÈ´ë·Î ±¸ÃàµÉ °ÍÀÌ´Ù. ±×·¸Áö ¾Ê´Ù¸é ¼³Á¤ »çÇ×À» °ËÅäÇϱâ À§ÇØ ÀÌÀü ´Ü°è·Î µ¹¾Æ°¡±æ ¹Ù¶õ´Ù. Ç÷§Æû¿¡ °ü°èµÇ´Â Ư¼öÇÑ Áö½Ã¸¦ °Ë»çÇØ¾ß Çϴµ¥ ¼ÒÇÁÆ®¿þ¾î¸¦ ¾ÐÃàÇØÁ¦ÇÑ µð·ºÅ丮¹ØÀÇ doc/install/hints ¿¡ ÀÖ´Ù. ¹ÙÀ̳ʸ®¿Í man ÆäÀÌÁö¸¦ ¼³Ä¡ÇÑ´Ù. ¾îµð¿¡ ¼³Ä¡ÇÏ´À³Ä¿¡ µû¶ó ½´ÆÛÀ¯ÀúÀÏ ÇÊ¿ä°¡ ÀÖ´Ù. su make install ¼³Ä¡°¡ ¿Ï·áµÇ¾úÀ¸¸ç ¼­¹ö ¹ÙÀ̳ʸ®¿Í ¿©·¯ ´Ù¸¥ À¯Æ¿¸®Æ¼µéÀÌ »ý¼ºµÇ¾úÀ» °ÍÀÌ´Ù. LDAP ¼­¹ö ÀÛµ¿ ¼³Á¤ ¹æ¹ýÀ» º¸±â À§Çؼ­´Â ``´ÙÀ½''À¸·Î °¡±æ ¹Ù¶õ´Ù. OpenLDAP 2.0 ¼­¹öÀÇ ¹ÙÀ̳ʸ®´Â slapdÀÌ´Ù. OpenLDAP 2.0Àº °ø½ÄÀûÀ¸·Î 8¿ù 30ÀÏ ¹ßÇ¥µÇ¾ú´Âµ¥ RFC 2251¿¡ Á¤ÀÇµÈ ¹Ù¿Í °°ÀÌ Ldap ÇÁ·ÎÅäÄÝ v2À» Æ÷ÇÔÇÏ°í ÀÖ´Ù. OpenLDAP 2.0 ÀÇ ÁÖµÈ Æ¯Â¡Àº ´ÙÀ½°ú °°´Ù: o LDAPv2 and LDAPv3 Support (RFC2251-2256,2829-2831) o Maintenance of interoperability with existing clients o IPv4 and IPv6 support o Strong Authentication (SASL) (RFC2829) o Start TLS (RFC2830) o Language Tags (RFC2596) o DNS-based service location (RFC2247+"locate" I-D) o Enhanced Standalone Server o Named References/ManageDsaIT ("nameref" I-D) o Enhanced Access Control subsystem o Thread pooling o Preemptive threading support o Multiple listener support o LDIFv1 (RFC2849) o Improved platform/subsystem detection Note: LDP(Linux Document Projext)¿¡ LDAP Implementation HOWTO ¹®¼­°¡ ÀÖÀ» °ÍÀÌ´Ù. ÀÌ ¹®¼­´Â OpenLDAP 2.0 ÀÇ »õ·Î¿î Ư¡À» ÀÌ¿ëÇÏ±æ ¿øÇÏ´Â »ç¶÷µé¿¡°Ô ¸¹Àº ÀڷḦ Á¦°øÇÒ °ÍÀÌ´Ù. ¹èÆ÷ ³¯Â¥´Â 2000³â 12¿ù ÁîÀ½ÀÌ´Ù. OpenLDAP ÆÐÅ°Áö ÃֽŠ¹öÀü¿¡¼­´Â ±¸ÃàµÈ ¹ÙÀ̳ʸ®¸¦ ½ÃÇèÇÏ´Â °Í ¶ÇÇÑ °¡´É Çѵ¥ ´ÙÀ½ ¸í·ÉÀ» ÀÌ¿ëÇÏ¿© ½ÃÇè ½ºÅ©¸³Æ®¸¦ ½ÇÇà½Ãų ¼ö ÀÖ´Ù: make test ¾î¶² °ÍÀÌ Àß µÇÁö ¾Ê´Â´Ù¸é Ctrl-C¸¦ ´­·¯ Áß°£¿¡ Á¤Áö½Ãų ¼ö ÀÖ´Ù. ÀúÀÚÀÇ °æ¿ì ½ºÅ©¸³Æ®°¡ ¿ÏÀüÈ÷ ³¡³ª±â Àü¿¡ Áß°£¿¡ ¸ØÃß¾ú´Âµ¥ ¾î·µç OpenLDAP ¼³Á¤¿¡ ´ëÇÑ ¼º°øÀûÀÎ ¸Þ½ÃÁö¸¦ º¼ ¼ö ÀÖ¾ú´Ù. 3. LDAP ¼­¹ö ¼³Á¤Çϱ⠼ÒÇÁÆ®¿þ¾îÀÇ ¼³Ä¡ ¹× ±¸Ãà ¿Ï·áÈÄ »çÀÌÆ®¿¡ ÀûÇÕÇÏ°Ô ¼³Á¤ÇÒ ¼ö Àִµ¥ ¸ðµç slapd ·±Å¸ÀÓ ¼³Á¤Àº ¼³Á¤ ½ºÅ©¸³Æ®¿¡¼­ ÁöÁ¤ÇÑ prefix µð·ºÅ丮 ¶Ç´Â default·Î /usr/local/etc/openldap µð·ºÅ丮¿¡ ¼³Ä¡µÈ slapd.conf ÆÄÀÏÀ» ÅëÇØ ÀÌ·ç¾îÁø´Ù. ÀÌ ÀýÀº slapd.conf ÆÄÀϳ»ÀÇ ÀϹÝÀûÀ¸·Î »ç¿ëµÇ´Â ¼³Á¤ Áö½Ã(configuration directive)µéÀ» ¼¼ºÎÀûÀ¸·Î ¼³¸íÇÑ´Ù. ¿ÏÀüÇÑ ¸®½ºÆ®¸¦ À§Çؼ­´Â slap.conf(5) ¸Å´º¾ó ÆäÀÌÁö¸¦ º¸±â ¹Ù¶õ´Ù. ¼³Á¤ ÆÄÀÏ Áö½ÃµéÀº Àü¿ªÀû, ¹é¿£µå ƯÁ¤Àû ¹× µ¥ÀÌŸ ƯÁ¤ÀûÀÎ ºÎ¹®À¸·Î ºÐ·ùµÈ´Ù. ÀÌ Àý¿¡¼­ Áö½ÃÀÇ ¼³¸í°ú ±×µéÀÇ default °ªµé(Á¸ÀçÇÑ´Ù¸é) ¹× ±×µé »ç¿ëÀÇ ¿¹¸¦ º¼ ¼ö ÀÖ´Ù. 3.1. ¼³Á¤ ÆÄÀÏ Æ÷¸Ë Slapd.conf ÆÄÀÏÀº Àü¿ªÀû, ¹é¿£µå ƯÁ¤Àû ¹× µ¥ÀÌŸº£À̽º ƯÁ¤ÀûÀÎ ¼¼°¡Áö À¯ÇüÀÇ ¼³Á¤ Á¤º¸·Î ±¸¼ºµÇ´Âµ¥ Àü¿ªÀûÁ¤º¸, °³°³ÀÇ ¹é¿£µå ÇüÅÂ¿Í °ü·ÃµÈ Á¤º¸¿Í °³º°Àû µ¥ÀÌŸº£À̽º ÀνºÅϽº¿Í °ü·ÃµÈ Á¤º¸¼øÀ¸·Î ¼¼ºÎÀûÀ¸·Î ¼³¸íµÈ´Ù. Àü¿ªÀû Áö½Ã´Â ¹é¿£µå¿Í/¶Ç´Â µ¥ÀÌÅͺ£À̽º Áö½Ã¿¡¼­ ¹«È¿È­µÉ ¼ö ÀÖÀ¸¸ç, ¹é¿£µå Áö½Ã´Â µ¥ÀÌÅͺ£À̽º Áö½Ã¿¡ ÀÇÇØ ¹«È¿È­µÉ ¼öÀÖ´Ù. °ø¶óÀΰú '#'·Î ½ÃÀÛÇÏ´Â ÁÖ¼®¶óÀÎÀº ¹«½ÃµÇ¸ç white space·Î ½ÃÀÛÇÏ´Â ¶óÀÎÀº ÀÌÀü ¶óÀÎÀÇ ¿¬¼ÓÀ¸·Î °í·ÁµÈ´Ù. Slapd.conf ÆÄÀÏÀÇ ÀϹÝÀû Æ÷¸ËÀº ´ÙÀ½°ú°°´Ù: # global configuration directives # ¹é¿£ definition ¹é¿£ <¹é¿£-specific directives> # first database definition & config directives database # second database definition & config directives database # second database definition & config directives database # subsequent backend & database definitions & config directives ... ¼³Á¤ Áö½Ã´Â Àμö¸¦ ÃëÇÒ ¼ö Àִµ¥ white space¿¡ ÀÇÇØ ±¸ºÐÇÑ´Ù. Àμö°¡ white space¸¦ Æ÷ÇÔÇÑ´Ù¸é "like this"¿Í °°ÀÌ ÀÌÁß ÀοëºÎÈ£·Î ¿¡¿ö½Î¾ß ÇÑ´Ù. Àμö°¡ ÀÌÁß ÀοëºÎÈ£ ¶Ç´Â ¿ª½½·¡½¬¹®ÀÚ `\'¸¦ Æ÷ÇÔÇÏ¸é ¿ª½½·¡½¬ ¹®ÀÚ°¡ ÀÌµé ¹®ÀÚ ¾Õ¿¡ ÀÖ¾î¾ß ÇÑ´Ù. ¹èÆ÷ÆÇÀº /usr/local/etc/openldap µð·ºÅ丮¿¡ ¼³Ä¡µÉ ¼ö ÀÖ´Â ¼³Á¤ ÆÄÀÏÀÇ ¿¹¸¦ Æ÷ÇÔÇÑ´Ù. ½ºÅ°¸¶ Á¤ÀÇ(¼Ó¼º ÇüÅÂ¿Í °´Ã¼ Ŭ·¡½º)¸¦ Æ÷ÇÔÇÑ ´Ù¼öÀÇ ÆÄÀϵéÀº /usr/local/etc/openldap/schema µð·ºÅ丮¿¡ ¼³Ä¡µÈ´Ù. 3.2. Àü¿ªÀû Áö½Ã ÀÌ Àý¿¡ ±â¼úµÈ Áö½ÃµéÀº ¹é¿£µå ¶Ç´Â µ¥ÀÌŸº£À̽º Á¤ÀÇ¿¡¼­ Ưº°È÷ ¹«È¿È­µÇÁö ¾Ê´Â´Ù¸é ¸ðµç ¹é¿£µå¿¡ Àû¿ëµÈ´Ù. ½ÇÁ¦ ÅؽºÆ®¿¡ ÀÇÇØ ´ëüµÇ´Â ÀμöµéÀº <> °ýÈ£³»¿¡ ÀÖ´Ù. access to [ by ]+ ÀÌ Áö½Ã´Â ÇÑ¸í ¶Ç´Â ±× ÀÌ»óÀÇ ¿äûÀÚ(¿¡ ÀÇÇØ ÁöÁ¤µÈ)¿¡ ÀÇÇÑ ÀÏ·ÃÀÇ ¿£Æ®¸®¿Í/¶Ç´Â ¼Ó¼º(¿¡ ÀÇÇØ ÁöÁ¤µÈ)¿¡ ´ëÇÑ ¿¢¼¼½º(¿¡ ÀÇÇØ ÁöÁ¤µÈ)¸¦ Çã¿ëÇÑ´Ù. ¼¼ºÎ»çÇ×À» ¾Ë°í ½Í´Ù¸é ¿¢¼¼½º Á¦¾î ¿¹¸¦ º¸±æ ¹Ù¶õ´Ù. attributetype ÀÌ Áö½Ã´Â ¼Ó¼º ÇüŸ¦ Á¤ÀÇÇÑ´Ù. defaultaccess { none | compare | search | read | write } ÀÌ Áö½Ã´Â ¿¢¼¼½º Áö½Ã°¡ ÁöÁ¤µÇÁö ¾Ê¾ÒÀ» ¶§ ¿äûÀÚ¿¡°Ô Çã¿ëµÈ default ¿¢¼¼½º¸¦ ÁöÁ¤ÇÑ´Ù. ÀÓÀÇÀÇ ÁÖ¾îÁø ¿¢¼¼½º ·¹º§Àº ¸ðµç ÇÏÀ§ ¿¢¼¼½º ·¹º§À» ³»Æ÷ÇÑ´Ù (¿¹, Àб⠿¢¼¼½º´Â °Ë»ö°ú ºñ±³¸¦ ³»Æ÷ÇÏÁö¸¸ ¾²±â¸¦ ³»Æ÷ÇÏÁö´Â ¾Ê´Â´Ù). Default: defaultaccess read idletimeout À¯ÈÞ Å¬¶óÀ̾ðÆ® ¿¬°áÀ» °­Á¦·Î Á¾·áÇϱâ Àü¿¡ ±â´Ù¸®´Â ½Ã°£(ÃÊ)À» ÁöÁ¤ÇÑ´Ù. Default·Î 0ÀÇ°ªÀÇ ideltimeoutÀº ÀÌ Æ¯Â¡À» ÀÛµ¿½ÃÅ°Áö ¾Ê´Â´Ù. include ÀÌ Áö½Ã´Â ÇöÀç ÆÄÀÏÀÇ ´ÙÀ½ ¶óÀÎÀ» °è¼Ó ÁøÇàÇϱâ Àü¿¡ slapd µ¥¸óÀÌ ÁÖ¾îÁø ÆÄÀϷκÎÅÍ ºÎ°¡ÀûÀÎ ¼³Á¤ Á¤º¸¸¦ Àоî¾ß ÇÔÀ» ÁöÁ¤ÇÑ´Ù. IncludedµÈ ÆÄÀÏÀº ÀϹÝÀûÀÎ slapd config ÆÄÀÏ Æ÷¸ËÀ» µû¶ó¾ßÇÑ´Ù. ÆÄÀÏÀº ÀϹÝÀûÀ¸·Î ½ºÅ°¸¶ ¸í¼¼»çÇ×(specification)À» °®°íÀÖ´Â ÆÄÀϵéÀ» Æ÷ÇÔÇϱâÀ§ÇØ »ç¿ëµÈ´Ù. Note: ³»Æ÷ include Áö½ÃÀÇ ¼ö¿¡ Á¦ÇÑÀÌ ¾øÀ¸¸ç ·çÇÁ(loop) ŽÁö°¡ ÇàÇØÁöÁö ¾Ê±â ¶§¹®¿¡ ÀÌ Áö½Ã¸¦ »ç¿ëÇÒ ¶§´Â ÁÖÀÇÇØ¾ß ÇÑ´Ù. loglevel º» Áö½Ã´Â µð¹ö±ë º¸°í¼­(statement)¿Í operation Åë°è°¡ syslogged(ÇöÀç´Â syslogd(8) LOCAL4·Î ·Î±×µÇ¾îÀÖ´Ù) µÇ¾î¾ß ÇÏ´Â ·¹º§À» ÁöÁ¤ÇÑ´Ù. ÀÌ°ÍÀÌ Àß ÀÛµ¿µÇµµ·Ï(´Ã ÀÛµ¿µÇ°í ÀÖ´Â µÎ Åë°è ·¹º§À» Á¦¿ÜÇÏ°í) OpenLDAP¸¦ --enable-debug(default) ¿É¼ÇÀ» °®°í ¼³Á¤Çß¾î¾ß ÇÑ´Ù. ·Î±× ·¹º§Àº ºÎ°¡ÀûÀÌ´Ù. ¾î¶² ¼ýÀÚ°¡ ¾î¶² Á¾·ùÀÇ µð¹ö±ë¿¡ ÇØ´çµÇ´Â Áö¸¦ Ãâ·ÂÇϱâÀ§ÇØ -? À» ¿É¼Ç°ú ÇÔ²² 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 backends 2048 print entry parsing debugging ¿¹: loglevel 255 or loglevel -1 ÀÌ´Â ¸Å¿ì ¸¹Àº µð¹ö±ë Á¤º¸°¡ sysloggedµÇ°Ô ÇÒ °ÍÀÌ´Ù. Default: loglevel 256 objectclass ÀÌ Áö½Ã´Â °´Ã¼ Ŭ·¡½º¸¦ Á¤ÀÇÇÑ´Ù. referral ÀÌ Áö½Ã´Â ¿äûÀ» ó¸®ÇÏ´Â ·ÎÄà µ¥ÀÌŸº£À̽º¸¦ ãÀ»¼ö ¾øÀ» ¶§ µ¹·Áº¸³»´Â referralÀ» ÁöÁ¤ÇÑ´Ù. ¿¹: referral ldap://root.openldap.org ÀÌ´Â non-local ÁúÀÇ¿¡ ´ëÇØ OpenLDAP ÇÁ·ÎÁ§Æ®ÀÇ Àü¿ª ·çÆ® LDAP ¼­¹ö¸¦ ÂüÁ¶Ç϶ó´Â °ÍÀ» ÀǹÌÇÑ´Ù. Smart LDAP Ŭ¶óÀ̾ðÆ®´Â ±× ¼­¹ö¿¡ ÁúÀǸ¦ ÀçÂ÷ ¿äûÇÒ °ÍÀÌÁö¸¸, ´ëºÎºÐÀÇ Å¬¶óÀ̾ðÆ®´Â È£½ºÆ® ºÎºÐ°ú ¼±ÅÃÀûÀ¸·Î ±¸º°µÇ´Â À̸§ ºÎºÐÀ» Æ÷ÇÔÇÏ´Â °£´ÜÇÑ LDAP URLsÀ» ó¸®ÇÏ´Â ¹æ¹ýÀ» ¾Ë·Á°í ÇÑ´Ù´Â °ÍÀ» ÁÖ¸ñÇÏ±æ ¹Ù¶õ´Ù. sizelimit ÀÌ Áö½Ã´Â °Ë»ö ¿¬»ê½Ã ¸®ÅϵǴ ÃÖ´ë ¿£Æ®¸®¼ö¸¦ ÁöÁ¤ÇÑ´Ù. Default: sizelimit 500 timelimit ÀÌ Áö½Ã´Â slapd°¡ °Ë»ö ¿äû¿¡ ´äº¯ÇϱâÀ§ÇØ ¾µ ¼ö ÀÖ´Â ÃÖ´ë½Ã°£(½ÇÁ¦½Ã°£, ÃÊ)À» ÁöÁ¤ÇÑ´Ù. ¿äûÀÌ ÀÌ ½Ã°£ ³»¿¡ Á¾°áµÇÁö ¾Ê´Â´Ù¸é ÃÊ°úµÈ timelimitÀ» ÁöÀûÇÏ´Â °á°ú°¡ ¸®Å쵃 °ÍÀÌ´Ù. Default: timelimit 3600 3.3. ÀϹÝÀûÀÎ ¹é¿£µå ¿É¼Ç ÀÌ ÀýÀÇ Áö½ÃµéÀº ¿À·ÎÁö ±×µéÀÌ Á¤ÀÇµÈ ¹é¿£µå¿¡¸¸ Àû¿ëµÇ´Âµ¥ ¸ðµç Á¾·ùÀÇ ¹é¿£µå°¡ ÀÌ Áö½ÃµéÀ» Áö¿øÇÑ´Ù. ¹é¿£µå Áö½Ã´Â °°Àº À¯ÇüÀÇ ¸ðµç µ¥ÀÌÅͺ£À̽º ÀνºÅϽº¿¡ Àû¿ëµÇÁö¸¸ ¾î¶² Áö½Ã³Ä¿¡ µû¶ó µ¥ÀÌÅͺ£À̽º Áö½Ã¿¡ ÀÇÇØ ¹«È¿È­µÉ ¼ö ÀÖ´Ù. backend ÀÌ Áö½Ã´Â ¹é¿£µå Á¤ÀÇÀÇ ½ÃÀÛÀ» ³ªÅ¸³½´Ù. Àº ldbm, shell, passwd ¶Ç´Â ´Ù¸¥ Áö¿øµÇ´Â ¹é¿£µå À¯Çü Áß Çϳª¿©¾ß ÇÑ´Ù. 3.4. ÀϹÝÀûÀÎ µ¥ÀÌŸº£À̽º Áö½Ã ÀÌ ÀýÀÇ Áö½ÃµéÀº ¿À·ÎÁö ±×µéÀÌ Á¤ÀÇµÈ µ¥ÀÌŸº£À̽º¿¡¸¸ Àû¿ëµÇ´Âµ¥ ¸ðµç Á¾·ùÀÇ µ¥ÀÌŸº£À̽º°¡ ÀÌ Áö½ÃµéÀ» Áö¿øÇÑ´Ù. database ÀÌ Áö½Ã´Â »õ·Î¿î µ¥ÀÌÅͺ£À̽º ÀνºÅϽº Á¤ÀÇÀÇ ½ÃÀÛÀ» ³ªÅ¸³½´Ù. Àº ldbm, shell, passwd ¶Ç´Â ´Ù¸¥ Áö¿øµÇ´Â ¹é¿£µå ÇüÅÂÁßÀÇ Çϳª¿©¾ßÇÑ´Ù. ¿¹: database ldbm ÀÌ´Â LDBM ¹é¿£ µ¥ÀÌÅͺ£À̽º ÀνºÅϽº Á¤ÀÇÀÇ ½ÃÀÛÀ» ³ªÅ¸³½´Ù. readonly { on | off } ÀÌ Áö½Ã´Â µ¥ÀÌÅͺ£À̽º¸¦ "read-only" ¸ðµå·Î ¸¸µç´Ù. µ¥ÀÌÅͺ£À̽º¸¦ ¼öÁ¤ÇÏ·Á´Â ¸ðµç ½Ãµµ´Â "unwilling to perform"" ¿¡·¯¸¦ Ãâ·ÂÇÒ °ÍÀÌ´Ù. Default: readonly off replica host=[:] [bindmethod={ simple | kerberos | sasl }] ["binddn="] [mech=] [authcid=] [authzid=] [credentials=] [srvtab=] ÀÌ Áö½Ã´Â µ¥ÀÌÅͺ£À̽ºÀÇ º¹»çº» »çÀÌÆ®¸¦ ÁöÁ¤ÇÑ´Ù. host= º¯¼ö´Â È£½ºÆ®¿Í ¿É¼ÇÀ¸·Î slave slapd ÀνºÅϽº¸¦ ãÀ» ¼ö ÀÖ´Â Æ÷Æ®¸¦ ÁöÁ¤ÇÑ´Ù. ¿¡´Â µµ¸ÞÀÎ ³×ÀÓ ¶Ç´Â IP ÁÖ¼Ò°¡ »ç¿ëµÉ ¼ö ÀÖ´Ù. °¡ ÁöÁ¤µÇÁö ¾ÊÀ¸¸é Ç¥ÁØ LDAP Æ÷Æ® ³Ñ¹ö(389)°¡ »ç¿ëµÈ´Ù. binddn= º¯¼ö´Â slave slapd¿¡ °»½ÅÀ» À§ÇØ bindÇÒ DNÀ» ÁØ´Ù. ÀÌ´Â ÀϹÝÀûÀ¸·Î slaveÀÇ config ÆÄÀÏ¿¡ rootdnÀ¸·Î ÁÖ¾îÁö´Âµ¥ slave slapd µ¥ÀÌÅͺ£À̽º¿¡ ´ëÇÑ Àбâ/¾²±â ¿¢¼¼½º¸¦ °®´Â DN À̾î¾ß ÇÑ´Ù. ¶ÇÇÑ slave slapd config ÆÄÀϳ»ÀÇ updatedn Áö½Ã¿Í ÀÏÄ¡ÇØ¾ß ÇÑ´Ù. DNÀº Áß°£¿¡ space¸¦ Æ÷ÇÔÇÒ ¼ö Àֱ⶧¹®¿¡ Àüü "binddn=" ¹®ÀÚ¿­Àº ÀÌÁß ÀοëºÎÈ£·Î ¿¡¿ö½Î¾ß ÇÑ´Ù. bindmethod´Â slave slapd¿¡ ¿¬°áÇÒ ¶§ °£´ÜÇÑ Æнº¿öµå¿¡ ±âÃÊÇÑ ÀÎÁõ, Kerberos ÀÎÁõ ¶Ç´Â SASL ÀÎÁõÀÌ »ç¿ëµÇ´ÂÁö¿¡ µû¶ó simple, kerveros ¶Ç´Â sasl ÀÌ´Ù. Simple ÀÎÁõÀº ÀûÀýÇÑ ¹«°á¼º°ú ÇÁ¶óÀ̹ö½Ã º¸È£°¡ Àû´ç(¿¹, TLS ¶Ç´Â IPSEC)ÇÏÁö ¾Ê´Ù¸é »ç¿ëÇÏÁö ¾Ê¾Æ¾ß ÇÑ´Ù. Simple ÀÎÁõÀº binddn°ú credential º¯¼öÀÇ ¸í¼¼ »çÇ×À» ÇÊ¿ä·Î ÇÑ´Ù. Kerberos ÀÎÁõÀº SASL ÀÎÁõ ±â±¸, ƯÈ÷ KERBEROUS_V4¿Í GSSAPI ±â±¸¿¡ ºñÇØ ±×´ÙÁö ÁöÁö¹ÞÁö ¸øÇÏ°í ÀÖ´Ù. Kerberos ÀÎÁõÀº binddn°ú srvtab º¯¼ö¸¦ ÇÊ¿ä·Î ÇÑ´Ù. SASL ÀÎÁõÀÌ ÀϹÝÀûÀ¸·Î ÃßõµÇ´Âµ¥ mech º¯¼ö¸¦ »ç¿ëÇÏ´Â ±â±¸ÀÇ ¸í¼¼ »çÇ×À» ÇÊ¿ä·Î ÇÑ´Ù. ¸ÞÄ«´ÏÁò¿¡ µû¶ó ÀÎÁõ identity ¿Í/¶Ç´Â credentials´Â °¢°¢ authcid¿Í credentialsÀ» »ç¿ëÇÏ¿© ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù. authzid º¯¼ö°¡ Àΰ¡(authorization) identity¸¦ ÁöÁ¤Çϱâ À§ÇØ »ç¿ëµÉ ¼öµµ ÀÖ´Ù. replogfile ÀÌ Áö½Ã´Â slapd°¡ º¯°æ»çÇ×µéÀ» ±â·ÏÇÒ º¹»çº» ·Î±× ÆÄÀÏÀÇ À̸§À» ÁöÁ¤ÇÑ´Ù. replication ·Î±×ÆÄÀÏÀº ÀϹÝÀûÀ¸·Î slapd¿¡ ÀÇÇØ ÀÛ¼ºµÇ¸ç slurpd¿¡ ÀÇÇØ ÀÐÇôÁø´Ù. º¸Åë ÀÌ Áö½Ã´Â slurpd°¡ µ¥ÀÌÅͺ£À̽º¸¦ º¹»çÇϱâ À§ÇØ »ç¿ëµÇ´Â °æ¿ì¸¸ »ç¿ëµÈ´Ù. ±×·¯³ª slurpd°¡ ÀÛµ¿µÇÁö ¾Ê´õ¶óµµ Æ®·£Àè¼Ç(transaction) ·Î±×¸¦ »ý¼ºÇϱâ À§ÇØ À̸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù. ÀÌ °æ¿ì ÆÄÀÏÀÌ ¹«ÇÑÁ¤ Ä¿Áú ¼ö Àֱ⠶§¹®¿¡ ÁÖ±âÀûÀ¸·Î ÆÄÀÏÀ» truncateÇÒ ÇÊ¿ä°¡ ÀÖ´Ù. rootdn ÀÌ Áö½Ã´Â µ¥ÀÌÅͺ£À̽º¿¡¼­ ÀÛ¾÷À» Çϱâ À§ÇÑ ¿¢¼¼½º Á¦¾î ¶Ç´Â °ü¸®»óÀÇ ÇÑ°è Á¦ÇÑÀ» ÇÊ¿ä·Î ÇÏÁö¾Ê´Â DNÀ» ÁöÁ¤ÇÑ´Ù. DNÀº µð·ºÅ丮ÀÇ ¿£Æ®¸®¸¦ ÂüÁ¶ÇÒ ÇÊ¿ä°¡ ¾ø´Ù. DNÀº SASL identity¸¦ ÂüÁ¶ÇÒ ¼ö ÀÖ´Ù. Entry-based Example: rootdn "cn=Manager, dc=example, dc=com" SASL-based Example: rootdn "uid=root@EXAMPLE.COM" rootpw ÀÌ Áö½Ã´Â ÁÖ¾îÁø DNÀ» °¡Áø ¿£Æ®¸®°¡ Á¸ÀçÇÏ´ÂÁö ¶Ç´Â Æнº¿öµå¸¦ °®´ÂÁö¿¡ »ó°ü¾øÀÌ À§¿¡¼­ ÁÖ¾îÁø DN¿¡ ´ëÇØ Ç×»ó ÀÛ¿ëÇÒ Æнº¿öµå¸¦ ÁöÁ¤ÇÑ´Ù. ÀÌ Áö½Ã´Â SASL¿¡ ±âÃÊÇÑ ÀÎÁõ¿¡ ºñÇØ ±×´ÙÁö ÁöÁö¹ÞÁö ¸øÇÏ°í ÀÖ´Ù. ¿¹: rootpw secret suffix ÀÌ Áö½Ã´Â ¹é¿£µå µ¥ÀÌÅͺ£À̽º¿¡ º¸³»Áú ÁúÀÇÀÇ DN Á¢¹Ì»ç¸¦ ÁöÁ¤ÇÑ´Ù. ´ÙÁß Á¢¹Ì»ç ¶óÀÎÀÌ ÁÖ¾îÁú ¼ö ÀÖÀ¸¸ç °¢ µ¥ÀÌÅͺ£À̽º Á¤ÀǸ¦ À§ÇØ Àû¾îµµ Çϳª°¡ ÇÊ¿äÇÏ´Ù. ¿¹: suffix "dc=example, dc=com" "dc=example, dc=com"·Î ³¡³ª´Â ÁúÀÇ°¡ ÀÌ ¹é¿£·Î º¸³»Áú °ÍÀÌ´Ù. Note: ÁúÀǸ¦ ³Ñ°ÜÁÙ ¹é¿£µå°¡ ¼±ÅÃµÉ ¶§ °¢ µ¥ÀÌÅͺ£À̽º Á¤ÀÇ¿¡¼­ ÁÖ¾îÁø ¼ø¼­´ë·Î suffix ¶óÀÎÀ» ã´Â´Ù. µû¶ó¼­ ÇÑ µ¥ÀÌÅͺ£À̽º suffix°¡ ´Ù¸¥ °ÍÀÇ prefix¶ó¸é config ÆÄÀÏ¿¡¼­ ³ªÁß¿¡ ³ªÅ¸³ª¾ß ÇÑ´Ù. updatedn ÀÌ Áö½Ã´Â ´ÜÁö 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" updateref ÀÌ Áö½Ã´Â ´ÜÁö slave slapd ¿¡¸¸ ÇØ´çµÈ´Ù. ÀÌ´Â replica¿¡ ´ëÇÑ °»½Å ¿äûÀ» Á¦ÃâÇϴ Ŭ¶óÀ̾ðÆ®¿¡ ´äº¯ÇÏ´Â URLÀ» ÁöÁ¤ÇÑ´Ù. ¿©·¯¹ø ÁöÁ¤ÇÏ·Á¸é °¢°¢ÀÇ URLÀ» ³õ´Â´Ù. ¿¹: update ldap://master.example.net 3.5. LDBM ¹é¿£µå ƯÁ¤Àû Áö½Ã ÀÌ Ç׸ñÀÇ Áö½Ã´Â ´ÜÁö LDBM ¹é¿£ µ¥ÀÌÅͺ£À̽º¿¡ Àû¿ëµÇ¸ç "database ldbm" ¶óÀÎ µÚ ¹× ¾î¶² ´Ù¸¥ "database" ¶óÀÎ ¾Õ¿¡ ³õ¿©¾ß ÇÑ´Ù. cachesize ÀÌ Áö½Ã´Â LDBM ¹é¿£µå µ¥ÀÌÅͺ£À̽º ÀνºÅϽº¿¡ ÀÇÇØ À¯ÁöµÇ´Â in-memory cache ¿£Æ®¸®ÀÇ Å©±â¸¦ ÁöÁ¤ÇÑ´Ù. Default: cachesize 1000 dbcachesize ÀÌ Áö½Ã´Â °¢ ¿ÀÇ À妽º ÆÄÀÏ°ú °ü·ÃµÈ in-memory cacheÀÇ ¹ÙÀÌÆ® Å©±â¸¦ ÁöÁ¤ÇÑ´Ù. ±âº»ÀûÀÎ µ¥ÀÌÅͺ£À̽º ¹æ¹ýÀÌ Áö¿øÇÏÁö ¾Ê´Â´Ù¸é ÁÖ¼®Ã³¸®¾øÀÌ ¹«½ÃµÈ´Ù. ÀÌ ¼ýÀÚÀÇ Áõ°¡´Â ´õ¸¹Àº ¸Þ¸ð¸® »ç¿ëÀ» ÀǹÌÇÏÁö¸¸ ƯÈ÷ À妽º º¯°æÁß ¶Ç´Â ±¸ÃàÇÒ ¶§ È¿°úÀûÀÎ ¼º´ÉÇâ»óÀ» °¡Á®¿Ã °ÍÀÌ´Ù. Default: dbcachesize 100000 dbnolocking ÀÌ ¿É¼ÇÀº Á¸ÀçÇÑ´Ù¸é µ¥ÀÌÅͺ£À̽º locking ±â´ÉÀ» ¾ïÁ¦ÇÑ´Ù. ÀÌ ¿É¼ÇÀ» ÀÛµ¿½ÃÅ°¸é µ¥ÀÌÅÍ º¸¾ÈÀ» ³·Ã߸鼭 ¼º´ÉÀ» Çâ»ó½Ãų °ÍÀÌ´Ù. dbnosync ÀÌ ¿É¼ÇÀº µð½ºÅ©»óÀÇ µ¥ÀÌÅͺ£À̽º ³»¿ëÀÌ ¸Þ¸ð¸®³»¿¡¼­ ¹Ù²î´Â º¯°æ¿¡ Áï°¢ÀûÀ¸·Î µ¿±âÈ­µÇÁö ¾Êµµ·Ï ÇÑ´Ù. ÀÌ ¿É¼ÇÀÇ È°¼ºÈ­´Â µ¥ÀÌÅÍ º¸¾ÈÀ» ³·ÃßÁö¸¸ ¼º´ÉÀ» Çâ»ó½Ãų °ÍÀÌ´Ù. directory ÀÌ Áö½Ã´Â µ¥ÀÌÅͺ£À̽º¿Í °ü·Ã À妽º¸¦ Æ÷ÇÔÇÏ´Â LDBM ÆÄÀÏÀÌ ³õÀÌ´Â µð·ºÅ丮¸¦ ÁöÁ¤ÇÑ´Ù. Default: directory /usr/local/var/openldap-ldbm index { | default} [pres,eq,approx,sub,none] ÀÌ Áö½Ã´Â ÁÖ¾îÁø ¼Ó¼º¿¡ ´ëÇØ À¯ÁöÇÒ À妽º¸¦ ÁöÁ¤ÇÑ´Ù. ´ÜÁö °¡ ÁÖ¾îÁø´Ù¸é µðÆúÆ® À妽º°¡ À¯ÁöµÈ´Ù. ¿¹: index default pres,eq index objectClass,uid index cn,sn eq,sub,approx ù ¹ø° ¶óÀÎÀº present¿Í equality¿¡ À¯ÁöÇÒ µðÆúÆ® À妽º ÁýÇÕÀ» ¼³Á¤ÇÑ´Ù. µÎ ¹ø° ¶óÀÎÀº µðÆúÆ®(pret,eq) À妽º ÁýÇÕÀÌ objectClass¿Í uid ¼Ó¼º ÇüŸ¦ À§ÇØ À¯ÁöµÇµµ·Ï ÇÑ´Ù. ¼¼ ¹ø° ¶óÀÎÀº equality, substring¿Í approximate À妽ºµéÀÌ cn°ú sn ¼Ó¼º ÇüŸ¦ À§ÇØ À¯ÁöµÇµµ·Ï ÇÑ´Ù. mode ÀÌ Áö½Ã´Â »õ·ÎÀÌ »ý¼ºµÈ µ¥ÀÌÅͺ£À̽º À妽º ÆÄÀÏÀÌ °¡Á®¾ß ÇÏ´Â ÆÄÀÏ º¸È£ ¸ðµå¸¦ ÁöÁ¤ÇÑ´Ù. Default: mode 0600 3.6. ´Ù¸¥ ¹é¿£µå µ¥ÀÌŸº£À̽º slapd´Â µðÆúÆ® LDBM ÀÌ¿Ü¿¡µµ ¸¹Àº ¹é¿£µå µ¥ÀÌÅͺ£À̽º ÇüŸ¦ Áö¿øÇÑ´Ù: o ldbm: Berkeley or GNU DBM compatible backend o passwd: Provides read-only access to /etc/passwd o shell: Shell (extern program) backend o sql: SQL Programmable backend ¼¼ºÎ»çÇ×À» ¾Ë±â À§Çؼ­´Â slapd.conf(5) ¸Å´º¾ó ÆäÀÌÁö¸¦ º¸±æ ¹Ù¶õ´Ù. 3.7. ¿¢¼¼½º Á¦¾î ¿¹ ``3.2Àý''¿¡ ¼³¸íÇÑ ¿¢¼¼½º Á¦¾î Áö½Ã´Â ¸Å¿ì °­·ÂÇѵ¥ ÀÌ ÀýÀº ¿¢¼¼½º Á¦¾î »ç¿ëÀÇ ¸î ¿¹¸¦ º¸¿©ÁØ´Ù. ¿ì¼±, ¾à°£ÀÇ °£´ÜÇÑ ¿¹µé: access to * by * read ÀÌ ¿¢¼¼½º Áö½Ã´Â ¸ðµç »ç¶÷¿¡°Ô Àб⠿¢¼¼½º¸¦ Çã¿ëÇÑ´Ù. ÀÌ Áö½Ã°¡ ´Üµ¶À¸·Î ³ªÅ¸³ª¸é ´ÙÀ½ÀÇ defaultaccess ¶óÀΰú °°´Ù. defaultaccess read ´ÙÀ½ ¿¹´Â ¼ø¼­°¡ Áß¿äÇÑ µÎ ¿¢¼¼½º Áö½Ã¿¡¼­ DN¿¡ ÀÇÇØ ¿£Æ®¸®¸¦ ¼±ÅÃÇÏ´Â Á¤±Ô Ç¥Çö »ç¿ëÀÇ ¿¹¸¦ º¸¿©ÁØ´Ù. access to dn=".*, o=U of M, c=US" by * search access to dn=".*, c=US" by * read °Ë»ö ¿¢¼¼½º°¡ Çã¿ëµÈ "o=University of Michigan, c=US" ÇÏÀ§ Æ®¸®ÇÏÀÇ ¿£Æ®¸®¸¦ Á¦¿ÜÇÑ c=Us ÇÏÀ§ Æ®¸®ÇÏÀÇ ¿£Æ®¸®¿¡ Àб⠿¢¼¼½º°¡ Çã¿ëµÈ´Ù. ÀÌ·¯ÇÑ ¿¢¼¼½º Áö½ÃÀÇ ¼ø¼­°¡ ¹ÝÀüµÇ¸é, ¸ðµç U-M ¿£Æ®¸®¿Í c=US ¿£Æ®¸®°¡ µ¿ÀÏÇϱ⠶§¹®¿¡ U-M ƯÁ¤Àû Áö½Ã´Â Àý´ë·Î ºÎÇÕµÉ ¼ö ¾ø´Ù. ´ÙÀ½ ¿¹ ¶ÇÇÑ ¿¢¼¼½º Áö½Ã¿Í "by" Àý(clause)ÀÇ ¼ø¼­ÀÇ Á߿伺À» º¸¿©Áִµ¥ ƯÁ¤ ¼Ó¼º°ú ´Ù¾çÇÑ ¼±ÅÃÀÚ¿¡ ´ëÇÑ ¿¢¼¼½º¸¦ Çã¿ëÇÏ´Â ¼Ó¼º ¼±ÅÃÀÚ »ç¿ëÀÇ ¿¹¸¦ º¸¿©ÁØ´Ù. 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 ÀÌ ¿¹´Â "o=U of M, c=US" ÇϺΠƮ¸®³»ÀÇ ¿£Æ®¸®¿¡ Àû¿ëµÈ´Ù. homePhone¸¦ Á¦¿ÜÇÑ ¸ðµç ¼Ó¼ºµé¿¡ ´ëÇØ ¿£Æ®¸®°¡ ¼Ó¼ºµéÀ» ¾µ ¼ö ÀÖ°í, ´Ù¸¥ U-M ¿£Æ®¸®´Â ¼Ó¼ºµé¿¡ ÀÇÇØ °Ë»öµÇ¸ç ¾î´À ´©±¸µµ ¿¢¼¼½º¸¦ ÇÏÁö ¸øÇÑ´Ù. homePhone ¼Ó¼ºÀº ¿£Æ®¸®¿¡ ÀÇÇØ ¾µ ¼ö ÀÖ°í, ´Ù¸¥ U-M ¿£Æ®¸®¿¡ ÀÇÇØ °Ë»öÇÒ ¼ö ÀÖ°í, umich.edu µµ¸ÞÀÎ »ó¿¡¼­ ¿¬°áÇϴ Ŭ¶óÀ̾ðÆ®¿¡ ÀÇÇØ ÀÐÀ» ¼ö ÀÖ°í, ´Ù¸¥ ¸ðµç »ç¶÷¿¡ ÀÇÇØ ºñ±³ÇÒ ¼ö ÀÖ´Ù. ¶§¶§·Î ƯÁ¤ DN¿¡ ÀÚ½ÅÀÇ ¼Ó¼ºÀ» Ãß°¡ ¶Ç´Â »èÁ¦ÇÒ ¼ö ÀÖ´Â ±ÇÇÑÀ» ÁÖ´Â °ÍÀÌ À¯¿ëÇÏ´Ù. ¿¹¸¦ µé¾î ±×·ìÀ» »ý¼ºÇؼ­ »ç¶÷µé·Î ÇÏ¿©±Ý member ¼Ó¼º¿¡¼­ ±×µé ¼ÒÀ¯ÀÇ DNÀ» Ãß°¡ ¹× »èÁ¦ÇÒ ¼ö ÀÖ°Ô Çã¿ëÇÏ°í ½Í´Ù¸é ´ÙÀ½ÀÇ ¿¢¼¼½º Áö½Ã¸¦ ÀÌ¿ëÇØ ¼öÇàÇÒ ¼ö ÀÖ´Ù: access to attr=member,entry by dnattr=member selfwrite dnattr ¼±ÅÃÀÚ´Â ¿¢¼¼½º°¡ member ¼Ó¼º¿¡ ¸®½ºÆ®µÈ ¿£Æ®¸®¿¡ Àû¿ëµÊÀ» ¸»ÇØÁØ´Ù. selfwrite ¿¢¼¼½º ¼±ÅÃÀÚ´Â ±× memberµéÀÌ ´Ù¸¥ °ªÀ» Á¦¿ÜÇÑ ±×µéÀÇ DN °ª¸¸À» ¼Ó¼º¿¡ Ãß°¡ ¹× »èÁ¦ÇÒ ¼ö ÀÖÀ½À» ¸»ÇØÁØ´Ù. ¾î¶² ¿£Æ®¸® ¼Ó¼ºÀÇ ¿¢¼¼½º¸¦ À§Çؼ­´Â ¿£Æ®¸® ¿¢¼¼½º°¡ ÇÊ¿äÇϱ⠶§¹®¿¡ ¿£Æ®¸® ¼Ó¼ºÀÇ Ãß°¡°¡ ÇÊ¿äÇÏ´Ù. Àý¿¡¼­ attr=member ´Â "dn=* attr=member" Àý(Áï ÀÌ°ÍÀº ¸ðµç ¿£Æ®¸®¿¡ member ¼Ó¼º°ú ºÎÇյȴÙ)ÀÇ ¼Ó±âÀÓÀ» ÁÖ¸ñÇϱ⠹ٶõ´Ù. Note:LdapÀÇ ¿¢¼¼½º Á¦¾î¿¡ ´ëÇØ ´õ ¸¹Àº °ÍÀ» ¹è¿ì±â À§ÇØ ÀÇ OpenLDAP °ü¸®ÀÚ ÁöħÀ» º¸¶ó. 3.8. ¼³Á¤ ÆÄÀÏ ¿¹ ´ÙÀ½Àº ¼³¸í ÅؽºÆ®°¡ µé¾îÀÖ´Â ¼³Á¤ ÆÄÀÏ ¿¹Á¦ÀÌ´Ù. ÀÌ´Â X.500 Æ®¸®ÀÇ ¿©·¯ ºÎºÐµéÀ» ´Ù·ç±â À§ÇØ LDBM µ¥ÀÌŸº£À̽º ÀνºÅϽºÀÎ µÎ °³ÀÇ µ¥ÀÌÅͺ£À̽º¸¦ Á¤ÀÇÇÑ´Ù. ¶óÀÎ ¼ýÀÚ´Â ÂüÁ¶¸¦ À§ÇÑ °ÍÀ¸·Î ½ÇÁ¦ ÆÄÀÏ¿¡´Â ¾ø´Ù. ¿ì¼± Àü¿ªÀû ¼³Á¤ ºÎºÐ: o 1. # example config file - global configuration section o 2. include /usr/local/etc/schema/core.schema o 3. referral ldap://root.openldap.org o 4. access to * by * read ¶óÀÎ 1Àº ÁÖ¼®ÀÌ´Ù. ¶óÀÎ 2´Â ÇÙ½É ½ºÅ°¸¶ Á¤ÀǸ¦ °®´Â ´Ù¸¥ config ÆÄÀÏÀ» Æ÷ÇÔÇÑ´Ù. ¶óÀÎ 3ÀÇ referral Áö½Ã´Â ¹Ø¿¡ Á¤ÀÇµÈ µ¥ÀÌÅͺ£À̽º Áß Çϳª¿¡ Áö¿ªÀûÀÌ ¾Æ´Ñ ÁúÀÇ´Â root.openldap.org È£½ºÆ®ÀÇ Ç¥ÁØ Æ÷Æ®(389)¿¡¼­ ÀÛµ¿µÇ´Â LDAP ¼­¹ö¸¦ ÂüÁ¶ÇÒ °ÍÀÓÀ» ÀǹÌÇÑ´Ù. ¶óÀÎ 4´Â Àü¿ªÀû ¿¢¼¼½º Á¦¾î·Î ºÎÇյǴ µ¥ÀÌÅͺ£À̽º ¿¢¼¼½º Á¦¾î°¡ ¾ø°Å³ª ¶Ç´Â Ÿ°Ù °´Ã¼°¡ Root DSE¿Í °°Àº ÀÓÀÇÀÇ µ¥ÀÌÅͺ£À̽ºÀÇ Á¦¾îÇÏ¿¡ ¾øÀ»¶§¸¸ »ç¿ëµÈ´Ù. ¼³Á¤ ÆÄÀÏÀÇ ´ÙÀ½ ºÎºÐÀº Æ®¸®ÀÇ "dc=example,dc=com" ºÎºÐ¿¡ ÀÖ´Â ³»¿ë¿¡ ´ëÇÑ ÁúÀǸ¦ ´Ù·ê LDBM ¹é¿£µå¸¦ Á¤ÀÇÇÑ´Ù. µ¥ÀÌÅͺ£À̽º´Â °¢°¢ truelies¿Í judgementday µÎ °³ÀÇ slapd ¿¡ º¹»çµÉ °ÍÀÌ´Ù. À妽º´Â ¿©·¯ ¼Ó¼ºÀ» À§ÇØ À¯ÁöµÇ¸ç userPassword ¼Ó¼ºÀº Àΰ¡¹ÞÁö ¸øÇÑ ¿¢¼¼½º¿¡ ´ëÇØ º¸È£µÈ´Ù. o 5. # ldbm definition for the example.com o 6. database ldbm o 7. suffix "dc=example, dc=com" o 8. directory /usr/local/var/openldap o 9. rootdn "cn=Manager, dc=example, dc=com" o 10. rootpw secret o 11. # replication directives o 12. replogfile /usr/local/var/openldap/slapd.replog o 13. replica host=slave1.example.com:389 o 14. binddn="cn=Replicator, dc=example, dc=com" o 15. bindmethod=simple credentials=secret o 16. replica host=slave2.example.com o 17. binddn="cn=Replicator, dc=example, dc=com" o 18. bindmethod=simple credentials=secret o 19. # indexed attribute definitions o 20. index uid pres,eq o 21. index cn,sn,uid pres,eq,approx,sub o 22. index objectClass eq o 23. # ldbm access control definitions o 24. access to attr=userPassword o 25. by self write o 26. by anonymous auth o 27. by dn="cn=Admin,dc=example,dc=com" write o 28. by * none o 29. access to * o 30. by self write o 31. by dn="cn=Admin,dc=example,dc=com" write o 32. by * read ¶óÀÎ 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¿¡ ÀÖ´Â Àü¿ªÀû ¿¢¼¼½º ±ÔÄ¢ ¶§¹®¿¡ Àб⠿¢¼¼½º°¡ Çã¿ëµÉ ¼ö ÀÖÀ½À» ÁÖ¸ñÇϱ⠹ٶõ´Ù. o 33. # ldbm definition for example.net o 34. database ldbm o 35. suffix "dc=example, dc=net" o 36. directory /usr/local/var/ldbm-example-net o 37. rootdn "cn=Manager, dc=example, dc=com" o 38. access to * by users read 4. LDAP ¼­¹ö ±¸µ¿Çϱâ slapd´Â ½ºÅÄµå ¾ó·Ð ¼­¹ö·Î¼­ ÀÛµ¿µÇµµ·Ï ¼³°èµÇ¾î ÀÖ¾î ¼­¹ö°¡ ij½Ì ÀÌ¿ë, ±âº» µ¥ÀÌÅͺ£À̽º¿ÍÀÇ µ¿½Ã ÀÛ¿ë ¹®Á¦ ó¸® ¹× ½Ã½ºÅÛ ÀÚ¿ø º¸È£¸¦ ÇÒ ¼ö ÀÖ´Ù. inetd(8)·ÎºÎÅÍÀÇ ÀÛµ¿Àº ¿É¼ÇÀÌ ¾Æ´Ï´Ù. 4.1. Command Line Options slapd´Â ¸Þ´º¾ó ÆäÀÌÁö¿¡ »ó¼¼È÷ ¼³¸íµÈ ¹Ù¿Í °°ÀÌ ¸¹Àº command-line ¿É¼ÇÀ» Áö¿øÇÑ´Ù. ÀÌ ÀýÀº ÀϹÝÀûÀ¸·Î ÀÚÁÖ »ç¿ëµÇ´Â ¾à°£ÀÇ ¿É¼ÇÀ» »ó¼¼È÷ ¼³¸íÇÑ´Ù: -f ÀÌ ¿É¼ÇÀº slapd¿¡ ´ëÇÑ ´ëü ±¸¼º ÆÄÀÏÀ» Áö¿øÇÑ´Ù. µðÆúÆ®´Â º¸Åë /usr/local/etc/openldap/slapd.conf ÆÄÀÏÀÌ´Ù. -h ÀÌ ¿É¼ÇÀº ´ëü 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 ÇüÅ ¶Ç´Â È£½ºÆ® ³×ÀÓÀ» »ç¿ëÇÏ¿© ÁöÁ¤µÉ ¼ö ÀÖ´Ù. Æ÷Æ®°ªÀº ¼öÄ¡¿©¾ß ÇÑ´Ù. -n ÀÌ ¿É¼ÇÀº ·Î±ë°ú ´Ù¸¥ ¸ñÀûÀ» À§ÇØ »ç¿ëµÇ´Â ¼­ºñ½º À̸§À» ÁöÁ¤ÇÑ´Ù. µðÆúÆ® ¼­ºñ½º À̸§Àº slapdÀÌ´Ù. -l ÀÌ ¿É¼ÇÀº syslog(8) ¿¡ ´ëÇÑ ·ÎÄà »ç¿ëÀÚ¸¦ ÁöÁ¤ÇÑ´Ù. LOCAL0, LOCAL1, LOCAL2,..., ¿Í LOCAL7ÀÌ °ªÀÌ ÀÖ´Ù. µðÆúÆ®´Â LOCAL4ÀÌ´Ù. ÀÌ ¿É¼ÇÀº ¸ðµç ½Ã½ºÅÛ¿¡¼­ Áö¿øµÇÁö ¾ÊÀ» ¼ö ÀÖ´Ù. -u user -g group ÀÌ ¿É¼ÇµéÀº °¢°¢ ¼­¹ö¸¦ ÀÛµ¿ÇÏ´Â »ç¿ëÀÚ¿Í ±×·ìÀ» ÁöÁ¤ÇÑ´Ù. »ç¿ëÀÚ¿Í ±×·ìÀº °¢°¢ »ç¿ëÀÚ ¹× ±×·ì À̸§°ú uid ¹× gid ÀÏ ¼ö ÀÖ´Ù. -r directory ÀÌ ¿É¼ÇÀº ·±Å¸ÀÓ µð·ºÅ丮¸¦ ÁöÁ¤ÇÑ´Ù. slapd´Â listenerÀ» ¿ÀÇÂÇÑ ÈÄ ±×·¸Áö¸¸ ¾î¶² ±¸¼ºÆÄÀÏÀ» Àбâ Àü ¶Ç´Â ¾î¶² ¹é¿£µå¸¦ ÃʱâÈ­Çϱâ Àü¿¡ ÀÌ µð·ºÅ丮·Î chroot(2) ÇÒ °ÍÀÌ´Ù. -d | ? ÀÌ ¿É¼ÇÀº slapd µð¹ö±× ·¹º§À» ·Î ¼³Á¤ÇÑ´Ù. ·¹º§ÀÌ `?' ¹®ÀÚÀÏ ¶§´Â ¼±ÅÃÇÑ ¿É¼Ç¿¡ »ó°ü¾øÀÌ ´Ù¾çÇÑ µð¹ö±ë ·¹º§ÀÌ Ãâ·ÂµÇ¸ç 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). ´õ ¸¹Àº ¼¼ºÎ»çÇ×À» ¾Ë±â À§Çؼ­´Â ÆÄÀÏÀ» Âü°íÇÏ±æ ¹Ù¶õ´Ù. Note: slapd°¡ µÎ stats ·¹º§ ÀÌ»óÀÇ ÀÓÀÇÀÇ µð¹ö±ë Á¤º¸¸¦ ÀÌ¿ëÇÒ ¼ö ÀÖµµ·Ï Á¤ÀÇµÈ -DLDAP_DEBUG ¿É¼ÇÀ» °®°í ÄÄÆÄÀϵǾîÀÖ¾î¾ß ÇÑ´Ù. 4.2. LDAP ¼­¹ö ½ÃÀÛÇϱâ ÀϹÝÀûÀ¸·Î slapd ´Â ´ÙÀ½°ú °°ÀÌ ±¸µ¿½ÃŲ´Ù: /usr/local/etc/libexec/slapd [