· KLDP.org · KLDP.net · KLDP Wiki · KLDP BBS ·
Linuxdoc Sgml/LDAP-HOWTO

LDAP Linux HOWTO

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. ¼Ò°³

ÀÌ ¹®¼­´Â 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 Ç¥ÁØÀº ´ÙÀ½°ú °°Àº ±âº» ÇüÅÂÀÇ °´Ã¼ Ŭ·¡½º¸¦ Á¦°øÇÑ´Ù:

  • °³º° °´Ã¼ ¶Ç´Â °´Ã¼ ±×·ìÀÇ Á¤·ÄµÇÁö ¾ÊÀº ¸®½ºÆ®¸¦ Æ÷ÇÔÇÏ°í ÀÖ´Â µð·ºÅ丮³» ±×·ì
  • ±¹°¡¸í°ú ¼³¸í(description)°ú °°Àº Àå¼Ò
  • µð·ºÅ丮³» Á¶Á÷
  • µð·ºÅ丮³» »ç¶÷

¿£Æ®¸®´Â Çϳª ÀÌ»óÀÇ °´Ã¼ Ŭ·¡½º¿¡ ¼ÓÇÒ ¼ö Àִµ¥, ¿¹¸¦ µé¸é »ç¶÷¿¡ ´ëÇÑ ¿£Æ®¸®´Â 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) Á¤ÀǸ¦ °®´Â´Ù:

  • bin binary (¹ÙÀ̳ʸ®)
  • ces case exact string (case´Â ºñ±³½Ã ÀÏÄ¡ÇØ¾ß ÇÑ´Ù)
  • cis case ignore string (case´Â ºñ±³½Ã ¹«½ÃµÈ´Ù)
  • tel telephone number string (cis¿Í °°Áö¸¸ ºñ±³½Ã °ø¹é°ú ´ë½Ã±âÈ£ `-' ´Â ¹«½ÃµÈ´Ù)
  • dn distinguished name (±¸º°µÇ´Â À̸§)

Objectclass¿Í ¼Ó¼º Á¤ÀǵéÀÌ ½Ã½ºÅÛÀÇ ¾îµð¿¡ ÀÖ´ÂÁö¸¦ ¾Ë±â À§Çؼ­´Â 3Àý ÀÇ Ã¹ ¹®´ÜÀ¸·Î °¡¶ó.

1.5 ¹®¼­ÀÇ »õ·Î¿î ¹öÀü

ÀÌ ¹®¼­´Â µ¶Àڵ鿡 ÀÇÇØ Á¦°øµÇ´Â Çǵå¹é¿¡ ±âÃÊÇØ ¼öÁ¤°ú °»½ÅµÉ ¼ö ÀÖ´Ù. ÀÌ ¹®¼­ÀÇ »õ·Î¿î ¹öÀü¿¡ ´ëÇؼ­´Â ´ÙÀ½À» ÂüÁ¶ÇØ¾ß ÇÑ´Ù:

http://www.mobilesoft.com.br/HOWTO/LDAP-HOWTO.html

1.6 ÀÇ°ß°ú Á¦¾È

ÀÌ ¹®¼­¿¡¼­ »ç¿ëÇÒ ¼ö ÀÖ´Â ¾î¶² Á¤º¸¿¡ ´ëÇØ ¾î¶² ÀDZ¸½ÉÀÌ ÀÖ´Ù¸é ´ÙÀ½ ÀüÀÚ¿ìÆí ÁÖ¼Ò·Î ¸ÞÀÏÀ» º¸³»ÁÖ±æ ¹Ù¶õ´Ù.

malere@yahoo.com

ÁÖ¼®°ú/¶Ç´Â Á¦¾ÈÀÌ ÀÖ´Ù¸é ¶ÇÇÑ ÀúÀÚ¿¡°Ô ¾Ë·ÁÁÖ±æ ¹Ù¶õ´Ù.

1.7 ¹®¼­ ¹ßÇ¥ ±â·Ï

ÀÌ ÀýÀº ½Ã±âº°·Î ºÐ·ùµÈ º» ¹ßÇ¥ ¹®¼­¸¦ ¿­°ÅÇÑ´Ù. °¢ ¹ßÇ¥ ¹®¼­´Â Ãʱ⠹öÀü¿¡ µµÀÔµÈ º¯°æ, »õ·Î¿î Ãß°¡ »çÇ× ¹× ¼öÁ¤À» Æ÷ÇÔÇÑ´Ù.

v1.0: 20 June 1999, Initial version.

v1.01: 15 February 2000, added the following sections:

  • LDAP Migration Tools
  • Authentication using LDAP
  • Graphical LDAP tools
  • RFCs
v1.02: 13 September 2000, correction of typos and addition of the following section:
  • 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:
  • Roaming Access
  • 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Àº ´ÙÀ½ »çÀÌÆ®¿¡¼­ ±¸ÇÒ ¼ö ÀÖ´Ù.

http://www.openssl.org/

Kerberos Authentication Services

OpenLDAP Ŭ¶óÀ̾ðÆ®¿Í ¼­¹ö´Â Kerberos¿¡ ±âÃÊÇÑ ÀÎÁõ ¼­ºñ½º¸¦ Áö¿øÇϴµ¥ ƯÈ÷ Heimdal ¶Ç´Â MIT Kerberos V ÆÐÅ°Áö¸¦ ÀÌ¿ëÇÑ SASL/GSAPI ÀÎÁõ ±â±¸¸¦ Áö¿øÇÑ´Ù. Kerberos¿¡ ±âÃÊÇÑ SASL/GSSAPI ÀÎÁõÀ» »ç¿ëÇÏ°í ½Í´Ù¸é Heimdal ¶Ç´Â MIT Kerberos V¸¦ ¼³Ä¡ÇØ¾ß ÇÑ´Ù. Heimdal Kerbero´Â http://www.pdc.kth.se/heimdal·ÎºÎÅÍ ±¸ÇÒ ¼ö ÀÖ´Ù.

MIT Kerberos´Â http://web.mit.edu/kerberos/www·ÎºÎÅÍ ±¸ÇÒ ¼ö ÀÖ´Ù. Kerberos°¡ Á¦°øÇÏ´Â °Í°ú °°Àº °­·ÂÇÑ ÀÎÁõ ¼­ºñ½ºÀÇ »ç¿ëÀ» °­·ÂÈ÷ ÃßõÇÑ´Ù.

Cyrus's Simple Authentication and Security Layer Libraries

¾î¶² ¿î¿µÃ¼Á¦°¡ ÀÌ ¶óÀ̺귯¸®¸¦ ±âº» ½Ã½ºÅÛÀÇ ºÎºÐ ¶Ç´Â ¼±ÅÃÀûÀÎ ¼ÒÇÁÆ®¿þ¾î ÄÄÆ÷³ÍÆ®·Î Á¦°øÇÒ ¼ö ÀÖÁö¸¸, Cyrus SASLÀº Á¾Á¾ º°µµÀÇ ¼³Ä¡¸¦ ÇÊ¿ä·Î ÇÑ´Ù. Cyrus SASLÀº http://asg.web.cmu.edu/sasl/sasl-library.html·ÎºÎÅÍ ±¸ÇÒ ¼ö ÀÖ´Ù. Cyrus SASLÀº OpenSSL°ú Kerberos/GSSAPI ¶óÀ̺귯¸®°¡ ¹Ì¸® ¼³Ä¡µÇ¾î ÀÖ´Ù¸é À̵éÀ» »ç¿ëÇÒ °ÍÀÌ´Ù.

Database Software

OpenLDAPÀÇ slapd ±âº» µ¥ÀÌÅͺ£À̽º ¹é¿£µåÀÎ LDBMÀº ¿£Æ®¸® ÀúÀåÀ» À§ÇØ È£È¯¼º µ¥ÀÌŸº£À̽º ÆÐÅ°Áö¸¦ ÇÊ¿ä·Î ÇÑ´Ù. LDBMÀº Sleepycat ¼ÒÇÁÆ®¿þ¾îÀÇ BerkeleyDB(Ãßõ) ¶Ç´Â ÀÚÀ¯ ¼ÒÇÁÆ®¿þ¾î Àç´Ü(FSF, Free Software Foundation)ÀÇ GNU µ¥ÀÌŸº£À̽º ¸Å´ÏÀú(GDBM)¿Í ȣȯµÈ´Ù. ÀÌ·¯ÇÑ ÆÐÅ°ÁöµéÀ» ¼³Á¤½Ã ÀÌ¿ëÇÒ ¼ö ¾ø´Ù¸é ±âº» µ¥ÀÌŸº£À̽º ¹é¿£µå Áö¿øÀ» ÇÏ´Â slapd µ¥¸óÀ» ±¸ÃàÇÒ ¼ö ¾øÀ» °ÍÀÌ´Ù.

¿î¿µÃ¼Á¦°¡ ±âº» ½Ã½ºÅÛ³»¿¡¼­ ¶Ç´Â ¼±ÅÃÀûÀÎ ¼ÒÇÁÆ®¿þ¾î ÄÄÆ÷³ÍÆ®·Î½á µÎ ÆÐÅ°Áö Áß Çϳª¸¦ Á¦°øÇÒ ¼ö Àִµ¥ ÀÌ·¯ÇÑ ¼ÒÇÁÆ®¿þ¾î¸¦ ±¸Çؼ­ ¼³Ä¡ÇÒ ÇÊ¿ä°¡ ÀÖ´Ù.

BerkekeyDB ´Â Sleepycat ¼ÒÇÁÆ®¿þ¾îÀÇ ´Ù¿î·Îµå ÆäÀÌÁö ttp://www.sleepycat.com/download.html·ÎºÎÅÍ ±¸ÇÒ ¼ö ÀÖ´Ù. ¿©·¯ ¹öÀüÀ» ÀÌ¿ëÇÒ ¼ö Àִµ¥ ÀÌ ¹®¼­¸¦ ÀÛ¼ºÇÏ´Â ½ÃÁ¡¿¡´Â ÃֽŠ¹èÆ÷º» ¹öÀü 3.1 ÀÌ ÃßõµÈ´Ù.

GDBMÀº FSFÀÇ ´Ù¿î·Îµå »çÀÌÆ® ftp://ftp.gnu.org/pub/gnu/gdbm·ÎºÎÅÍ ±¸ÇÒ ¼ö Àִµ¥ ÀÌ ¹®¼­¸¦ ÀÛ¼ºÇÏ´Â ½ÃÁ¡¿¡´Â ¹öÀü 1.8 ÀÌ ÃֽŠ¹èÆ÷º»ÀÌ´Ù.

Threads

OpenLDAP´Â ¾²·¹µå¸¦ ÀÌ¿ëÇÒ ¼ö ÀÖµµ·Ï ¼³°èµÇ¾î Àִµ¥ POSIX pthreads, Mach CThreads¿Í ¸¹Àº ´Ù¸¥ º¯ÇüµéÀ» Áö¿øÇÑ´Ù. configure ½ºÅ©¸³Æ®°¡ ÀûÇÕÇÑ ¾²·¹µå ÇÏÀ§ ½Ã½ºÅÛÀ» ãÀ» ¼ö ¾ø´Ù¸é ¿¡·¯ ¸Þ¼¼Áö¸¦ Ãâ·ÂÇϴµ¥ ÀÌ·± °æ¿ì OpenLDAP FAQÀÇ ¼ÒÇÁÆ®¿þ¾î - ¼³Ä¡ - Ç÷§Æû ÈùÆ® ÀýÀ» ÂüÁ¶ÇÏ±æ ¹Ù¶õ´Ù.

http://www.openldap.org/faq

TCP Wrappers

slapd´Â TCP wrappers(IP ·¹º§ ¿¢¼¼½º Á¦¾î ÇÊÅÍ)°¡ ÀÌ¹Ì ¼³Ä¡µÇ¾î ÀÖ´Ù¸é À̸¦ Áö¿øÇϴµ¥ °³ÀÎÀûÀÎ ºñ°ø°³ Á¤º¸¸¦ Æ÷ÇÔÇÏ´Â ¼­¹ö º¸¾ÈÀ» À§ÇØ TCP wrappers ¶Ç´Â ´Ù¸¥ IP ·¹º§ ¿¢¼¼½º ÇÊÅÍ(IP ·¹º§ ¹æÈ­º®ÀÌ Á¦°øÇÏ´Â °Í°ú °°Àº) »ç¿ëÀ» ÃßõÇÑ´Ù.

2.2 ÆÐÅ°Áö ´Ù¿î·Îµå ¹Þ±â

LDAP ¼­¹ö·Î´Â Michigan ´ëÇÐ LDAP ¼­¹ö¿Í OpenLDAP ¼­¹ö µÎ Á¾·ùÀÇ ÀÚÀ¯·ÎÀÌ ¹èÆ÷µÇ´Â LDAP ¼­¹ö°¡ ÀÖÀ¸¸ç ¶ÇÇÑ ³Ý½ºÄÉÀÌÇÁ µð·ºÅ丮 ¼­¹öµµ ¾î¶² Á¶°ÇÇÏ¿¡¼­´Â ÀÚÀ¯·ÎÀÌ »ç¿ëÇÒ ¼ö ÀÖ´Ù(¿¹¸¦ µé¸é ±³À°±â°üÀº ÀÚÀ¯·ÎÀÌ ¾òÀ» ¼ö ÀÖ´Ù). OpenLDAP ¼­¹ö´Â Michigan ´ëÇÐ LDAP ¼­¹öÀÇ ÃֽŠ¹öÀü¿¡ ±âÃÊÇϴµ¥ ±× ¹öÀü¿¡ ´ëÇØ ÀÌ¿ëÇÒ ¼ö ÀÖ´Â ¸ÞÀϸµ ¸®½ºÆ®¿Í ºÎ°¡Àû ¹®¼­°¡ ÀÖ´Ù. ÀÌ ¹®¼­´Â OpenLDAP ¼­¹öÀÇ »ç¿ëÀ» °¡Á¤ÇÑ´Ù.

ÃֽŠtar gzipped ¹öÀüÀº ´ÙÀ½ ÁÖ¼Ò¿¡¼­ ±¸ÇÒ ¼ö ÀÖ´Ù:

http://www.openldap.org/

Michigan ´ëÇÐ LDAP ¼­¹öÀÇ ÃֽŠ¹öÀüÀº ´ÙÀ½ ÁÖ¼Ò¿¡¼­ ±¸ÇÒ ¼ö ÀÖ´Ù:

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 ¿´´Ù.

2.3 ÆÐÅ°Áö ¾ÐÃàÇØÁ¦ Çϱâ

tar gzipped ÆÐÅ°Áö¸¦ ±¸ÇÑ ÈÄ ¾ÐÃàÇØÁ¦ÇÑ´Ù.

¿ì¼± ÆÐÅ°Áö¸¦ ¿øÇÏ´Â µð·ºÅ丮, ¿¹¸¦ µé¸é /usr/local, ·Î º¹»çÇÏ±æ ¹Ù¶õ´Ù.

±×¸®°í ´ÙÀ½ÀÇ ¸í·ÉÀ» »ç¿ëÇÏ±æ ¹Ù¶õ´Ù:

tar xvzf openldap-stable.tgz
 

¸¶Âù°¡Áö·Î ´ÙÀ½ ¸í·ÉÀ» »ç¿ëÇÒ ¼öµµ ÀÖ´Ù:

 gunzip openldap-stable.tgz | tar xvf -

2.4 ¼ÒÇÁÆ®¿þ¾î ¼³Á¤Çϱâ

À¥»çÀÌÆ®¿¡ ÃÖÀûÀÇ ¼ÒÇÁÆ®¿þ¾î¸¦ ¼³Ä¡ÇÒ ¼ö ÀÖµµ·Ï °³º°È­(customization)ÇÒ ¼ö ÀÖ´Â ¿©·¯ ¿É¼ÇµéÀÌ ÀÖ´Ù.

¼ÒÇÁÆ®¿þ¾î´Â ´ÜÁö µÎ ´Ü°è¿¡ ÀÇÇØ ¼³Á¤µÈ´Ù:

  • ¼ÒÇÁÆ®¿þ¾î¸¦ ¾ÐÃàÇØÁ¦ÇÑ µð·ºÅ丮 ¹ØÀÇ ÇÏÀ§ µð·ºÅ丮 include¿¡ À§Ä¡ÇÑ ldapconfig.h.edit ÆÄÀÏÀ» ÆíÁýÇÑ´Ù
  • 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 ÀÇ ÁÖµÈ Æ¯Â¡Àº ´ÙÀ½°ú °°´Ù:

  • LDAPv2 and LDAPv3 Support (RFC2251-2256,2829-2831)
  • Maintenance of interoperability with existing clients
  • IPv4 and IPv6 support
  • Strong Authentication (SASL) (RFC2829)
  • Start TLS (RFC2830)
  • Language Tags (RFC2596)
  • DNS-based service location (RFC2247+"locate" I-D)
  • Enhanced Standalone Server
  • Named References/ManageDsaIT ("nameref" I-D)
  • Enhanced Access Control subsystem
  • Thread pooling
  • Preemptive threading support
  • Multiple listener support
  • LDIFv1 (RFC2849)
  • 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
<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
...

¼³Á¤ Áö½Ã´Â Àμö¸¦ ÃëÇÒ ¼ö Àִµ¥ white space¿¡ ÀÇÇØ ±¸ºÐÇÑ´Ù. Àμö°¡ white space¸¦ Æ÷ÇÔÇÑ´Ù¸é "like this"¿Í °°ÀÌ ÀÌÁß ÀοëºÎÈ£·Î ¿¡¿ö½Î¾ß ÇÑ´Ù. Àμö°¡ ÀÌÁß ÀοëºÎÈ£ ¶Ç´Â ¿ª½½·¡½¬¹®ÀÚ `\'¸¦ Æ÷ÇÔÇÏ¸é ¿ª½½·¡½¬ ¹®ÀÚ°¡ ÀÌµé ¹®ÀÚ ¾Õ¿¡ ÀÖ¾î¾ß ÇÑ´Ù.

¹èÆ÷ÆÇÀº /usr/local/etc/openldap µð·ºÅ丮¿¡ ¼³Ä¡µÉ ¼ö ÀÖ´Â ¼³Á¤ ÆÄÀÏÀÇ ¿¹¸¦ Æ÷ÇÔÇÑ´Ù. ½ºÅ°¸¶ Á¤ÀÇ(¼Ó¼º ÇüÅÂ¿Í °´Ã¼ Ŭ·¡½º)¸¦ Æ÷ÇÔÇÑ ´Ù¼öÀÇ ÆÄÀϵéÀº /usr/local/etc/openldap/schema µð·ºÅ丮¿¡ ¼³Ä¡µÈ´Ù.

3.2 Àü¿ªÀû Áö½Ã

ÀÌ Àý¿¡ ±â¼úµÈ Áö½ÃµéÀº ¹é¿£µå ¶Ç´Â µ¥ÀÌŸº£À̽º Á¤ÀÇ¿¡¼­ Ưº°È÷ ¹«È¿È­µÇÁö ¾Ê´Â´Ù¸é ¸ðµç ¹é¿£µå¿¡ Àû¿ëµÈ´Ù. ½ÇÁ¦ ÅؽºÆ®¿¡ ÀÇÇØ ´ëüµÇ´Â ÀμöµéÀº <> °ýÈ£³»¿¡ ÀÖ´Ù.

access to <what> [ by <who> <accesslevel> <control> ]+

ÀÌ Áö½Ã´Â ÇÑ¸í ¶Ç´Â ±× ÀÌ»óÀÇ ¿äûÀÚ(<who>¿¡ ÀÇÇØ ÁöÁ¤µÈ)¿¡ ÀÇÇÑ ÀÏ·ÃÀÇ ¿£Æ®¸®¿Í/¶Ç´Â ¼Ó¼º(<what>¿¡ ÀÇÇØ
ÁöÁ¤µÈ)¿¡ ´ëÇÑ ¿¢¼¼½º(<accesslevel>¿¡ ÀÇÇØ ÁöÁ¤µÈ)¸¦ Çã¿ëÇÑ´Ù. ¼¼ºÎ»çÇ×À» ¾Ë°í ½Í´Ù¸é ¿¢¼¼½º Á¦¾î ¿¹¸¦
º¸±æ ¹Ù¶õ´Ù.
attributetype <RFC2252 Attribute Type Description>
ÀÌ Áö½Ã´Â ¼Ó¼º ÇüŸ¦ Á¤ÀÇÇÑ´Ù.
defaultaccess { none | compare | search | read | write }
ÀÌ Áö½Ã´Â ¿¢¼¼½º Áö½Ã°¡ ÁöÁ¤µÇÁö ¾Ê¾ÒÀ» ¶§ ¿äûÀÚ¿¡°Ô Çã¿ëµÈ default ¿¢¼¼½º¸¦ ÁöÁ¤ÇÑ´Ù. ÀÓÀÇÀÇ
ÁÖ¾îÁø ¿¢¼¼½º ·¹º§Àº ¸ðµç ÇÏÀ§ ¿¢¼¼½º ·¹º§À» ³»Æ÷ÇÑ´Ù (¿¹, Àб⠿¢¼¼½º´Â °Ë»ö°ú ºñ±³¸¦ ³»Æ÷ÇÏÁö¸¸
¾²±â¸¦ ³»Æ÷ÇÏÁö´Â ¾Ê´Â´Ù).

Default:
defaultaccess read
idletimeout <integer>
À¯ÈÞ Å¬¶óÀ̾ðÆ® ¿¬°áÀ» °­Á¦·Î Á¾·áÇϱâ Àü¿¡ ±â´Ù¸®´Â ½Ã°£(ÃÊ)À» ÁöÁ¤ÇÑ´Ù. Default·Î 0ÀÇ°ªÀÇ ideltimeoutÀº
ÀÌ Æ¯Â¡À» ÀÛµ¿½ÃÅ°Áö ¾Ê´Â´Ù.
include <filename>
ÀÌ Áö½Ã´Â ÇöÀç ÆÄÀÏÀÇ ´ÙÀ½ ¶óÀÎÀ» °è¼Ó ÁøÇàÇϱâ Àü¿¡ slapd µ¥¸óÀÌ ÁÖ¾îÁø ÆÄÀϷκÎÅÍ ºÎ°¡ÀûÀÎ ¼³Á¤ Á¤º¸¸¦
Àоî¾ß ÇÔÀ» ÁöÁ¤ÇÑ´Ù. IncludedµÈ ÆÄÀÏÀº ÀϹÝÀûÀÎ slapd config ÆÄÀÏ Æ÷¸ËÀ» µû¶ó¾ßÇÑ´Ù. ÆÄÀÏÀº ÀϹÝÀûÀ¸·Î
½ºÅ°¸¶ ¸í¼¼»çÇ×(specification)À» °®°íÀÖ´Â ÆÄÀϵéÀ» Æ÷ÇÔÇϱâÀ§ÇØ »ç¿ëµÈ´Ù.
Note: ³»Æ÷ include Áö½ÃÀÇ ¼ö¿¡ Á¦ÇÑÀÌ ¾øÀ¸¸ç ·çÇÁ(loop) ŽÁö°¡ ÇàÇØÁöÁö ¾Ê±â ¶§¹®¿¡ ÀÌ Áö½Ã¸¦ »ç¿ëÇÒ ¶§´Â ÁÖÀÇÇØ¾ß ÇÑ´Ù.

loglevel <integer>

º» Áö½Ã´Â µð¹ö±ë º¸°í¼­(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
objectclass <RFC2252 Object Class Description>
ÀÌ Áö½Ã´Â °´Ã¼ Ŭ·¡½º¸¦ Á¤ÀÇÇÑ´Ù.
referral <URI>
ÀÌ Áö½Ã´Â ¿äûÀ» ó¸®ÇÏ´Â ·ÎÄà µ¥ÀÌŸº£À̽º¸¦ ãÀ»¼ö ¾øÀ» ¶§ µ¹·Áº¸³»´Â referralÀ» ÁöÁ¤ÇÑ´Ù.

¿¹:
referral ldap://root.openldap.org

ÀÌ´Â non-local ÁúÀÇ¿¡ ´ëÇØ OpenLDAP ÇÁ·ÎÁ§Æ®ÀÇ Àü¿ª ·çÆ® LDAP ¼­¹ö¸¦ ÂüÁ¶Ç϶ó´Â °ÍÀ» ÀǹÌÇÑ´Ù. Smart LDAP 
Ŭ¶óÀ̾ðÆ®´Â ±× ¼­¹ö¿¡ ÁúÀǸ¦ ÀçÂ÷ ¿äûÇÒ °ÍÀÌÁö¸¸, ´ëºÎºÐÀÇ Å¬¶óÀ̾ðÆ®´Â È£½ºÆ® ºÎºÐ°ú ¼±ÅÃÀûÀ¸·Î
±¸º°µÇ´Â À̸§ ºÎºÐÀ» Æ÷ÇÔÇÏ´Â °£´ÜÇÑ LDAP URLsÀ» ó¸®ÇÏ´Â ¹æ¹ýÀ» ¾Ë·Á°í ÇÑ´Ù´Â °ÍÀ» ÁÖ¸ñÇÏ±æ ¹Ù¶õ´Ù.
sizelimit <integer>
ÀÌ Áö½Ã´Â °Ë»ö ¿¬»ê½Ã ¸®ÅϵǴ ÃÖ´ë ¿£Æ®¸®¼ö¸¦ ÁöÁ¤ÇÑ´Ù.

Default:
sizelimit 500
timelimit <integer>
ÀÌ Áö½Ã´Â slapd°¡ °Ë»ö ¿äû¿¡ ´äº¯ÇϱâÀ§ÇØ ¾µ ¼ö ÀÖ´Â ÃÖ´ë½Ã°£(½ÇÁ¦½Ã°£, ÃÊ)À» ÁöÁ¤ÇÑ´Ù. ¿äûÀÌ ÀÌ ½Ã°£
³»¿¡ Á¾°áµÇÁö ¾Ê´Â´Ù¸é ÃÊ°úµÈ timelimitÀ» ÁöÀûÇÏ´Â °á°ú°¡ ¸®Å쵃 °ÍÀÌ´Ù.

Default:
timelimit 3600

3.3 ÀϹÝÀûÀÎ ¹é¿£µå ¿É¼Ç

ÀÌ ÀýÀÇ Áö½ÃµéÀº ¿À·ÎÁö ±×µéÀÌ Á¤ÀÇµÈ ¹é¿£µå¿¡¸¸ Àû¿ëµÇ´Âµ¥ ¸ðµç Á¾·ùÀÇ ¹é¿£µå°¡ ÀÌ Áö½ÃµéÀ» Áö¿øÇÑ´Ù. ¹é¿£µå Áö½Ã´Â °°Àº À¯ÇüÀÇ ¸ðµç µ¥ÀÌÅͺ£À̽º ÀνºÅϽº¿¡ Àû¿ëµÇÁö¸¸ ¾î¶² Áö½Ã³Ä¿¡ µû¶ó µ¥ÀÌÅͺ£À̽º Áö½Ã¿¡ ÀÇÇØ ¹«È¿È­µÉ ¼ö ÀÖ´Ù.

backend <type>

ÀÌ Áö½Ã´Â ¹é¿£µå Á¤ÀÇÀÇ ½ÃÀÛÀ» ³ªÅ¸³½´Ù. <type>Àº ldbm, shell, passwd ¶Ç´Â ´Ù¸¥ Áö¿øµÇ´Â ¹é¿£µå À¯Çü Áß
Çϳª¿©¾ß ÇÑ´Ù.

3.4 ÀϹÝÀûÀÎ µ¥ÀÌŸº£À̽º Áö½Ã

ÀÌ ÀýÀÇ Áö½ÃµéÀº ¿À·ÎÁö ±×µéÀÌ Á¤ÀÇµÈ µ¥ÀÌŸº£À̽º¿¡¸¸ Àû¿ëµÇ´Âµ¥ ¸ðµç Á¾·ùÀÇ µ¥ÀÌŸº£À̽º°¡ ÀÌ Áö½ÃµéÀ» Áö¿øÇÑ´Ù.

database <type>

ÀÌ Áö½Ã´Â »õ·Î¿î µ¥ÀÌÅͺ£À̽º ÀνºÅϽº Á¤ÀÇÀÇ ½ÃÀÛÀ» ³ªÅ¸³½´Ù. <type>Àº ldbm, shell, passwd ¶Ç´Â ´Ù¸¥
Áö¿øµÇ´Â ¹é¿£µå ÇüÅÂÁßÀÇ Çϳª¿©¾ßÇÑ´Ù.

¿¹:
database ldbm

ÀÌ´Â LDBM ¹é¿£ µ¥ÀÌÅͺ£À̽º ÀνºÅϽº Á¤ÀÇÀÇ ½ÃÀÛÀ» ³ªÅ¸³½´Ù.
readonly { on | off }
ÀÌ Áö½Ã´Â µ¥ÀÌÅͺ£À̽º¸¦ "read-only" ¸ðµå·Î ¸¸µç´Ù. µ¥ÀÌÅͺ£À̽º¸¦ ¼öÁ¤ÇÏ·Á´Â ¸ðµç ½Ãµµ´Â
"unwilling to perform"" ¿¡·¯¸¦ Ãâ·ÂÇÒ °ÍÀÌ´Ù.

Default:
readonly off
replica host=<hostname>[:<port>] [bindmethod={ simple | kerberos | sasl }] ["binddn=<DN>"] [mech=<mech>] [authcid=<identity>] [authzid=<identity>] [credentials=<password>] [srvtab=<filename>]
ÀÌ Áö½Ã´Â µ¥ÀÌÅͺ£À̽ºÀÇ º¹»çº» »çÀÌÆ®¸¦ ÁöÁ¤ÇÑ´Ù. host= º¯¼ö´Â È£½ºÆ®¿Í ¿É¼ÇÀ¸·Î slave slapd ÀνºÅϽº¸¦ 
ãÀ» ¼ö ÀÖ´Â Æ÷Æ®¸¦ ÁöÁ¤ÇÑ´Ù. <hostname>¿¡´Â µµ¸ÞÀÎ ³×ÀÓ ¶Ç´Â IP ÁÖ¼Ò°¡ »ç¿ëµÉ ¼ö ÀÖ´Ù. <port>°¡ ÁöÁ¤µÇÁö
¾ÊÀ¸¸é Ç¥ÁØ LDAP Æ÷Æ® ³Ñ¹ö(389)°¡ »ç¿ëµÈ´Ù.
binddn= º¯¼ö´Â slave slapd¿¡ °»½ÅÀ» À§ÇØ bindÇÒ DNÀ» ÁØ´Ù. ÀÌ´Â ÀϹÝÀûÀ¸·Î slaveÀÇ config ÆÄÀÏ¿¡ rootdnÀ¸·Î
ÁÖ¾îÁö´Âµ¥ slave slapd µ¥ÀÌÅͺ£À̽º¿¡ ´ëÇÑ Àбâ/¾²±â ¿¢¼¼½º¸¦ °®´Â DN À̾î¾ß ÇÑ´Ù. ¶ÇÇÑ slave slapd config
ÆÄÀϳ»ÀÇ updatedn Áö½Ã¿Í ÀÏÄ¡ÇØ¾ß ÇÑ´Ù. DNÀº Áß°£¿¡ space¸¦ Æ÷ÇÔÇÒ ¼ö Àֱ⶧¹®¿¡ Àüü "binddn=<DN>" ¹®ÀÚ¿­Àº
ÀÌÁß ÀοëºÎÈ£·Î ¿¡¿ö½Î¾ß ÇÑ´Ù.
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 <filename>
ÀÌ Áö½Ã´Â slapd°¡ º¯°æ»çÇ×µéÀ» ±â·ÏÇÒ º¹»çº» ·Î±× ÆÄÀÏÀÇ À̸§À» ÁöÁ¤ÇÑ´Ù. replication ·Î±×ÆÄÀÏÀº
ÀϹÝÀûÀ¸·Î slapd¿¡ ÀÇÇØ ÀÛ¼ºµÇ¸ç slurpd¿¡ ÀÇÇØ ÀÐÇôÁø´Ù. º¸Åë ÀÌ Áö½Ã´Â slurpd°¡ µ¥ÀÌÅͺ£À̽º¸¦ º¹»çÇϱâ
À§ÇØ »ç¿ëµÇ´Â °æ¿ì¸¸ »ç¿ëµÈ´Ù. ±×·¯³ª slurpd°¡ ÀÛµ¿µÇÁö ¾Ê´õ¶óµµ Æ®·£Àè¼Ç(transaction) ·Î±×¸¦ »ý¼ºÇϱâ
À§ÇØ À̸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù. ÀÌ °æ¿ì ÆÄÀÏÀÌ ¹«ÇÑÁ¤ Ä¿Áú ¼ö Àֱ⠶§¹®¿¡ ÁÖ±âÀûÀ¸·Î ÆÄÀÏÀ» truncateÇÒ
ÇÊ¿ä°¡ ÀÖ´Ù.
rootdn <dn>
ÀÌ Áö½Ã´Â µ¥ÀÌÅͺ£À̽º¿¡¼­ ÀÛ¾÷À» Çϱâ À§ÇÑ ¿¢¼¼½º Á¦¾î ¶Ç´Â °ü¸®»óÀÇ ÇÑ°è Á¦ÇÑÀ» ÇÊ¿ä·Î ÇÏÁö¾Ê´Â DNÀ»
ÁöÁ¤ÇÑ´Ù. DNÀº µð·ºÅ丮ÀÇ ¿£Æ®¸®¸¦ ÂüÁ¶ÇÒ ÇÊ¿ä°¡ ¾ø´Ù. DNÀº SASL identity¸¦ ÂüÁ¶ÇÒ ¼ö ÀÖ´Ù.

Entry-based Example:
rootdn "cn=Manager, dc=example, dc=com"

SASL-based Example:
rootdn "uid=root@EXAMPLE.COM"
rootpw <password>
ÀÌ Áö½Ã´Â ÁÖ¾îÁø DNÀ» °¡Áø ¿£Æ®¸®°¡ Á¸ÀçÇÏ´ÂÁö ¶Ç´Â Æнº¿öµå¸¦ °®´ÂÁö¿¡ »ó°ü¾øÀÌ À§¿¡¼­ ÁÖ¾îÁø DN¿¡ ´ëÇØ
Ç×»ó ÀÛ¿ëÇÒ Æнº¿öµå¸¦ ÁöÁ¤ÇÑ´Ù. ÀÌ Áö½Ã´Â SASL¿¡ ±âÃÊÇÑ ÀÎÁõ¿¡ ºñÇØ ±×´ÙÁö ÁöÁö¹ÞÁö ¸øÇÏ°í ÀÖ´Ù.

¿¹:
rootpw secret
suffix <dn suffix>
ÀÌ Áö½Ã´Â ¹é¿£µå µ¥ÀÌÅͺ£À̽º¿¡ º¸³»Áú ÁúÀÇÀÇ DN Á¢¹Ì»ç¸¦ ÁöÁ¤ÇÑ´Ù. ´ÙÁß Á¢¹Ì»ç ¶óÀÎÀÌ ÁÖ¾îÁú ¼ö ÀÖÀ¸¸ç
°¢ µ¥ÀÌÅͺ£À̽º Á¤ÀǸ¦ À§ÇØ Àû¾îµµ Çϳª°¡ ÇÊ¿äÇÏ´Ù.

¿¹:
suffix "dc=example, dc=com"

"dc=example, dc=com"·Î ³¡³ª´Â ÁúÀÇ°¡ ÀÌ ¹é¿£·Î º¸³»Áú °ÍÀÌ´Ù.

Note: ÁúÀǸ¦ ³Ñ°ÜÁÙ ¹é¿£µå°¡ ¼±ÅÃµÉ ¶§ °¢ µ¥ÀÌÅͺ£À̽º Á¤ÀÇ¿¡¼­ ÁÖ¾îÁø ¼ø¼­´ë·Î suffix ¶óÀÎÀ» ã´Â´Ù.
µû¶ó¼­ ÇÑ µ¥ÀÌÅͺ£À̽º suffix°¡ ´Ù¸¥ °ÍÀÇ prefix¶ó¸é config ÆÄÀÏ¿¡¼­ ³ªÁß¿¡ ³ªÅ¸³ª¾ß ÇÑ´Ù.
updatedn <dn>
ÀÌ Áö½Ã´Â ´ÜÁö 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 <URL>

ÀÌ Áö½Ã´Â ´ÜÁö slave slapd ¿¡¸¸ ÇØ´çµÈ´Ù. ÀÌ´Â replica¿¡ ´ëÇÑ °»½Å ¿äûÀ» Á¦ÃâÇϴ Ŭ¶óÀ̾ðÆ®¿¡ ´äº¯ÇÏ´Â
URLÀ» ÁöÁ¤ÇÑ´Ù. ¿©·¯¹ø ÁöÁ¤ÇÏ·Á¸é °¢°¢ÀÇ URLÀ» ³õ´Â´Ù.

¿¹: update  ldap://master.example.net

3.5 LDBM ¹é¿£µå ƯÁ¤Àû Áö½Ã

ÀÌ Ç׸ñÀÇ Áö½Ã´Â ´ÜÁö LDBM ¹é¿£ µ¥ÀÌÅͺ£À̽º¿¡ Àû¿ëµÇ¸ç "database ldbm" ¶óÀÎ µÚ ¹× ¾î¶² ´Ù¸¥ "database" ¶óÀÎ ¾Õ¿¡ ³õ¿©¾ß ÇÑ´Ù.

cachesize <integer>

ÀÌ Áö½Ã´Â LDBM ¹é¿£µå µ¥ÀÌÅͺ£À̽º ÀνºÅϽº¿¡ ÀÇÇØ À¯ÁöµÇ´Â in-memory cache ¿£Æ®¸®ÀÇ Å©±â¸¦ ÁöÁ¤ÇÑ´Ù.

Default:
cachesize 1000
dbcachesize <integer>
ÀÌ Áö½Ã´Â °¢ ¿ÀÇ À妽º ÆÄÀÏ°ú °ü·ÃµÈ in-memory cacheÀÇ ¹ÙÀÌÆ® Å©±â¸¦ ÁöÁ¤ÇÑ´Ù. ±âº»ÀûÀÎ µ¥ÀÌÅͺ£À̽º
¹æ¹ýÀÌ Áö¿øÇÏÁö ¾Ê´Â´Ù¸é ÁÖ¼®Ã³¸®¾øÀÌ ¹«½ÃµÈ´Ù. ÀÌ ¼ýÀÚÀÇ Áõ°¡´Â ´õ¸¹Àº ¸Þ¸ð¸® »ç¿ëÀ» ÀǹÌÇÏÁö¸¸ ƯÈ÷
À妽º º¯°æÁß ¶Ç´Â ±¸ÃàÇÒ ¶§ È¿°úÀûÀÎ ¼º´ÉÇâ»óÀ» °¡Á®¿Ã °ÍÀÌ´Ù.

Default:
dbcachesize 100000
dbnolocking
ÀÌ ¿É¼ÇÀº Á¸ÀçÇÑ´Ù¸é µ¥ÀÌÅͺ£À̽º locking ±â´ÉÀ» ¾ïÁ¦ÇÑ´Ù. ÀÌ ¿É¼ÇÀ» ÀÛµ¿½ÃÅ°¸é µ¥ÀÌÅÍ º¸¾ÈÀ» ³·Ã߸鼭
¼º´ÉÀ» Çâ»ó½Ãų °ÍÀÌ´Ù.
dbnosync
ÀÌ ¿É¼ÇÀº µð½ºÅ©»óÀÇ µ¥ÀÌÅͺ£À̽º ³»¿ëÀÌ ¸Þ¸ð¸®³»¿¡¼­ ¹Ù²î´Â º¯°æ¿¡ Áï°¢ÀûÀ¸·Î µ¿±âÈ­µÇÁö ¾Êµµ·Ï ÇÑ´Ù.
ÀÌ ¿É¼ÇÀÇ È°¼ºÈ­´Â µ¥ÀÌÅÍ º¸¾ÈÀ» ³·ÃßÁö¸¸ ¼º´ÉÀ» Çâ»ó½Ãų °ÍÀÌ´Ù.
directory <directory>
ÀÌ Áö½Ã´Â µ¥ÀÌÅͺ£À̽º¿Í °ü·Ã À妽º¸¦ Æ÷ÇÔÇÏ´Â LDBM ÆÄÀÏÀÌ ³õÀÌ´Â µð·ºÅ丮¸¦ ÁöÁ¤ÇÑ´Ù.

Default:
directory /usr/local/var/openldap-ldbm
index {<attrlist> | default} [pres,eq,approx,sub,none]
ÀÌ Áö½Ã´Â ÁÖ¾îÁø ¼Ó¼º¿¡ ´ëÇØ À¯ÁöÇÒ À妽º¸¦ ÁöÁ¤ÇÑ´Ù. ´ÜÁö <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 ¼Ó¼º ÇüŸ¦ À§ÇØ À¯ÁöµÇµµ·Ï ÇÑ´Ù.
mode <integer>
ÀÌ Áö½Ã´Â »õ·ÎÀÌ »ý¼ºµÈ µ¥ÀÌÅͺ£À̽º À妽º ÆÄÀÏÀÌ °¡Á®¾ß ÇÏ´Â ÆÄÀÏ º¸È£ ¸ðµå¸¦ ÁöÁ¤ÇÑ´Ù.

Default:
mode 0600

3.6 ´Ù¸¥ ¹é¿£µå µ¥ÀÌŸº£À̽º

slapd´Â µðÆúÆ® LDBM ÀÌ¿Ü¿¡µµ ¸¹Àº ¹é¿£µå µ¥ÀÌÅͺ£À̽º ÇüŸ¦ Áö¿øÇÑ´Ù:

  • ldbm: Berkeley or GNU DBM compatible backend
  • passwd: Provides read-only access to /etc/passwd
  • shell: Shell (extern program) backend
  • 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)ÀÇ ¼ø¼­ÀÇ Á߿伺À» º¸¿©Áִµ¥ ƯÁ¤ ¼Ó¼º°ú ´Ù¾çÇÑ <who> ¼±ÅÃÀÚ¿¡ ´ëÇÑ ¿¢¼¼½º¸¦ Çã¿ëÇÏ´Â ¼Ó¼º ¼±ÅÃÀÚ »ç¿ëÀÇ ¿¹¸¦ º¸¿©ÁØ´Ù.

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 <who> ¼±ÅÃÀÚ´Â ¿¢¼¼½º°¡ member ¼Ó¼º¿¡ ¸®½ºÆ®µÈ ¿£Æ®¸®¿¡ Àû¿ëµÊÀ» ¸»ÇØÁØ´Ù. selfwrite ¿¢¼¼½º ¼±ÅÃÀÚ´Â ±× memberµéÀÌ ´Ù¸¥ °ªÀ» Á¦¿ÜÇÑ ±×µéÀÇ DN °ª¸¸À» ¼Ó¼º¿¡ Ãß°¡ ¹× »èÁ¦ÇÒ ¼ö ÀÖÀ½À» ¸»ÇØÁØ´Ù. ¾î¶² ¿£Æ®¸® ¼Ó¼ºÀÇ ¿¢¼¼½º¸¦ À§Çؼ­´Â ¿£Æ®¸® ¿¢¼¼½º°¡ ÇÊ¿äÇϱ⠶§¹®¿¡ ¿£Æ®¸® ¼Ó¼ºÀÇ Ãß°¡°¡ ÇÊ¿äÇÏ´Ù.

<what>Àý¿¡¼­ attr=member ´Â "dn=* attr=member" Àý(Áï ÀÌ°ÍÀº ¸ðµç ¿£Æ®¸®¿¡ member ¼Ó¼º°ú ºÎÇյȴÙ)ÀÇ ¼Ó±âÀÓÀ» ÁÖ¸ñÇϱ⠹ٶõ´Ù.

Note:LdapÀÇ ¿¢¼¼½º Á¦¾î¿¡ ´ëÇØ ´õ ¸¹Àº °ÍÀ» ¹è¿ì±â À§ÇØ http://openldap.org/ÀÇ OpenLDAP °ü¸®ÀÚ ÁöħÀ» º¸¶ó.

3.8 ¼³Á¤ ÆÄÀÏ ¿¹

´ÙÀ½Àº ¼³¸í ÅؽºÆ®°¡ µé¾îÀÖ´Â ¼³Á¤ ÆÄÀÏ ¿¹Á¦ÀÌ´Ù. ÀÌ´Â X.500 Æ®¸®ÀÇ ¿©·¯ ºÎºÐµéÀ» ´Ù·ç±â À§ÇØ LDBM µ¥ÀÌŸº£À̽º ÀνºÅϽºÀÎ µÎ °³ÀÇ µ¥ÀÌÅͺ£À̽º¸¦ Á¤ÀÇÇÑ´Ù. ¶óÀÎ ¼ýÀÚ´Â ÂüÁ¶¸¦ À§ÇÑ °ÍÀ¸·Î ½ÇÁ¦ ÆÄÀÏ¿¡´Â ¾ø´Ù. ¿ì¼± Àü¿ªÀû ¼³Á¤ ºÎºÐ:

  • 1. # example config file - global configuration section
  • 2. include /usr/local/etc/schema/core.schema
  • 3. referral ldap://root.openldap.org
  • 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 ¼Ó¼ºÀº Àΰ¡¹ÞÁö ¸øÇÑ ¿¢¼¼½º¿¡ ´ëÇØ º¸È£µÈ´Ù.

  • 5. # ldbm definition for the example.com
  • 6. database ldbm
  • 7. suffix "dc=example, dc=com"
  • 8. directory /usr/local/var/openldap
  • 9. rootdn "cn=Manager, dc=example, dc=com"
  • 10. rootpw secret
  • 11. # replication directives
  • 12. replogfile /usr/local/var/openldap/slapd.replog
  • 13. replica host=slave1.example.com:389
  • 14. binddn="cn=Replicator, dc=example, dc=com"
  • 15. bindmethod=simple credentials=secret
  • 16. replica host=slave2.example.com
  • 17. binddn="cn=Replicator, dc=example, dc=com"
  • 18. bindmethod=simple credentials=secret
  • 19. # indexed attribute definitions
  • 20. index uid pres,eq
  • 21. index cn,sn,uid pres,eq,approx,sub
  • 22. index objectClass eq
  • 23. # ldbm access control definitions
  • 24. access to attr=userPassword
  • 25. by self write
  • 26. by anonymous auth
  • 27. by dn="cn=Admin,dc=example,dc=com" write
  • 28. by * none
  • 29. access to *
  • 30. by self write
  • 31. by dn="cn=Admin,dc=example,dc=com" write
  • 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¿¡ ÀÖ´Â Àü¿ªÀû ¿¢¼¼½º ±ÔÄ¢ ¶§¹®¿¡ Àб⠿¢¼¼½º°¡ Çã¿ëµÉ ¼ö ÀÖÀ½À» ÁÖ¸ñÇϱ⠹ٶõ´Ù.

  • 33. # ldbm definition for example.net
  • 34. database ldbm
  • 35. suffix "dc=example, dc=net"
  • 36. directory /usr/local/var/ldbm-example-net
  • 37. rootdn "cn=Manager, dc=example, dc=com"
  • 38. access to * by users read

4. LDAP ¼­¹ö ±¸µ¿Çϱâ

slapd´Â ½ºÅÄµå ¾ó·Ð ¼­¹ö·Î¼­ ÀÛµ¿µÇµµ·Ï ¼³°èµÇ¾î ÀÖ¾î ¼­¹ö°¡ ij½Ì ÀÌ¿ë, ±âº» µ¥ÀÌÅͺ£À̽º¿ÍÀÇ µ¿½Ã ÀÛ¿ë ¹®Á¦ ó¸® ¹× ½Ã½ºÅÛ ÀÚ¿ø º¸È£¸¦ ÇÒ ¼ö ÀÖ´Ù. inetd(8)·ÎºÎÅÍÀÇ ÀÛµ¿Àº ¿É¼ÇÀÌ ¾Æ´Ï´Ù.

4.1 Command Line Options

slapd´Â ¸Þ´º¾ó ÆäÀÌÁö¿¡ »ó¼¼È÷ ¼³¸íµÈ ¹Ù¿Í °°ÀÌ ¸¹Àº command-line ¿É¼ÇÀ» Áö¿øÇÑ´Ù. ÀÌ ÀýÀº ÀϹÝÀûÀ¸·Î ÀÚÁÖ »ç¿ëµÇ´Â ¾à°£ÀÇ ¿É¼ÇÀ» »ó¼¼È÷ ¼³¸íÇÑ´Ù:

-f <filename>


ÀÌ ¿É¼ÇÀº slapd¿¡ ´ëÇÑ ´ëü ±¸¼º ÆÄÀÏÀ» Áö¿øÇÑ´Ù. µðÆúÆ®´Â º¸Åë /usr/local/etc/openldap/slapd.conf ÆÄÀÏÀÌ´Ù.
-h <URLs>

ÀÌ ¿É¼ÇÀº ´ëü 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 <service-name>

ÀÌ ¿É¼ÇÀº ·Î±ë°ú ´Ù¸¥ ¸ñÀûÀ» À§ÇØ »ç¿ëµÇ´Â ¼­ºñ½º À̸§À» ÁöÁ¤ÇÑ´Ù. µðÆúÆ® ¼­ºñ½º À̸§Àº slapdÀÌ´Ù.
-l <syslog-local-user>

ÀÌ ¿É¼ÇÀº syslog(8) ¿¡ ´ëÇÑ ·ÎÄà »ç¿ëÀÚ¸¦ ÁöÁ¤ÇÑ´Ù. LOCAL0, LOCAL1, LOCAL2,..., ¿Í LOCAL7ÀÌ °ªÀÌ ÀÖ´Ù.
µðÆúÆ®´Â LOCAL4ÀÌ´Ù. ÀÌ ¿É¼ÇÀº ¸ðµç ½Ã½ºÅÛ¿¡¼­ Áö¿øµÇÁö ¾ÊÀ» ¼ö ÀÖ´Ù.
-u user -g group

ÀÌ ¿É¼ÇµéÀº °¢°¢ ¼­¹ö¸¦ ÀÛµ¿ÇÏ´Â »ç¿ëÀÚ¿Í ±×·ìÀ» ÁöÁ¤ÇÑ´Ù. »ç¿ëÀÚ¿Í ±×·ìÀº °¢°¢ »ç¿ëÀÚ ¹× ±×·ì À̸§°ú
uid ¹× gid ÀÏ ¼ö ÀÖ´Ù.
-r directory

ÀÌ ¿É¼ÇÀº ·±Å¸ÀÓ µð·ºÅ丮¸¦ ÁöÁ¤ÇÑ´Ù. slapd´Â listenerÀ» ¿ÀÇÂÇÑ ÈÄ ±×·¸Áö¸¸ ¾î¶² ±¸¼ºÆÄÀÏÀ» Àбâ Àü ¶Ç´Â
¾î¶² ¹é¿£µå¸¦ ÃʱâÈ­Çϱâ Àü¿¡ ÀÌ µð·ºÅ丮·Î chroot(2) ÇÒ °ÍÀÌ´Ù.
-d <level> | ?

ÀÌ ¿É¼ÇÀº 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 ¿É¼ÇÀ»
°®°í ÄÄÆÄÀϵǾîÀÖ¾î¾ß ÇÑ´Ù.

4.2 LDAP ¼­¹ö ½ÃÀÛÇϱâ

ÀϹÝÀûÀ¸·Î slapd ´Â ´ÙÀ½°ú °°ÀÌ ±¸µ¿½ÃŲ´Ù:

/usr/local/etc/libexec/slapd [<option>]*

/usr/local/etc/libexec´Â configure¿¡ ÀÇÇØ °áÁ¤µÇ¸ç <option>Àº À§¿¡¼­ ¼³¸íÇÑ ¿É¼Ç(¶Ç´Â slapd(8)) ÁßÀÇ ÇϳªÀÌ´Ù. ·¹º§ 0¸¦ Æ÷ÇÔÇÏ¿© µð¹ö±ë ·¹º§À» ÁöÁ¤ÇÏÁö ¾Ê´Â´Ù¸é slapd´Â ÀÚµ¿ÀûÀ¸·Î ºÐ±â(fork)ÇÏ¿© ±× ÀÚ½ÅÀÇ Á¦¾î Å͹̳ηκÎÅÍ ºÐ¸®Çؼ­ ¹é±×¶ó¿îµå¿¡¼­ ½ÇÇàµÈ´Ù.

4.3 LDAP ¼­¹ö ÁßÁöÇϱâ

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 ÆÄÀÏÀÇ À§Ä¡¸¦ º¯°æÇÒ ¼ö ÀÖ´Ù.

5. µ¥ÀÌŸº£À̽º »ý¼º°ú À¯Áö º¸¼ö

ÀÌ Àý¿¡¼­´Â scratch·ÎºÎÅÍ slapd µ¥ÀÌŸº£À̽º¸¦ »ý¼ºÇÏ´Â ¹æ¹ý¿¡ ´ëÇØ ³íÀÇÇÑ´Ù. µ¥ÀÌŸº£À̽º´Â µÎ°¡Áö ¹æ¹ýÀ¸·Î »ý¼ºÇÒ ¼ö ÀÖ´Ù. ù°, LDAP¸¦ ÀÌ¿ëÇÏ¿© ¿Â¶óÀλ󿡼­ µ¥ÀÌÅͺ£À̽º¸¦ »ý¼ºÇÒ ¼ö Àִµ¥ °£´ÜÈ÷ slapd¸¦ ±¸µ¿ÇÏ°í ¼±ÅÃÇÑ LDAP Ŭ¶óÀ̾ðÆ®¸¦ ÀÌ¿ëÇÏ¿© ¿£Æ®¸®¸¦ Ãß°¡ÇØÁÖ¸é µÈ´Ù. ÀÌ ¹æ¹ýÀº ºñ±³Àû ÀÛÀº µ¥ÀÌÅͺ£À̽º¿¡ ´ëÇؼ­´Â ´õÇÒ ³ªÀ§¾øÀÌ ÁÁ´Ù (¿ä±¸¿¡ µû¶ó ¼ö¹é ¶Ç´Â ¼öõ°³ÀÇ ¿£Æ®¸®).

µÎ ¹ø°´Â À妽º »ý¼º µµ±¸¸¦ ÀÌ¿ëÇÏ¿© ¿ÀÇÁ¶óÀλ󿡼­ µ¥ÀÌÅͺ£À̽º¸¦ »ý¼ºÇÏ´Â °ÍÀε¥ LDAP ¹æ¹ýÀ» ÀÌ¿ëÇÒ ¶§ ¸Å¿ì ¿À·£ ½Ã°£ÀÌ ¼Ò¿äµÉ ¼ö ÀÖ´Â ¹æ´ëÇÑ ¿£Æ®¸® »ý¼º ¶Ç´Â µ¥ÀÌÅͺ£À̽º°¡ »ý¼ºµÇ´Â µ¿¾È ¿¢¼¼½ºµÇÁö ¾Ê±â¸¦ ¿øÇÒ °æ¿ì ÁÁÀº ¹æ¹ýÀÌ´Ù.

5.1 ¿Â¶óÀλ󿡼­ µ¥ÀÌŸº£À̽º »ý¼ºÇϱâ

OpenLDAP ¼ÒÇÁÆ®¿þ¾î ÆÐÅ°Áö¿¡´Â LDAP ¼­¹ö ÀÛµ¿Áß¿¡ ¿£Æ®¸®¸¦ Ãß°¡Çϴµ¥ »ç¿ëÇÏ´Â ldapadd À¯Æ¿¸®Æ¼¸¦ Æ÷ÇÔÇÏ°í ÀÖ´Ù. ¿Â¶óÀλ󿡼­ µ¥ÀÌÅͺ£À̽º¸¦ »ý¼ºÇÏ·Á°í ÇÑ´Ù¸é ¿£Æ®¸® Ãß°¡¸¦ À§ÇØ ldapadd µµ±¸¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù. ù ¹ø° ¿£Æ®¸®¸¦ Ãß°¡ÇÑ ÈÄ ´õ ¸¹Àº ¿£Æ®¸®¸¦ Ãß°¡Çϱâ À§ÇØ ldapadd¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù. slapd¸¦ ±¸µ¿Çϱâ Àü¿¡ slapd.conf ÆÄÀÏ¿¡ ´ÙÀ½ ¿É¼ÇÀÌ ¼³Á¤µÇ¾î ÀÖÀ½À» È®ÀÎÇØ¾ß ÇÑ´Ù.

suffix <dn>

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 ÆÄÀÏÀ» »ý¼ºÇÒ ¼ö ÀÖ´Ù:

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

±×¸®°í³ª¼­ ¿£Æ®¸®¸¦ ½ÇÁ¦ »ý¼ºÇϱâ À§ÇØ ´ÙÀ½ ¸í·ÉÀ» »ç¿ëÇÑ´Ù:

ldapadd -f /tmp/newentry -D "cn=Manager, o=TUDelft, c=NL" -w secret

À§ ¸í·ÉÀº rootdnÀ» "cn=Manager, o=TUDelft, c=NL" À¸·Î rootpw¸¦ "secret" ¼³Á¤Çß´Ù°í °¡Á¤ÇÑ´Ù. command-line »ó¿¡¼­ Æнº¿öµå¸¦ ŸÀÌÇÎÇÏ±æ ¿øÇÏÁö ¾Ê´Â´Ù¸é -w "password" ´ë½Å ldapadd ¸í·É¿¡ ´ëÇØ -W ¿É¼ÇÀ» »ç¿ëÇضó. Æнº¿öµå¸¦ ÀÔ·ÂÇÏ´Â ÇÁ·ÒÇÁÆ®¸¦ º¼ ¼ö ÀÖÀ» °ÍÀÌ´Ù:

ldapadd -f /tmp/newentry -D "cn=Manager, o=TUDelft, c=NL" -W
Enter LDAP Password:

5.2 ¿ÀÇÁ¶óÀλ󿡼­ µ¥ÀÌŸº£À̽º »ý¼ºÇϱâ

µ¥ÀÌÅͺ£À̽º¸¦ »ý¼ºÇÏ´Â µÎ ¹ø° ¹æ¹ýÀº ´ÙÀ½¿¡ ¼³¸íµÈ À妽º »ý¼º µµ±¸¸¦ ÀÌ¿ëÇÏ¿© ¿ÀÇÁ¶óÀλ󿡼­ ÀÛ¾÷À» ÇÏ´Â °ÍÀε¥ 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 À妽º¸¦ »ý¼ºÇÏ¸ç ³ª¸ÓÁö ´Ù¸¥ ¼Ó¼º¿¡ ´ëÇؼ­´Â À妽º¸¦ »ý¼ºÇÏÁö ¾ÊÀ» °ÍÀÌ´Ù. ÀÌ ¿É¼Ç¿¡ ´ëÇØ ´õ ¸¹Àº Á¤º¸¸¦ ¾ò±â À§Çؼ­´Â 3ÀýÀÇ ¼³Á¤ ÆÄÀÏÀ» º¸¶ó.

ÃëÇâ¿¡ ¸Â°Ô ¼³Á¤Çß´Ù¸é slapadd(8) ÇÁ·Î±×·¥À» ½ÇÇà½ÃÅ´À¸·Î½á ±âº» µ¥ÀÌÅͺ£À̽º¿Í °ü·Ã À妽º¸¦ »ý¼ºÇÑ´Ù:

slapadd -l <inputfile> -f <slapdconfigfile> [-d <debuglevel>] [-n <integer>|-b <suffix>]

ÀμöµéÀº ´ÙÀ½ÀÇ Àǹ̸¦ °®´Â´Ù:

-l <inputfile>

ÅؽºÆ® ÇüÅ·ΠÃß°¡µÇ´Â ¿£Æ®¸®¸¦ Æ÷ÇÔÇÑ LDIF ÀÔ·Â ÆÄÀÏÀ» ÁöÁ¤ÇÑ´Ù(´ÙÀ½ ÀýÀ» º¸¶ó).

-f <slapdconfigfile>

À妽º¸¦ ¾îµð¿¡ »ý¼ºÇÏ´ÂÁö, ¾î¶² À妽º¸¦ »ý¼ºÇÏ´ÂÁö µîÀ» ¸»ÇØÁÖ´Â slapd ¼³Á¤ ÆÄÀÏÀ» ÁöÁ¤ÇÑ´Ù.

-d <debuglevel>

<debuglevel>¿¡ ÀÇÇØ ÁöÁ¤µÈ µð¹ö±ëÀ» ÀÛµ¿½ÃŲ´Ù. µð¹ö±× ·¹º§Àº slapd ¿¡ ´ëÇÑ ·¹º§°ú °°´Ù. 4.1 ÀýÀÇ ¿É¼ÇÀ» º¸¶ó.

-n <databasenumber>

¾î¶² µ¥ÀÌÅͺ£À̽º°¡ ¼öÁ¤µÇ´Â°¡¸¦ ÁöÁ¤ÇÏ´Â ¼±ÅÃÀû Àμö·Î ¼³Á¤ ÆÄÀÏ¿¡ ¸í½ÃµÈ ù ¹ø° µ¥ÀÌÅͺ£À̽º´Â 1, µÎ ¹ø°´Â 2 µîÀ¸·Î Ç¥ÇöµÈ´Ù. µðÆúÆ®·Î ¼³Á¤ ÆÄÀÏÀÇ Ã¹ ¹ø° ldbm µ¥ÀÌÅͺ£À̽º°¡ »ç¿ëµÈ´Ù. -b ¿É¼Ç°ú ÇÔ²² »ç¿ëµÇ¼­´Â ¾ÈµÈ´Ù.

-b <suffix>

¾î¶² µ¥ÀÌÅͺ£À̽º°¡ ¼öÁ¤µÇ´Â°¡¸¦ ÁöÁ¤ÇÏ´Â ¼±ÅÃÀû Àμö·Î µ¥ÀÌÅͺ£À̽º ³Ñ¹ö¸¦ °áÁ¤Çϱâ À§ÇÑ µ¥ÀÌÅͺ£À̽º 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 ¿É¼ÇÀ» »ç¿ëÇÏ¿© ÁöÁ¤µÈ ÆÄÀÏ¿¡ ÀÛ¼ºµÈ´Ù.

5.3 More on the LDIF format

LDAP Data Interchange Format (LDIF)Àº °£´ÜÇÑ ÅؽºÆ® Æ÷¸ËÀ¸·Î LDAP ¿£Æ®¸®¸¦ Ç¥ÇöÇϱâ À§ÇØ »ç¿ëµÈ´Ù. ¿£Æ®¸®ÀÇ ±âº» ÆûÀº:

#comment
dn: <distinguished name>
<attrdesc>; <attrvalue>
<attrdesc>; <attrvalue>
...

`#' ¹®ÀÚ·Î ½ÃÀÛÇÏ´Â ¶óÀεéÀº ÁÖ¼®ÀÌ´Ù. ¼Ó¼º ¼³¸í(attrdesc)Àº cn ¶Ç´Â objectClasse ¶Ç´Â 1.2.3(¼Ó¼º ÇüÅÂ¿Í °ü·ÃµÈ OID)°ú °°Àº °£´ÜÇÑ ¼Ó¼ºÇüÅ À̰ųª cn:lang_en_US ¶Ç´Â userCertificate;binay¿Í °°Àº ¿É¼ÇÀ» Æ÷ÇÔÇÒ ¼ö ÀÖ´Ù.

¶óÀÎÀº single space ¶Ç´Â tab ¹®ÀÚ·Î ´ÙÀ½ ¶óÀÎÀ» ½ÃÀÛÇÔÀ¸·Î½á °è¼ÓµÉ ¼ö ÀÖ´Ù. ¿¹¸¦µé¾î:

dn: cn=Barbara J Jensen, dc=example, dc=
 com
cn: Barbara
      Jensen
˼
dn: cn=Barbara J Jensen, dc=example, dc=com
cn: Barbara J Jensen
°ú µ¿ÀÏÇÏ´Ù.

´ÙÁß ¼Ó¼º °ªµéÀº º°°³ ¶óÀο¡¼­ ÁöÁ¤µÈ´Ù. ¿¹:

cn: Barbara J Jensen
cn: Babs Jensen

<attrvalue>°¡ Ãâ·ÂµÇÁö ¾Ê´Â ¹®ÀÚµéÀ» Æ÷ÇÔÇϰųª ¶Ç´Â space, ÄÝ·Ð(':') ¶Ç´Â '<' À¸·Î ½ÃÀ۵ȴٸé, <attrdesc>´ÙÀ½¿¡ ÀÌÁß Äݷаú base64 ·Î ¾ÏȣȭµÈ °ªÀÌ ¿Â´Ù. ¿¹¸¦µé¾î "space·Î ½ÃÀÛ"µÇ´Â °ªÀº ´ÙÀ½°ú °°ÀÌ ¾ÏȣȭµÉ °ÍÀÌ´Ù:

 cn:: IGJlZ2lucyB3aXRoIGEgc3BhY2U= 

¼Ó¼º°ªÀ» Æ÷ÇÔÇÏ´Â URLÀ» ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù. ¿¹¸¦µé¾î, ´ÙÀ½Àº jpegPhoto °ªÀÌ /path/to/file.jpg ÆÄÀϷκÎÅÍ ¾ò¾î¾ß ÇÔÀ» ÁöÁ¤ÇÑ´Ù.

cn:<file://path/to/file.jpeg

µ¿ÀÏÇÑ LDIF ÆÄÀϳ»ÀÇ ´ÙÁß ¿£Æ®¸®µéÀº blank ¶óÀÎÀ¸·Î ±¸º°µÈ´Ù. ¼¼ °³ÀÇ ¿£Æ®¸®¸¦ °®´Â LDIF ÆÄÀÏÀÇ ¿¹´Â ´ÙÀ½°ú °°´Ù:

# 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

Bjorn ¿£Æ®¸®ÀÇ jpegPhoto´Â base64·Î ¾ÏȣȭµÇ¾î ÀÖ°í Jennifer ¿£Æ®¸®ÀÇ jpegPhoto´Â URLÀÌ °¡¸®Å°´Â À§Ä¡·ÎºÎÅÍ ¾ò¾îÁüÀ» ÁÖ¸ñÇ϶ó.

trailing space´Â LDIF ÆÄÀÏÀÇ °ªµé·ÎºÎÅÍ Á¤¸®µÇÁö ¾ÊÀ¸¸ç ¶ÇÇÑ ³»ºÎÀÇ ´ÙÁß space´Â ¾ÐÃàµÇÁöµµ ¾Ê´Â´Ù. µ¥ÀÌÅͳ»¿¡ trailing°ú ³»ºÎ space¸¦ ¿øÇÏÁö ¾Ê´Â´Ù¸é °Å±â¿¡ ±×µéÀ» ³ÖÁö ¸¶¶ó.

5.4 The ldapsearch, ldapdelete and ldapmodify utilities

ladpsearch - ldapsearch ´Â ldap_search(3) ¶óÀ̺귯¸® ÄÝ¿¡ ´ëÇØ ½©ÀÌ ¿¢¼¼½ºÇÒ ¼ö ÀÖ´Â ÀÎÅÍÆäÀ̽º·Î LDAP µ¥ÀÌÅͺ£À̽º ¹é¿£ÀÇ ¿£Æ®¸®¸¦ °Ë»öÇϱâ À§ÇØ »ç¿ëÇÑ´Ù.

ldapsearch¸¦ È£ÃâÇϱâ À§ÇÑ °³¿ä´Â ´ÙÀ½°ú °°´Ù (°¢ ¿É¼ÇÀÇ Àǹ̸¦ ¾Ë±â À§ÇØ ldapsearch man ÆäÀÌÁö¸¦ ã¾Æº¸¶ó):

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...]

ladpsearch´Â LDAP ¼­¹ö¿¡ ¿¬°á, ¹ÙÀεåÇØ ÇÊÅ͸¦ ÀÌ¿ëÇÏ¿© °Ë»öÀ» ¼öÇàÇÑ´Ù. ÇÊÅÍ´Â RFC 1558¿¡ Á¤ÀÇµÈ °Í°ú °°Àº LDAP ÇÊÅÍ¿¡ ´ëÇÑ ¹®ÀÚ¿­ Ç¥ÇöÀ» µû¶ó¾ß ÇÑ´Ù. ldapsearch°¡ Çϳª ¶Ç´Â ±× ÀÌ»óÀÇ ¿£Æ®¸®¸¦ ãÀ¸¸é attrs¿¡ ÀÇÇØ ÁöÁ¤µÈ ¼Ó¼ºµéÀÌ °Ë»öµÇ¾î ¿£Æ®¸®¿Í °ªÀÌ Ç¥ÁØ Ãâ·ÂÀ¸·Î Ãâ·ÂµÈ´Ù. attrs°¡ ¸í½ÃµÇÁö ¾ÊÀ¸¸é ¸ðµç ¼Ó¼ºµéÀ» µÇµ¹·ÁÁØ´Ù.

´ÙÀ½Àº ldapsearch »ç¿ë ¿¹ÀÌ´Ù:

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

-b ¿É¼ÇÀº searchbase(initial search point, Ãʱ⠰˻ö ÁöÁ¡)À» -u ¿É¼ÇÀº »ç¿ëÀÚ¿¡ Æí¸®ÇÑ(userfriendly) Ãâ·Â Á¤º¸¸¦ ³ªÅ¸³½´Ù.

ldapdelete - ldapdelete´Â ldap_delete(3) ¶óÀ̺귯¸® ÄÝ¿¡ ´ëÇØ ½©ÀÌ ¿¢¼¼½ºÇÒ ¼ö ÀÖ´Â ÀÎÅÍÆäÀ̽º·Î LDAP µ¥ÀÌÅͺ£À̽º ¹é¿£µåÀÇ ¿£Æ®¸®¸¦ »èÁ¦Çϱâ À§ÇØ »ç¿ëÇÑ´Ù.

ldapdelete¸¦ È£ÃâÇϱâ À§ÇÑ °³¿ä´Â ´ÙÀ½°ú °°´Ù (°¢ ¿É¼ÇÀÇ Àǹ̸¦ ¾Ë±â À§ÇØ ldapdelete man ÆäÀÌÁö¸¦ ã¾Æº¸¶ó):

ldapdelete   [-n]   [-v]  [-k]  [-K]  [-c]  [-d debuglevel]  [-f file]  [-D binddn]  [-W]  [-w passwd]
[-h ldaphost] [-p ldapport] [dn]...

ldapdelete´Â LDAP ¼­¹ö¿¡ ¿¬°á, Çϳª ¶Ç´Â ±× ÀÌ»óÀÇ ¿£Æ®¸®¸¦ ¹ÙÀεåÇØ »èÁ¦ÇÑ´Ù. Çϳª ¶Ç´Â ±× ÀÌ»óÀÇ dn Àμö°¡ Á¦°øµÇ¸é ÀÌ·¯ÇÑ DNÀ» °®´Â ¿£Æ®¸®´Â »èÁ¦µÈ´Ù. °¢ dnÀº RFC 1779¿¡ Á¤ÀÇµÈ °Í°ú °°Àº ¹®ÀÚ¿­·Î Ç¥ÇöµÈ DN À̾î¾ß ÇÑ´Ù. dn Àμö°¡ ¾ø´Ù¸é DNÀÇ ¸®½ºÆ®°¡ Ç¥ÁØ ÀÔ·Â(¶Ç´Â -f flag°¡ »ç¿ëµÈ´Ù¸é ÆÄÀÏ)À¸·ÎºÎÅÍ ÀÐÇôÁø´Ù.

´ÙÀ½Àº ldapdelete »ç¿ë ¿¹ÀÌ´Ù:

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

-v ¿É¼ÇÀº verbose ¸ðµå, -D ¿É¼ÇÀº Binddn(ÀÎÁõµÇ¾î¾ß ÇÏ´Â dn), -W ¿É¼ÇÀº Æнº¿öµå ÇÁ·ÒÇÁÆ®¸¦ ³ªÅ¸³½´Ù.

ldapmodify - ldapmodify ´Â ldap_modify(5)¿Í ldap_add ¶óÀ̺귯¸® ÄÝ¿¡ ´ëÇØ ½©ÀÌ ¿¢¼¼½ºÇÒ ¼ö ÀÖ´Â ÀÎÅÍÆäÀ̽º·Î LDAP µ¥ÀÌÅͺ£À̽º ¹é¿£µåÀÇ ¿£Æ®¸®¸¦ ¼öÁ¤Çϱâ À§ÇØ »ç¿ëÇÑ´Ù.

ldapmodify¸¦ È£ÃâÇϱâ À§ÇÑ °³¿ä´Â ´ÙÀ½°ú °°´Ù(°¢ ¿É¼ÇÀÇ Àǹ̸¦ ¾Ë±â À§ÇØ ldapmodify man ÆäÀÌÁö¸¦ ã¾Æº¸¶ó)

ldapmodify   [-a]  [-b]  [-c]  [-r]  [-n]  [-v]  [-k]  [-d debuglevel]  [-D binddn]  [-W]  [-w passwd]
[-h ldaphost] [-p ldapport] [-f file]
ldapadd [-b] [-c] [-r] [-n] [-v]  [-k]  [-K]  [-d debuglevel]  [-D binddn]  [-w passwd]  [-h ldaphost]
[-p ldapport] [-f file]

ldapadd´Â ldapmodify µµ±¸¿¡ ´ëÇØ ÇÏµå ¸µÅ©µÇ¾î ¼öÇàµÇ´Âµ¥ ldapadd°¡ ½ÇÇàµÉ ¶§ ldapmodifyÀÇ -a (»õ·Î¿î ¿£Æ®¸®¸¦ Ãß°¡) flag °¡ ÀÚµ¿ÀûÀ¸·Î ¼³Á¤µÈ´Ù. ldapmodify´Â LDAP ¼­¹ö¿¡ ¿¬°á, ¹ÙÀεåÇØ ¿£Æ®¸®¸¦ ¼öÁ¤ ¶Ç´Â Ãß°¡ÇÑ´Ù. ¿£Æ®¸® Á¤º¸´Â Ç¥ÁØ ÀÔ·Â ¶Ç´Â -f ¿É¼ÇÀ» »ç¿ë½Ã ÆÄÀϷκÎÅÍ ÀÐÇôÁø´Ù.

´ÙÀ½Àº ldapmodifyÀÇ »ç¿ë ¿¹ÀÌ´Ù:

/tmp/entrymods °¡ Á¸ÀçÇÏ°í ´ÙÀ½ ³»¿ëÀ» °®°í ÀÖ´Ù°í °¡Á¤ÇÑ´Ù:

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
-
¸í·É:
ldapmodify -b -r -f /tmp/entrymods

ÀÌ´Â "Modify Me" ¿£Æ®¸®ÀÇ ¸ÞÀÏ ¼Ó¼º ³»¿ëÀ» "modme@terminator.rs.itd.umich.edu"·Î ´ëüÇÏ°í, "Grand Poobah"À» ŸÀÌƲ¿¡ /tmp/modme.jpeg ÆÄÀÏÀÇ ³»¿ëÀ» jpegPhoto·Î Ãß°¡Çϸç, description ¼Ó¼ºÀ» ¿ÏÀüÈ÷ »èÁ¦ÇÑ´Ù.

À§¿Í µ¿ÀÏÇÑ ¼öÁ¤Àº ÀÌÀü ldapmodify ÀÔ·Â Æ÷¸ËÀ» ÀÌ¿ëÇÏ¿© ¼öÇàÇÒ ¼ö ÀÖ´Ù:

cn=Modify Me, o=University of Michigan, c=US mail=modme@terminator.rs.itd.umich.edu
+title=Grand Poobah
+jpegPhoto=/tmp/modme.jpeg
-description
´ÙÀ½ ¸í·ÉÀ» ½ÇÇà½ÃŲ´Ù: ldapmodify -b -r -f /tmp/entrymods

/tmp/newentry ÆÄÀÏÀÌ Á¸ÀçÇÏ°í ´ÙÀ½ ³»¿ëÀ» °®´Â´Ù°í °¡Á¤ÇÑ´Ù:

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
´ÙÀ½ ¸í·ÉÀ» ½ÇÇà½ÃŲ´Ù:
ldapadd -f /tmp/entrymods
/tmp/newentry ÆÄÀÏÀÌ Á¸ÀçÇÏ°í ´ÙÀ½ ³»¿ëÀ» °®´Â´Ù°í °¡Á¤ÇÑ´Ù:
dn: cn=Barbara Jensen, o=University of Michigan, c=US
changetype: delete
´ÙÀ½ ¸í·ÉÀº Babs JensenÀÇ ¿£Æ®¸®¸¦ »èÁ¦ÇÑ´Ù:
ldapmodify -f /tmp/entrymods

-f ¿É¼ÇÀº ÆÄÀÏ(Ç¥ÁØ ÀԷ´ë½Å ÆÄÀϷκÎÅÍ ¼öÁ¤ Á¤º¸¸¦ ÀдÂ), -b ¿É¼ÇÀº ¹ÙÀ̳ʸ®(ÀÔ·Â ÆÄÀÏÀÇ '/'·Î ½ÃÀ۵Ǵ ¸ðµç °ªµéÀº ¹ÙÀ̳ʸ®·Î Çؼ®µÈ´Ù), -r ¿É¼ÇÀº ´ëü(µðÆúÆ®·Î ±âÁ¸ °ªÀ» ´ëüÇÑ´Ù)¸¦ ³ªÅ¸³½´Ù.

6. ºÎ°¡Àû Á¤º¸¿Í Ư¡

ÀÌ ÀýÀº µð·ºÅ丮¸¦ ÁúÀÇÇϴµ¥ »ç¿ëÇÒ ¼ö ÀÖ´Â LDAP Ŭ¶óÀ̾ðÆ®ÀÎ Netscape Address Book¿¡ °üÇÑ Á¤º¸¸¦ ´Ù·é´Ù. ¶ÇÇÑ ³Ý½ºÄÉÀÌÇÁ ³×ºñ°ÔÀÌÅÍ ¹öÀü 4.5 ¶Ç´Â ±× ÀÌ»ó°ú LDAP ¼­¹ö¸¦ ÀÌ¿ëÇÏ¿© ·Î¿ì¹Ö ¿¢¼¼½º(roaming access)¸¦ ¼öÇàÇÏ´Â ¹æ¹ý¿¡ ´ëÇÑ ¼¼ºÎ»çÇ×µµ ¼³¸íÇÑ´Ù. ·Î¿ì¹Ö ¿¢¼¼½º´Â ´Ù ¼öÇàµÇÁö´Â ¾Ê±â ¶§¹®¿¡ OpenLDAP ¸ÞÀϸµ ¸®½ºÆ®¿¡ ¸Å¿ì ¸¹ÀÌ ³íÀǵǰí Àִµ¥ ´ëºÎºÐÀÇ »ç¿ëÀÚµéÀº LDAP ¼­¹ö¿¡ ´Ù¿î·Îµå ¹× ¾÷·Îµå¸¦ ÇÏ´Â ¹Ý¸é ³Ý½ºÄÉÀÌÇÁ ³×ºñ°ÔÀÌÅÍ°¡ LDAP ¼­¹ö¿Í ÇÔ²² ÀÛµ¿µÇ´Â ¹æ½ÄÀ» ÁÁ¾ÆÇÏÁö ¾Ê´Â´Ù. µû¶ó¼­ ÀýÀ» ÀÐÀº ÈÄ ·Î¿ì¹Ö ¿¢¼¼½º°¡ ¿øÇÏ´Â ¹æ½Ä´ë·Î ÀÛµ¿ÇÏÁö ¾Ê´Â´Ù ÇÏ´õ¶óµµ ±¥³äÄ¡ ¸»±â¸¦ ¹Ù¶õ´Ù. ¸¹Àº»ç¶÷µéÀÌ ÀÌ·¯ÇÑ °úÁ¤À» ÀÌ¹Ì °ÅÃÄ ¿Ô´Ù. ÀÌ ÀýÀº »ç¶÷µé¿¡°Ô LDAP ÇÁ·ÎÅäÄÝÀÇ °¡´É¼º¿¡ ´ëÇÑ ¾ÆÀ̵ð¾î¸¦ Á¦°øÇϱâ À§ÇØ ÀÌ·± Ư¡À» ¼Ò°³ÇÑ´Ù. slapd ÇÁ·Î¼¼½º¸¦ ¾ÈÀüÇÏ°Ô Á¾·áÇÏ´Â °Í°ú slapd ·Î±×¿¡ ´ëÇÑ ´Ù¼ÒÀÇ Á¤º¸°¡ Á¦°øµÈ´Ù.

6.1 ·Î¿ì¹Ö ¿¢¼¼½º(Roaming Access)

·Î¿ì¹Ö ¿¢¼¼½º¸¦ »ç¿ëÇÏ¸é ³Ý»óÀÇ ¾îµð¿¡ ÀÖ´øÁö ³Ý½ºÄÉÀÌÇÁ ³×ºñ°ÔÀÌÅÍ¿Í LDAP¼­¹ö¸¦ ÀÌ¿ëÇÏ¿© ºÏ¸¶Å©, preference, ¸ÞÀÏ ÇÊÅÍ µîÀ» °¡Á®¿Ã ¼ö Àִµ¥ ÀÌ´Â ¸Å¿ì ¸ÚÁø Ư¡ÀÌ´Ù. ¾îµð¼­ À¥¿¡ ¿¢¼¼½ºÇÏ´øÁö ºê¶ó¿ìÀú¿¡ ´ëÇÑ °íÀ¯ÀÇ ¼³Á¤À» °¡Áú ¼ö ÀÖ´Ù°í »ó»óÇغ¸¶ó. ¿©ÇàÁß¿¡ ·ÎÄà ºÏ¸¶Å©¿¡ ÀúÀåµÈ ÅëÈ­ »çÀÌÆ®¿¡ ¿¢¼¼½ºÇÒ ÇÊ¿ä°¡ ÀÖ´Ù¸é °ÆÁ¤ÇÏÁö ¸¶¶ó. ºÏ¸¶Å©¿Í ´Ù¸¥¼³Á¤ ÆÄÀϵéÀ» LDAP ¼­¹ö¿¡ ¾÷·ÎµåÇؼ­ ÃßÈÄ ¾î´À Àå¼Ò¿¡ ÀÖ´øÁö ±×µéÀ» ´Ù °¡Á®¿Ã ¼ö ÀÖ´Ù.

·Î¿ì¹Ö ¿¢¼¼½º¸¦ ¼öÇàÇϱâÀ§ÇØ ´ÙÀ½ ´Ü°è¸¦ µû¶ó¾ß ÇÑ´Ù:

  • slapd.conf ¼³Á¤ÆÄÀÏ¿¡ »õ·Î¿î ½ºÅ°¸¶(schema) ÆÄÀÏÀ» Æ÷ÇÔÇÑ´Ù
  • slapd.conf ¼³Á¤ÆÄÀÏÀÇ µ¥ÀÌŸº£À̽º ºÎºÐ¿¡ º¯°æ Çʵ带 ¼³Á¤ÇÑ´Ù
  • ·Î¿ì¹Ö ¿¢¼¼½ºÀÇ »ç¿ëÀ» ¿øÇÏ´Â »ç¿ëÀڵ鿡 ´ëÇÑ ÇÁ·ÎÆÄÀÏ ¿£Æ®¸®¸¦ ÷°¡ÇÔÀ¸·Î½á Ldif ÆÄÀÏÀ» º¯°æÇÑ´Ù
  • LDAP ¼­¹ö¸¦ ·Î¿ì¹Ö ¿¢¼¼½º ¼­¹ö·Î »ç¿ëÇϱâ À§ÇØ ³Ý½ºÄÉÀÌÇÁ ³×ºñ°ÔÀÌÅ͸¦ ¼³Á¤ÇÑ´Ù
  • »õ·Î¿î ¼³Á¤ »çÇ×À¸·Î LDAP ¼­¹ö¸¦ Àç½ÃÀÛÇÑ´Ù

- »õ·Î¿î ½ºÅ°¸¶ ÆÄÀÏ Æ÷ÇÔÇϱâ: ¹ØÀÇ ºÎºÐÀ» º¹»ç ¹× ºÙ¿©³Ö±â ÇÑÈÄ .schema È®ÀåÀÚ¸¦ °®´Â ÅؽºÆ® ÆÄÀÏ·Î ÀúÀåÇÑ´Ù. ´ë°³ ÀÌ ÆÄÀÏÀº /usr/local/etc/openldap/schema µð·ºÅ丮³»¿¡ ÀúÀåµÉ °ÍÀÌ´Ù. ¿øÇÑ´Ù¸é ÆÄÀÏÀ» http://home.kabelfoon.nl/~hvdkooij/mull.schema·ÎºÎÅÍ ´Ù¿î¹ÞÀ» ¼ö ÀÖ´Ù. slapd.conf ÆÄÀÏ¿¡ ´ÙÀ½°ú °°ÀÌ core.schema Á¤ÀÇ ÆÄÀÏÀ» Æ÷ÇÔÇØ¾ß ÇÔÀ» ¸í½ÉÇ϶ó:

include /usr/local/etc/schema/core.schema
#       ÀÌ ½ºÅ°¸¶´Â 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

- º¯°æ ÇÊµå ¼³Á¤Çϱâ: ³Ý½ºÄÉÀÌÇÁ°¡ ÇÁ·ÎÆÄÀÏ µ¥ÀÌŸÀÇ Áö¿ªÀû º¹»çº»À» LDAP ¼­¹ö¿Í ºñ±³ÇÒ ¼ö ÀÖÀ½À» È®ÀÎÇϱâ À§ÇØ µ¥ÀÌŸº£À̽º³»ÀÇ º¯°æ ½Ã°£À» ¼³Á¤ÇÒ ÇÊ¿ä°¡ ÀÖ´Ù. slapd.conf ÆÄÀÏÀÇ µ¥ÀÌŸº£À̽º ºÎºÐ¿¡ ´ÙÀ½°ú °°Àº °£´ÜÇÑ ¶óÀÎÀ» ÷°¡ÇÏ´Â °ÍÀ¸·Î ÃæºÐÇÏ´Ù:

lastmod on

- Ldif ÆÄÀÏ º¯°æÇϱâ: ³Ý½ºÄÉÀÌÇÁÀÇ ·Î¿ì¹Ö ¿¢¼¼½º Ư¡À» ÀÌ¿ëÇÏ·Á°í ÇÏ´Â °¢ »ç¿ëÀÚµéÀº Ldif ÆÄÀÏ¿¡ ÇÁ·ÎÆÄÀÏ ¿£Æ®¸®¸¦ ÇÊ¿ä·Î ÇÑ´Ù. ÇÁ·ÎÆÄÀÏ ¿£Æ®¸®¸¦ °®´Â °£´ÜÇÑ Ldif ÆÄÀÏÀÇ ¿¹¸¦ º¸¶ó:

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

ÀÌ ¿£Æ®¸®µéÀº 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·Î ´ëüÇÑ´Ù. ÇÁ·ÎÆÄÀÏ¿¡ Àͼ÷Ä¡ ¾Ê´Ù¸é ³Ý½ºÄÉÀÌÇÁ Ä¿¹Â´ÏÄÉÀÌÅÍ ÆÐÅ°Áö¿¡ ÀÖ´Â ÇÁ·ÎÆÄÀÏ ¸Å´ÏÀú ¾îÇø®ÄÉÀ̼ÇÀ» ½ÇÇà½ÃÄѶó. ÀÌ´Â µ¿ÀÏ ¸Ó½Å¿¡¼­ ¿©·¯»ç¶÷ÀÌ ºê¶ó¿ìÀú¸¦ »ç¿ëÇÒ ¼ö ÀÖµµ·Ï ¼³°èµÈ ¾îÇø®ÄÉÀ̼ÇÀ¸·Î ºê¶ó¿ìÀú¿¡ ´ëÇØ °¢ÀÚ ÀÚ½ÅÀÇ °íÀ¯ÇÑ ¼³Á¤À» °¡Áú ¼ö ÀÖ´Ù.

¸¶Áö¸·Àº ¼­¹ö¸¦ Àç½ÃÀÛÇÏ´Â °ÍÀÌ´Ù. À̸¦ ¾ÈÀüÇÏ°Ô ÇÏ´Â ¹æ¹ý°ú ´Ù½Ã ½ÃÀÛÇÏ´Â ¹æ¹ýÀº °¢°¢ 4.2Àý°ú 4ÀýÀ» º¸±æ ¹Ù¶õ´Ù.

6.2 ³Ý½ºÄÉÀÌÇÁ ÁÖ¼Ò·Ï

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À» ÀÌ¿ëÇØ Áøº¸µÈ ÁúÀǸ¦ ÇغÁ¶ó.

6.3 LDAP Migration Tools

LDAP À̵¿ µµ±¸´Â ¼³Á¤ ÆÄÀÏÀ» LDIF Æ÷¸ËÀ¸·Î º¯È¯Çϴµ¥ »ç¿ëµÇ´Â ÆÞ ½ºÅ©¸³Æ® ¸ðÀ½Àε¥ PADL ¼ÒÇÁÆ®¿þ¾î ȸ»ç¿¡¼­ Á¦°øµÈ´Ù. ÀúÀÚ´Â À̸¦ »ç¿ëÇϱâÀü¿¡, ÀÚÀ¯·ÎÀÌ »ç¿ëÇÒ ¼ö ÀÖÀ½¿¡µµ, ¶óÀ̼¾½º¸¦ ÀÐ¾î º¸±æ ±ÇÇÑ´Ù. »ç¿ëÀÚ¸¦ ÀÎÁõÇϱâ À§ÇØ LDAP ¼­¹ö¸¦ ÀÌ¿ëÇÒ °èȹÀ̶ó¸é ÀÌ µµ±¸´Â¸Å¿ì À¯¿ëÇÒ °ÍÀÌ´Ù. NIS ¶Ç´Â password ¾ÆÄ«À̺êµéÀ» LDAP ¼­¹ö¿Í ȣȯµÇ°Ô ÇÏ´Â LDIF Æ÷¸ËÀ¸·Î º¯È¯Çϱâ À§ÇØ À̵¿ µµ±¸¸¦ »ç¿ëÇ϶ó. ¶ÇÇÑ »ç¿ëÀÚ, ±×·ì, ¾Ù¸®¾î½º(aliases), È£½ºÆ®, ³Ý±×·ì, ÇÁ·ÎÅäÄÝ, RPCs¿Í ¼­ºñ½º¸¦ ±âÁ¸ ³×ÀÓ ¼­ºñ½º(NIS, flat ÆÄÀÏ°ú NetInfo)·ÎºÎÅÍ LDIF Æ÷¸ËÀ¸·Î À̵¿Çϱâ À§ÇØ ½ºÅ©¸³Æ®¸¦ Àû¿ëÇ϶ó. LDAP À̵¿ µµ±¸ÀÇ ´Ù¿î·Îµå¿Í ´õ¿í ¸¹Àº Á¤º¸¸¦ ¾ò±â À§Çؼ­ ´ÙÀ½ ÁÖ¼Ò·Î °¡¶ó:

http://www.padl.com/tools.html

ÆÐÅ°Áö¿¡ README ÆÄÀÏÀÌÀִµ¥ ½ºÅ©¸³Æ® ÆÄÀÏ À̸§Àº Á÷°üÀûÀε¥ ¿ì¼± README ÆÄÀÏÀ» ÀÐ°í ³­ÈÄ ½ºÅ©¸³Æ®¸¦ ½ÇÇàÇÏ±æ ¹Ù¶õ´Ù.

6.4 LDAP¸¦ »ç¿ëÇÑ ÀÎÁõ

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 ÇüÅ·ΠÀÌ¿ëÇÒ ¼ö ÀÖ´Ù:

http://www.padl.com/pam_ldap.html

ÀúÀÚ´Â ¸®´ª½º ¹èÆ÷ÆÇ¿¡ PAMÀÌ ¼³Ä¡µÇ¾î ÀÖ´Ù°í °¡Á¤ÇÑ´Ù. ÀÌ·¸Áö ¾ÊÀº °æ¿ì ´ÙÀ½ ÁÖ¼Ò http://www.kernel.org/pub/linux/libs/pam º¸±æ ¹Ù¶õ´Ù. ´Ù¾çÇÑ ¸®´ª½º ¹èÆ÷ÆǵéÀº PAM°ú °ü·ÃÇÏ¿© ¼­·Î ´Ù¸¥ Ç¥ÁØ ¼³Á¤À» »ç¿ëÇÑ´Ù. ´ë°³ PAM ¼³Á¤ ÆÄÀÏÀº /etc/pam.d µð·ºÅ丮³»¿¡ Á¸ÀçÇÑ´Ù. ÀÌ µð·ºÅ丮¿¡¼­ ¸®´ª½º ¹Ú½º¿¡¼­ ¿î¿µµÇ°í ÀÖ´Â °¢ ¼­ºñ½º¿¡ ´ëÇÑ ÆÄÀÏÀ» ¹ß°ßÇÒ ¼ö ÀÖ´Ù. ¿¹¸¦µé¾î ¸®´ª½º°¡ ºÎÆÃµÈ ÈÄ »ç¿ëÀÚµéÀÇ ·Î±×Àο¡ LDAP ¼­¹ö¸¦ »ç¿ëÇÏ±æ ¿øÇÑ´Ù¸é LDAP PAM ¸ðµâÀ»¼³Ä¡ÇÏ°í /etc/pam.d µð·ºÅ丮³» login ÆÄÀÏ¿¡ ´ÙÀ½ ³»¿ëÀ» ÆíÁýÇϱæ¹Ù¶õ´Ù:

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

6.5 ±×·¡ÇÈ LDAP µµ±¸

  • Kldap
    Kldap´Â KDE ȯ°æÀÇ ±×·¡ÇÈ LDAP Ŭ¶óÀ̾ðÆ®·Î ¿ì¼öÇÑ ÀÎÅÍÆäÀ̽º¸¦ °®À¸¸ç µð·ºÅ丮¿¡ ÀúÀåµÈ ¸ðµç Á¤º¸
    Æ®¸®¸¦ º¼ ¼ö ÀÖ´Ù. ¾îÇø®ÄÉÀ̼ÇÀ¸·ÎºÎÅÍ ¾à°£ÀÇ screenshot¸¦ °Ë»çÇÒ ¼ö ÀÖÀ¸¸ç ´ÙÀ½ ÁÖ¼Ò¿¡¼­ ´Ù¿î·Îµå
    ¹ÞÀ» ¼ö ÀÖ´Ù.
    
    http://www.mountpoint.ch/oliver/kldap/
  • GQ
    GQ´Â º¸´Ù °£´ÜÇÑ ÀÎÅÍÆäÀ̽º¸¦ °®´Â ´Ù¸¥ ±×·¡ÇÈ LDAP Ŭ¶óÀ̾ðÆ®·Î GNOME ȯ°æÀ» À§ÇØÀÛ¼ºµÇ¾úÁö¸¸
    KDE ȯ°æ¿¡¼­µµ ÀÛµ¿µÈ´Ù. Kldapµµ ¶ÇÇÑ GNOME ȯ°æ¿¡¼­ ÀÛµ¿ÇÑ´Ù. ´Ù¿î·Îµå ¹× ´õ¿í ¸¹Àº Á¤º¸¸¦ ¾ò±â
    À§Çؼ­´Â ´ÙÀ½ ÁÖ¼Ò·Î °¡±æ ¹Ù¶õ´Ù:
    
    http://biot.com/gq/

6.6 ·Î±×

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)¸¦ Áö¿øÇÏ´Â ½Ã½ºÅÛ¿¡¸¸ ´ÜÁö Çã¿ëµÈ´Ù.

»ý¼ºµÈ ·Î±×¸¦ º¸¶ó. À̵éÀº ÁúÀÇ, °»½Å, ¹ÙÀεù µî°ú °ü°èµÈ ¹®Á¦¸¦ ÇØ°áÇϴµ¥ »ó´çÇÑ µµ¿òÀ» Á¦°øÇÒ °ÍÀÌ´Ù.

7. Âü°í ¹®Çå

On this section you will find additional documentation about LDAP: useful URLs, cool books and definition RFCs.

7.1 URLs

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:

7.2 ¼­Àû

These are the most popular and useful books about LDAP:

  • Implementing LDAP by Mark Wilcox
  • LDAP: Programming Directory-Enabled Applications with Lightweight Directory Access Protocol by Howes and Smith
  • Understanding and Deploying LDAP Directory Servers by Howes, Smith, and Good

7.3 RFCs

The RFCsw that support the LDAP development efforts:

  • RFC 1558: A String Representation of LDAP Search Filters
  • RFC 1777: Lightweight Directory Access Protocol
  • RFC 1778: The String Representation of Standard Attribute Syntaxes
  • RFC 1779: A String Representation of Distinguished Names
  • RFC 1781: Using the OSI Directory to Achieve User Friendly Naming
  • RFC 1798: Connectionless LDAP
  • RFC 1823: The LDAP Application Programming Interface
  • RFC 1959: An LDAP URL Format
  • RFC 1960: A String Representation of LDAP Search Filters
  • RFC 2251: Lightweight Directory Access Protocol (v3)
  • RFC 2307: LDAP as a Network Information Service RFC 1558: A String Representation of LDAP Search Filters


ID
Password
Join
Stop searching forever. Happiness is unattainable.


sponsored by andamiro
sponsored by cdnetworks
sponsored by HP

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2003-08-10 11:52:30
Processing time 0.0018 sec