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 °ü¸®ÀÚ Áöħ¿¡ ±Ù°ÅÇÑ´Ù.
ÀÌ ¹®¼´Â LDAP µð·ºÅ丮 ¼¹ö¸¦ ¼³Ä¡ÇÏ¿© »ç¿ëÇϴµ¥ ÀÖ¾î µµ¿òÀ» ÁÖ±â À§ÇÑ
°ÍÀ¸·Î LDAP ¼¹öÀÇ ¼³Ä¡, ¼³Á¤, ±¸µ¿ ¹× À¯Áö º¸¼ö ¹æ¹ýÀ» ¹è¿î´Ù. ±× ÈÄ LDAP
Ŭ¶óÀ̾ðÆ®¿Í À¯Æ¿¸®Æ¼¸¦ »ç¿ëÇÏ¿© µð·ºÅ丮³»¿¡ Á¤º¸¸¦ ÀúÀå, °Ë»ö ¹×
°»½ÅÇÏ´Â ¹æ¹ýÀ» ¹è¿î´Ù. LDAP µð·ºÅ丮 ¼¹ö µ¥¸ó, slapdÀº
¿©·¯°¡Áö ¸¹Àº UNIX Ç÷§Æû¿¡¼ ÀÛµ¿µÈ´Ù.
LDAP ¼¹öµé°£ÀÇ »çº»À» ´Ù·ç´Â ´Ù¸¥ µ¥¸ó, slurpdÀÌ Àִµ¥,
´çºÐ°£Àº ¿°µÎ¿¡ µÑ ÇÊ¿ä°¡ ¾ø´Ù. ÀÌ ¹®¼¿¡¼´Â »çº»¾øÀÌ, Áï slurpd
µ¥¸ó¾øÀÌ, ´ÜÁö ·ÎÄà µµ¸ÞÀο¡ ´ëÇØ µð·ºÅ丮 ¼ºñ½º¸¦ Á¦°øÇÏ´Â slapd
µ¥¸ó¸¸À» ÀÛµ¿ÇÑ´Ù.
ÀÌ ¹®¼´Â °£´ÜÇÑ ¼¹ö ¼³Á¤À» ´Ù·ç´Âµ¥ óÀ½ ½ÃÀÛÀ» À§ÇØ À¯ÀÍÇϸç ÃßÈÄ
ÇÊ¿ä½Ã ´Ù¸¥ ¼³Á¤À¸·Î °»½ÅÇÏ´Â °ÍÀº ½±´Ù. ÀÌ ¹®¼ÀÇ Á¤º¸´Â LDAP ÇÁ·ÎÅäÄÝ
»ç¿ë¿¡ ´ëÇÑ Á¤È®ÇÑ Ãʱâȸ¦ ¼³¸íÇÑ´Ù. ¾Æ¸¶µµ ÀÌ ¹®¼¸¦ ÀÐÀº ÈÄ¿¡´Â
¸®´ª½º ¼¹ö ´É·ÂÀÇ È®Àå»Ó¸¸ ¾Æ´Ï¶ó ±âÁ¸ÀÇ »ç¿ë°¡´ÉÇÑ C, C++ °ú ÀÚ¹Ù °³¹ß
µµ±¸(JDKs)¸¦ »ç¿ëÇÏ¿© ÀÚ½ÅÀÇ Å¬¶óÀ̾ðÆ®¸¦ ÀÛ¼ºÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù.
LDAP´Â µð·ºÅ丮 ¼ºñ½º ¿¢¼¼½º¸¦ À§ÇÑ Å¬¶óÀ̾ðÆ®-¼¹ö ÇÁ·ÎÅäÄÝ·Î Ãʱ⿡´Â
X.500ÀÇ ÀüÀ§(front-end)·Î »ç¿ëµÇ¾úÀ¸³ª ½ºÅÄµå ¾ó·Ð(stand-alone) ¹× ´Ù¸¥ Á¾·ùÀÇ
µð·ºÅ丮 ¼¹öµé°ú ÇÔ²² »ç¿ëµÉ ¼ö ÀÖ´Ù.
µð·ºÅ丮´Â µ¥ÀÌŸº£À̽º¿Í À¯»çÇÏÁö¸¸ ´õ¿í ¼³¸íÀûÀÌ°í ¼Ó¼º¿¡ ±âÃÊÇÑ
Á¤º¸¸¦ °®°í ÀÖ´Ù. µð·ºÅ丮³»ÀÇ Á¤º¸´Â ÀϹÝÀûÀ¸·Î ¾²±âº¸´Ù´Â Àбâ ÀÛ¾÷¿¡
´õ¿í ºó¹øÈ÷ ÀÌ¿ëµÈ´Ù. µû¶ó¼, µð·ºÅ丮´Â Åë»óÀûÀ¸·Î Á¤±Ô
µ¥ÀÌŸº£À̽ºµéÀÌ ´Ù·®ÀÇ º¹ÀâÇÑ(high-volume complex) °»½ÅÀ» À§ÇØ »ç¿ëÇÏ´Â
º¹ÀâÇÑ Ã³¸®(transaction) ¶Ç´Â ·Ñ¹é °èȹ(ÇÁ·Î±×·¥¿¡ µû¶ó ¹Ù·Î ÀüÀÇ Ã¼Å©Æ÷ÀÎÆ®·Î
µ¹¾Æ°¡±â, roll-back)À» ¼öÇàÇÏÁö ¾Ê´Â´Ù. µð·ºÅ丮´Â ÀϹÝÀûÀ¸·Î, Àû¾îµµ
Çã¿ëµÈ´Ù¸é, ÀüºÎ °»½ÅµÇ°Å³ª ¾Æ¹« °Íµµ º¯°æµÇÁö ¾Ê´Â´Ù.
µð·ºÅ丮´Â ´Ù·®ÀÇ ¼ø¶÷(lookup) ¶Ç´Â °Ë»ö ¿¬»ê¿¡ ´ëÇØ ºü¸£°Ô ÀÀ´äÇϱâ
À§ÇØ Á¶Á¤µÈ´Ù. µð·ºÅ丮´Â ÀÀ´ä ½Ã°£À» °¨¼Ò½ÃÅ°´Â ¹Ý¸é °¡¿ë¼º°ú ½Å·Ú¼ºÀ»
Áõ´ë½ÃÅ°±â À§ÇØ Á¤º¸¸¦ ³Î¸® º¹Á¦ÇÒ ¼ö ÀÖ´Ù. µð·ºÅ丮 Á¤º¸°¡ º¹Á¦µÉ ¶§
º¹Á¦µÈ Á¤º¸µé »çÀÌÀÇ ÀϽÃÀûÀÎ ºÒÀÏÄ¡´Â °á±¹ ÀÏÄ¡µÈ´Ù¸é ¹«¹æÇÒ °ÍÀÌ´Ù.
µð·ºÅ丮 ¼ºñ½º¸¦ Á¦°øÇÏ´Â ¸¹Àº ´Ù¸¥ ¹æ¹ýÀÌ ÀÖ´Ù. °¢°¢ÀÇ ¹æ¹ýµéÀº ´Ù¾çÇÑ
Á¾·ùÀÇ Á¤º¸°¡ µð·ºÅ丮¿¡ ÀúÀåµÇ´Â °ÍÀ» Çã¿ëÇϸç, ±×·¯ÇÑ Á¤º¸°¡ ¾î¶»°Ô
ÂüÁ¶, ÁúÀÇ ¹× °»½ÅµÉ ¼ö ÀÖ´ÂÁö ¶Ç´Â Çã°¡¹ÞÁö ¾ÊÀº ¿¢¼¼½º·ÎºÎÅÍ ¾î¶»°Ô
º¸È£µÇ´ÂÁö µî¿¡ ´ëÇÑ ¿©·¯°¡Áö ¿ä°ÇÀ» µÐ´Ù. ¾î¶² µð·ºÅ丮 ¼ºñ½º´Â Á¦ÇѵÈ
»óȲ(¿¹¸¦ µé¸é ´Üµ¶ ¸Ó½Å¿¡¼ finger ¼ºñ½º)¿¡ ´ëÇؼ ¼ºñ½º¸¦ Á¦°øÇÏ´Â
Áö¿ªÀûÀÎ ¹Ý¸é ´Ù¸¥ ¼ºñ½º´Â ´õ¿í ³ÐÀº »óȲ¿¡ ´ëÇؼ ¼ºñ½º¸¦ Á¦°øÇÏ´Â
ÀüüÀûÀÌ´Ù.
LDAP µð·ºÅ丮 ¼ºñ½º´Â Ŭ¶óÀ̾ðÆ®-¼¹ö ¸ðµ¨¿¡ ±âÃÊÇϴµ¥, Çϳª ¶Ç´Â ±×
ÀÌ»óÀÇ LDAP ¼¹öµéÀÌ LDAP µð·ºÅ丮 Æ®¸® ¶Ç´Â ¹é¿£µå(backend)
µ¥ÀÌŸº£À̽º¸¦ ±¸¼ºÇÏ´Â ÀڷḦ °®°í ÀÖ´Ù. LDAP Ŭ¶óÀ̾ðÆ®´Â LDAP ¼¹ö¿¡
¿¬°áÇØ ÁúÀÇÇϸç, ¼¹ö´Â ´ä ¶Ç´Â Ŭ¶óÀ̾ðÆ®°¡ ´õ ¸¹Àº Á¤º¸¸¦ ¾òÀ» ¼ö ÀÖ´Â
Æ÷ÀÎÅÍ(ÀϹÝÀûÀ¸·Î ´Ù¸¥ LDAP¼¹ö)¸¦ °®°í ÀÀ´äÇÑ´Ù. Ŭ¶óÀ̾ðÆ®´Â ¾î¶² LDAP
¼¹ö¿¡ ¿¬°áÇÏ´øÁö °£¿¡ µ¿ÀÏÇÑ µð·ºÅ丮 ±¸Á¶¸¦ º»´Ù; ÇÑ LDAP ¼¹ö¿¡
º¸³»Áö´Â À̸§Àº ´Ù¸¥ LDAP¿¡ ÀÖÀ» ¼ö ÀÖ´Â µ¿ÀÏÇÑ ¿£Æ®¸®¸¦ ÂüÁ¶Çϸç ÀÌ°ÍÀÌ
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Àý
ÀÇ Ã¹ ¹®´ÜÀ¸·Î °¡¶ó.
ÀÌ ¹®¼´Â µ¶Àڵ鿡 ÀÇÇØ Á¦°øµÇ´Â Çǵå¹é¿¡ ±âÃÊÇØ ¼öÁ¤°ú °»½ÅµÉ ¼ö ÀÖ´Ù.
ÀÌ ¹®¼ÀÇ »õ·Î¿î ¹öÀü¿¡ ´ëÇؼ´Â ´ÙÀ½À» ÂüÁ¶ÇØ¾ß ÇÑ´Ù:
http://www.mobilesoft.com.br/HOWTO/LDAP-HOWTO.html
ÀÌ ¹®¼¿¡¼ »ç¿ëÇÒ ¼ö ÀÖ´Â ¾î¶² Á¤º¸¿¡ ´ëÇØ ¾î¶² ÀDZ¸½ÉÀÌ ÀÖ´Ù¸é ´ÙÀ½
ÀüÀÚ¿ìÆí ÁÖ¼Ò·Î ¸ÞÀÏÀ» º¸³»ÁÖ±æ ¹Ù¶õ´Ù.
malere@yahoo.com
ÁÖ¼®°ú/¶Ç´Â Á¦¾ÈÀÌ ÀÖ´Ù¸é ¶ÇÇÑ ÀúÀÚ¿¡°Ô ¾Ë·ÁÁÖ±æ ¹Ù¶õ´Ù.
ÀÌ ÀýÀº ½Ã±âº°·Î ºÐ·ùµÈ º» ¹ßÇ¥ ¹®¼¸¦ ¿°ÅÇÑ´Ù. °¢ ¹ßÇ¥ ¹®¼´Â Ãʱâ
¹öÀü¿¡ µµÀÔµÈ º¯°æ, »õ·Î¿î Ãß°¡ »çÇ× ¹× ¼öÁ¤À» Æ÷ÇÔÇÑ´Ù.
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:
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
ÀÌ ¹®¼´Â NetherlandsÀÇ TUDelft ´ëÇп¡¼ ¼öÇàÇÑ ÀÎÅϽÊÀÇ °á°úÀÌ´Ù.
ÀúÀÚ´Â ÀÌ ¹®¼¸¦ ¾²µµ·Ï ¿ë±â¸¦ ÁØ ¸¹Àº ºÐµé¿¡°Ô °í¸¶¿òÀ» Ç¥ÇöÇÏ°í ½Í´Ù:
Rene van Leuken°ú Wim Tiwon¿¡ ¸Å¿ì °í¸¿°Ô »ý°¢ÇÑ´Ù. ±×µéÀº ¶ÇÇÑ ÀúÀÚ¿Í
°°Àº ¸®´ª½º ÆÒµéÀÌ´Ù. ÀúÀÚ´Â ÀÌ ¹®¼¿¡ ±â¿©ÇÑ µ¶ÀϾîÆÇ LDAP HOWTO ¹®¼ÀÇ
ÀúÀÚÀÎ Thomas Bendler¿Í LDP ÇÁ·ÎÁ§Æ®ÀÇ À§´ëÇÑ Áö¿øÀÚÀÎ Joshua¿¡°Ô
°í¸¶¿òÀ» Ç¥ÇöÇÏ°í ½Í´Ù.
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
LDAP ¼¹ö ¼³Ä¡´Â ¼±Çà Çʼö ÆÐÅ°Áö ¼³Ä¡(¼³Ä¡µÇ¾î ÀÖÁö ¾ÊÀ» °æ¿ì), ¼¹ö
´Ù¿î·Îµå, ¼ÒÇÁÆ®¿þ¾î ¾ÐÃàÇØü, Makefile ¼³Á¤°ú ¼¹ö ±¸ÃàÀÇ ´Ù¼¸ ´Ü°è¸¦
ÅëÇØ ÀÌ·ç¾îÁø´Ù.
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 ·¹º§ ¹æȺ®ÀÌ Á¦°øÇÏ´Â °Í°ú
°°Àº) »ç¿ëÀ» ÃßõÇÑ´Ù.
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 ¿´´Ù.
tar gzipped ÆÐÅ°Áö¸¦ ±¸ÇÑ ÈÄ ¾ÐÃàÇØÁ¦ÇÑ´Ù.
¿ì¼± ÆÐÅ°Áö¸¦ ¿øÇÏ´Â µð·ºÅ丮, ¿¹¸¦ µé¸é /usr/local, ·Î º¹»çÇÏ±æ ¹Ù¶õ´Ù.
±×¸®°í ´ÙÀ½ÀÇ ¸í·ÉÀ» »ç¿ëÇÏ±æ ¹Ù¶õ´Ù:
tar xvzf openldap-stable.tgz
¸¶Âù°¡Áö·Î ´ÙÀ½ ¸í·ÉÀ» »ç¿ëÇÒ ¼öµµ ÀÖ´Ù:
gunzip openldap-stable.tgz | tar xvf -
À¥»çÀÌÆ®¿¡ ÃÖÀûÀÇ ¼ÒÇÁÆ®¿þ¾î¸¦ ¼³Ä¡ÇÒ ¼ö ÀÖµµ·Ï °³º°È(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
¸ðµç °ÍÀÌ Àß ÁøÇàµÇ´ÂÁö º¸±â À§ÇØ È¸é¿¡ Ãâ·ÂµÇ´Â ³»¿ëÀ» º¸±æ ¹Ù¶õ´Ù.
¼ÒÇÁÆ®¿þ¾î¸¦ ¼³Á¤ÇÑ ÈÄ ±¸ÃàÀ» ½ÃÀÛÇϴµ¥ ¿ì¼± ´ÙÀ½ ¸í·ÉÀ» ÀÌ¿ëÇÏ¿©
ÀÇÁ¸¼ºÀ» ±¸ÃàÇÑ´Ù:
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
¼³Á¤¿¡ ´ëÇÑ ¼º°øÀûÀÎ ¸Þ½ÃÁö¸¦ º¼ ¼ö ÀÖ¾ú´Ù.
¼ÒÇÁÆ®¿þ¾îÀÇ ¼³Ä¡ ¹× ±¸Ãà ¿Ï·áÈÄ »çÀÌÆ®¿¡ ÀûÇÕÇÏ°Ô ¼³Á¤ÇÒ ¼ö Àִµ¥ ¸ðµç
slapd ·±Å¸ÀÓ ¼³Á¤Àº ¼³Á¤ ½ºÅ©¸³Æ®¿¡¼ ÁöÁ¤ÇÑ prefix µð·ºÅ丮 ¶Ç´Â
default·Î /usr/local/etc/openldap µð·ºÅ丮¿¡ ¼³Ä¡µÈ
slapd.conf ÆÄÀÏÀ» ÅëÇØ ÀÌ·ç¾îÁø´Ù.
ÀÌ ÀýÀº slapd.conf ÆÄÀϳ»ÀÇ ÀϹÝÀûÀ¸·Î »ç¿ëµÇ´Â ¼³Á¤
Áö½Ã(configuration directive)µéÀ» ¼¼ºÎÀûÀ¸·Î ¼³¸íÇÑ´Ù. ¿ÏÀüÇÑ ¸®½ºÆ®¸¦
À§Çؼ´Â slap.conf(5) ¸Å´º¾ó ÆäÀÌÁö¸¦ º¸±â ¹Ù¶õ´Ù. ¼³Á¤ ÆÄÀÏ Áö½ÃµéÀº
Àü¿ªÀû, ¹é¿£µå ƯÁ¤Àû ¹× µ¥ÀÌŸ ƯÁ¤ÀûÀÎ ºÎ¹®À¸·Î ºÐ·ùµÈ´Ù. ÀÌ Àý¿¡¼
Áö½ÃÀÇ ¼³¸í°ú ±×µéÀÇ default °ªµé(Á¸ÀçÇÑ´Ù¸é) ¹× ±×µé »ç¿ëÀÇ ¿¹¸¦ º¼ ¼ö
ÀÖ´Ù.
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 µð·ºÅ丮¿¡ ¼³Ä¡µÈ´Ù.
ÀÌ Àý¿¡ ±â¼úµÈ Áö½ÃµéÀº ¹é¿£µå ¶Ç´Â µ¥ÀÌŸº£À̽º Á¤ÀÇ¿¡¼ Ưº°È÷
¹«È¿ÈµÇÁö ¾Ê´Â´Ù¸é ¸ðµç ¹é¿£µå¿¡ Àû¿ëµÈ´Ù. ½ÇÁ¦ ÅؽºÆ®¿¡ ÀÇÇØ ´ëüµÇ´Â
ÀμöµéÀº <> °ýÈ£³»¿¡ ÀÖ´Ù.
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
ÀÌ ÀýÀÇ Áö½ÃµéÀº ¿À·ÎÁö ±×µéÀÌ Á¤ÀÇµÈ ¹é¿£µå¿¡¸¸ Àû¿ëµÇ´Âµ¥ ¸ðµç Á¾·ùÀÇ
¹é¿£µå°¡ ÀÌ Áö½ÃµéÀ» Áö¿øÇÑ´Ù. ¹é¿£µå Áö½Ã´Â °°Àº À¯ÇüÀÇ ¸ðµç
µ¥ÀÌÅͺ£À̽º ÀνºÅϽº¿¡ Àû¿ëµÇÁö¸¸ ¾î¶² Áö½Ã³Ä¿¡ µû¶ó µ¥ÀÌÅͺ£À̽º
Áö½Ã¿¡ ÀÇÇØ ¹«È¿ÈµÉ ¼ö ÀÖ´Ù.
backend <type>
ÀÌ Áö½Ã´Â ¹é¿£µå Á¤ÀÇÀÇ ½ÃÀÛÀ» ³ªÅ¸³½´Ù. <type>Àº ldbm, shell, passwd ¶Ç´Â ´Ù¸¥ Áö¿øµÇ´Â ¹é¿£µå À¯Çü Áß
Çϳª¿©¾ß ÇÑ´Ù.
ÀÌ ÀýÀÇ Áö½ÃµéÀº ¿À·ÎÁö ±×µéÀÌ Á¤ÀÇµÈ µ¥ÀÌŸº£À̽º¿¡¸¸ Àû¿ëµÇ´Âµ¥ ¸ðµç
Á¾·ùÀÇ µ¥ÀÌŸº£À̽º°¡ ÀÌ Áö½ÃµéÀ» Áö¿øÇÑ´Ù.
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
ÀÌ Ç׸ñÀÇ Áö½Ã´Â ´ÜÁö 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
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.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 °ü¸®ÀÚ ÁöħÀ» º¸¶ó.
´ÙÀ½Àº ¼³¸í ÅؽºÆ®°¡ µé¾îÀÖ´Â ¼³Á¤ ÆÄÀÏ ¿¹Á¦ÀÌ´Ù. ÀÌ´Â 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
slapd´Â ½ºÅÄµå ¾ó·Ð ¼¹ö·Î¼ ÀÛµ¿µÇµµ·Ï ¼³°èµÇ¾î ÀÖ¾î ¼¹ö°¡
ij½Ì ÀÌ¿ë, ±âº» µ¥ÀÌÅͺ£À̽º¿ÍÀÇ µ¿½Ã ÀÛ¿ë ¹®Á¦ ó¸® ¹× ½Ã½ºÅÛ ÀÚ¿ø
º¸È£¸¦ ÇÒ ¼ö ÀÖ´Ù. inetd(8)·ÎºÎÅÍÀÇ ÀÛµ¿Àº ¿É¼ÇÀÌ ¾Æ´Ï´Ù.
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 ¿É¼ÇÀ»
°®°í ÄÄÆÄÀϵǾîÀÖ¾î¾ß ÇÑ´Ù.
ÀϹÝÀûÀ¸·Î slapd ´Â ´ÙÀ½°ú °°ÀÌ ±¸µ¿½ÃŲ´Ù:
/usr/local/etc/libexec/slapd [<option>]*
/usr/local/etc/libexec´Â configure¿¡ ÀÇÇØ °áÁ¤µÇ¸ç <option>Àº
À§¿¡¼ ¼³¸íÇÑ ¿É¼Ç(¶Ç´Â slapd(8)) ÁßÀÇ ÇϳªÀÌ´Ù. ·¹º§ 0¸¦ Æ÷ÇÔÇÏ¿©
µð¹ö±ë ·¹º§À» ÁöÁ¤ÇÏÁö ¾Ê´Â´Ù¸é slapd´Â ÀÚµ¿ÀûÀ¸·Î ºÐ±â(fork)ÇÏ¿© ±×
ÀÚ½ÅÀÇ Á¦¾î Å͹̳ηκÎÅÍ ºÐ¸®Çؼ ¹é±×¶ó¿îµå¿¡¼ ½ÇÇàµÈ´Ù.
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 ÆÄÀÏÀÇ À§Ä¡¸¦ º¯°æÇÒ ¼ö ÀÖ´Ù.
ÀÌ Àý¿¡¼´Â scratch·ÎºÎÅÍ slapd µ¥ÀÌŸº£À̽º¸¦ »ý¼ºÇÏ´Â ¹æ¹ý¿¡ ´ëÇØ
³íÀÇÇÑ´Ù. µ¥ÀÌŸº£À̽º´Â µÎ°¡Áö ¹æ¹ýÀ¸·Î »ý¼ºÇÒ ¼ö ÀÖ´Ù. ù°, LDAP¸¦
ÀÌ¿ëÇÏ¿© ¿Â¶óÀλ󿡼 µ¥ÀÌÅͺ£À̽º¸¦ »ý¼ºÇÒ ¼ö Àִµ¥ °£´ÜÈ÷ slapd¸¦
±¸µ¿ÇÏ°í ¼±ÅÃÇÑ LDAP Ŭ¶óÀ̾ðÆ®¸¦ ÀÌ¿ëÇÏ¿© ¿£Æ®¸®¸¦ Ãß°¡ÇØÁÖ¸é µÈ´Ù. ÀÌ
¹æ¹ýÀº ºñ±³Àû ÀÛÀº µ¥ÀÌÅͺ£À̽º¿¡ ´ëÇؼ´Â ´õÇÒ ³ªÀ§¾øÀÌ ÁÁ´Ù (¿ä±¸¿¡
µû¶ó ¼ö¹é ¶Ç´Â ¼öõ°³ÀÇ ¿£Æ®¸®).
µÎ ¹ø°´Â À妽º »ý¼º µµ±¸¸¦ ÀÌ¿ëÇÏ¿© ¿ÀÇÁ¶óÀλ󿡼 µ¥ÀÌÅͺ£À̽º¸¦
»ý¼ºÇÏ´Â °ÍÀε¥ LDAP ¹æ¹ýÀ» ÀÌ¿ëÇÒ ¶§ ¸Å¿ì ¿À·£ ½Ã°£ÀÌ ¼Ò¿äµÉ ¼ö ÀÖ´Â
¹æ´ëÇÑ ¿£Æ®¸® »ý¼º ¶Ç´Â µ¥ÀÌÅͺ£À̽º°¡ »ý¼ºµÇ´Â µ¿¾È ¿¢¼¼½ºµÇÁö ¾Ê±â¸¦
¿øÇÒ °æ¿ì ÁÁÀº ¹æ¹ýÀÌ´Ù.
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:
µ¥ÀÌÅͺ£À̽º¸¦ »ý¼ºÇÏ´Â µÎ ¹ø° ¹æ¹ýÀº ´ÙÀ½¿¡ ¼³¸íµÈ À妽º »ý¼º µµ±¸¸¦
ÀÌ¿ëÇÏ¿© ¿ÀÇÁ¶óÀλ󿡼 ÀÛ¾÷À» ÇÏ´Â °ÍÀε¥ 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 ¿É¼ÇÀ» »ç¿ëÇÏ¿© ÁöÁ¤µÈ ÆÄÀÏ¿¡ ÀÛ¼ºµÈ´Ù.
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¸¦ ¿øÇÏÁö
¾Ê´Â´Ù¸é °Å±â¿¡ ±×µéÀ» ³ÖÁö ¸¶¶ó.
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 ¿É¼ÇÀº ´ëü(µðÆúÆ®·Î ±âÁ¸ °ªÀ» ´ëüÇÑ´Ù)¸¦ ³ªÅ¸³½´Ù.
ÀÌ ÀýÀº µð·ºÅ丮¸¦ ÁúÀÇÇϴµ¥ »ç¿ëÇÒ ¼ö ÀÖ´Â LDAP Ŭ¶óÀ̾ðÆ®ÀÎ Netscape
Address Book¿¡ °üÇÑ Á¤º¸¸¦ ´Ù·é´Ù. ¶ÇÇÑ ³Ý½ºÄÉÀÌÇÁ ³×ºñ°ÔÀÌÅÍ ¹öÀü 4.5
¶Ç´Â ±× ÀÌ»ó°ú LDAP ¼¹ö¸¦ ÀÌ¿ëÇÏ¿© ·Î¿ì¹Ö ¿¢¼¼½º(roaming access)¸¦
¼öÇàÇÏ´Â ¹æ¹ý¿¡ ´ëÇÑ ¼¼ºÎ»çÇ×µµ ¼³¸íÇÑ´Ù. ·Î¿ì¹Ö ¿¢¼¼½º´Â ´Ù ¼öÇàµÇÁö´Â
¾Ê±â ¶§¹®¿¡ OpenLDAP ¸ÞÀϸµ ¸®½ºÆ®¿¡ ¸Å¿ì ¸¹ÀÌ ³íÀǵǰí Àִµ¥ ´ëºÎºÐÀÇ
»ç¿ëÀÚµéÀº LDAP ¼¹ö¿¡ ´Ù¿î·Îµå ¹× ¾÷·Îµå¸¦ ÇÏ´Â ¹Ý¸é ³Ý½ºÄÉÀÌÇÁ
³×ºñ°ÔÀÌÅÍ°¡ LDAP ¼¹ö¿Í ÇÔ²² ÀÛµ¿µÇ´Â ¹æ½ÄÀ» ÁÁ¾ÆÇÏÁö ¾Ê´Â´Ù. µû¶ó¼
ÀýÀ» ÀÐÀº ÈÄ ·Î¿ì¹Ö ¿¢¼¼½º°¡ ¿øÇÏ´Â ¹æ½Ä´ë·Î ÀÛµ¿ÇÏÁö ¾Ê´Â´Ù ÇÏ´õ¶óµµ
±¥³äÄ¡ ¸»±â¸¦ ¹Ù¶õ´Ù. ¸¹Àº»ç¶÷µéÀÌ ÀÌ·¯ÇÑ °úÁ¤À» ÀÌ¹Ì °ÅÃÄ ¿Ô´Ù. ÀÌ ÀýÀº
»ç¶÷µé¿¡°Ô LDAP ÇÁ·ÎÅäÄÝÀÇ °¡´É¼º¿¡ ´ëÇÑ ¾ÆÀ̵ð¾î¸¦ Á¦°øÇϱâ À§ÇØ ÀÌ·±
Ư¡À» ¼Ò°³ÇÑ´Ù. slapd ÇÁ·Î¼¼½º¸¦ ¾ÈÀüÇÏ°Ô Á¾·áÇÏ´Â °Í°ú slapd ·Î±×¿¡
´ëÇÑ ´Ù¼ÒÀÇ Á¤º¸°¡ Á¦°øµÈ´Ù.
·Î¿ì¹Ö ¿¢¼¼½º¸¦ »ç¿ëÇÏ¸é ³Ý»óÀÇ ¾îµð¿¡ ÀÖ´øÁö ³Ý½ºÄÉÀÌÇÁ ³×ºñ°ÔÀÌÅÍ¿Í
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ÀýÀ» º¸±æ ¹Ù¶õ´Ù.
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À»
ÀÌ¿ëÇØ Áøº¸µÈ ÁúÀǸ¦ ÇغÁ¶ó.
LDAP À̵¿ µµ±¸´Â ¼³Á¤ ÆÄÀÏÀ» LDIF Æ÷¸ËÀ¸·Î º¯È¯Çϴµ¥ »ç¿ëµÇ´Â ÆÞ
½ºÅ©¸³Æ® ¸ðÀ½Àε¥ PADL ¼ÒÇÁÆ®¿þ¾î ȸ»ç¿¡¼ Á¦°øµÈ´Ù. ÀúÀÚ´Â À̸¦
»ç¿ëÇϱâÀü¿¡, ÀÚÀ¯·ÎÀÌ »ç¿ëÇÒ ¼ö ÀÖÀ½¿¡µµ, ¶óÀ̼¾½º¸¦ ÀÐ¾î º¸±æ ±ÇÇÑ´Ù.
»ç¿ëÀÚ¸¦ ÀÎÁõÇϱâ À§ÇØ LDAP ¼¹ö¸¦ ÀÌ¿ëÇÒ °èȹÀ̶ó¸é ÀÌ µµ±¸´Â¸Å¿ì
À¯¿ëÇÒ °ÍÀÌ´Ù. NIS ¶Ç´Â password ¾ÆÄ«À̺êµéÀ» LDAP ¼¹ö¿Í ȣȯµÇ°Ô ÇÏ´Â
LDIF Æ÷¸ËÀ¸·Î º¯È¯Çϱâ À§ÇØ À̵¿ µµ±¸¸¦ »ç¿ëÇ϶ó. ¶ÇÇÑ »ç¿ëÀÚ, ±×·ì,
¾Ù¸®¾î½º(aliases), È£½ºÆ®, ³Ý±×·ì, ÇÁ·ÎÅäÄÝ, RPCs¿Í ¼ºñ½º¸¦ ±âÁ¸ ³×ÀÓ
¼ºñ½º(NIS, flat ÆÄÀÏ°ú NetInfo)·ÎºÎÅÍ LDIF Æ÷¸ËÀ¸·Î À̵¿Çϱâ À§ÇØ
½ºÅ©¸³Æ®¸¦ Àû¿ëÇ϶ó. LDAP À̵¿ µµ±¸ÀÇ ´Ù¿î·Îµå¿Í ´õ¿í ¸¹Àº Á¤º¸¸¦ ¾ò±â
À§Çؼ ´ÙÀ½ ÁÖ¼Ò·Î °¡¶ó:
http://www.padl.com/tools.html
ÆÐÅ°Áö¿¡ README ÆÄÀÏÀÌÀִµ¥ ½ºÅ©¸³Æ® ÆÄÀÏ À̸§Àº Á÷°üÀûÀε¥ ¿ì¼±
README ÆÄÀÏÀ» ÀÐ°í ³ÈÄ ½ºÅ©¸³Æ®¸¦ ½ÇÇàÇÏ±æ ¹Ù¶õ´Ù.
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
- Kldap
Kldap´Â KDE ȯ°æÀÇ ±×·¡ÇÈ LDAP Ŭ¶óÀ̾ðÆ®·Î ¿ì¼öÇÑ ÀÎÅÍÆäÀ̽º¸¦ °®À¸¸ç µð·ºÅ丮¿¡ ÀúÀåµÈ ¸ðµç Á¤º¸
Æ®¸®¸¦ º¼ ¼ö ÀÖ´Ù. ¾îÇø®ÄÉÀ̼ÇÀ¸·ÎºÎÅÍ ¾à°£ÀÇ screenshot¸¦ °Ë»çÇÒ ¼ö ÀÖÀ¸¸ç ´ÙÀ½ ÁÖ¼Ò¿¡¼ ´Ù¿î·Îµå
¹ÞÀ» ¼ö ÀÖ´Ù.
http://www.mountpoint.ch/oliver/kldap/
- GQ
GQ´Â º¸´Ù °£´ÜÇÑ ÀÎÅÍÆäÀ̽º¸¦ °®´Â ´Ù¸¥ ±×·¡ÇÈ LDAP Ŭ¶óÀ̾ðÆ®·Î GNOME ȯ°æÀ» À§ÇØÀÛ¼ºµÇ¾úÁö¸¸
KDE ȯ°æ¿¡¼µµ ÀÛµ¿µÈ´Ù. Kldapµµ ¶ÇÇÑ GNOME ȯ°æ¿¡¼ ÀÛµ¿ÇÑ´Ù. ´Ù¿î·Îµå ¹× ´õ¿í ¸¹Àº Á¤º¸¸¦ ¾ò±â
À§Çؼ´Â ´ÙÀ½ ÁÖ¼Ò·Î °¡±æ ¹Ù¶õ´Ù:
http://biot.com/gq/
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)¸¦ Áö¿øÇÏ´Â ½Ã½ºÅÛ¿¡¸¸ ´ÜÁö Çã¿ëµÈ´Ù.
»ý¼ºµÈ ·Î±×¸¦ º¸¶ó. À̵éÀº ÁúÀÇ, °»½Å, ¹ÙÀεù µî°ú °ü°èµÈ ¹®Á¦¸¦
ÇØ°áÇϴµ¥ »ó´çÇÑ µµ¿òÀ» Á¦°øÇÒ °ÍÀÌ´Ù.
On this section you will find additional documentation about LDAP: useful URLs, cool books and definition RFCs.
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:
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
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