ftpaccess - ftpd ¼³Á¤ file
ftpaccess fileÀº ftpd(1) ¸¦ ¾î¶»°Ô ¿î¿µÇÒ°ÍÀÎÁö¸¦ ¼³Á¤Çϴµ¥ »ç¿ëÇÑ´Ù.
Anonymous user°¡ ƯÁ¤ <clas>ÀÇ memberÀ϶§, ftp server´Â <groupname>¿¡ setegid()¸¦ ½ÇÇàÇÒ °ÍÀÌ´Ù. ÀÌ°ÍÀº ƯÁ¤ groupÀÇ anonymous userµé¿¡°Ô file°ú directory¸¦ group-and-owner-read-onlyÀÇ ±ÇÇÑÀ¸·Î Á¢±ÙÀ» Çã¶ô ÇÏ´Â °ÍÀ» ¸»ÇÑ´Ù. <groupname>Àº /etc/group¿¡ Á¸ÀçÇÏ´Â groupÀ̾î¾ß ÇÑ´Ù.
<addrglob> Çü½ÄÀÇ source addressµé·Î userÀÇ <class>¸¦ Á¤ÀÇÇÑ´Ù. <class>´Â Áߺ¹µÇ¾î ¼³Á¤À» ÇÒ¼ö ÀÖÀ¸¸ç "class"¸¦ Áߺ¹µÇ°Ô ³ª¿ÇÏ¿© classÀÇ Ãß°¡ member¸¦ Á¤ÀÇÇÒ¼ö ÀÖ´Ù. ÀÌ Áߺ¹µÈ "class"µéÀÌ ÇöÀç session¿¡ Àû¿ëÀÌ µÈ´Ù¸é access file¿¡ ³ª¿µÇ¾î ÀÖ´Â °ÍµéÁß °¡Àå ¸ÕÀú ³ª¿À´Â °ÍÀÌ »ç¿ëµÇ¾î Áø´Ù. classÀÇ ¼³Á¤À» À߸øÇϸé Á¢¼Ó °ÅºÎ¸¦ ´çÇÏ°Ô µÈ´Ù. <typelist>´Â "anonymous", "guest", "real"ÀÇ keyword°¡ Á¸ÀçÇϸç ÀÌ 3°³ÀÇ keyword´Â comma(Äĸ¶)·Î¼ ±¸ºÐÀ» ÇÑ´Ù. "real"Àº real account·Î ftp¸¦ »ç¿ëÇÏ´Â user¸¦ ¸»Çϸç, "anonymous"´Â anonymous FTP¸¦ À§ÇÑ user(anonymous, ftp)¸¦ ¸»ÇÑ´Ù. "guest"´Â ¼Õ´Ô »ç¿ëÀڷΠ󸮵Ǵ user¸¦ ¸»ÇÑ´Ù. ( "guestgroup"À» ÂüÁ¶ ÇÏ¸é ´õ ¸¹Àº Á¤º¸¸¦ ¾òÀ»¼ö ÀÖ´Ù.)
<addrglob>´Â µµ¸ÞÀγ×ÀÓ ¶Ç´Â ip address·Î ¼³Á¤À» Çϸç, ½½·¡½¬('/') ·Î ½ÃÀÛÀ» ÇÏ´Â file À̸§Àϼöµµ ÀÖ´Ù. ÀÌ ÆÄÀÏÀº address:netmask ¶Ç´Â address/cidrÀÇ Çü½Ä°ú °°Àº Ãß°¡ ÁÖ¼Ò¸¦ Æ÷ÇÔÇÑ´Ù.
<addrglob>¿Í ºñ±³ÇÏ¿© ¸ÅÄ¡µµ´Â hostÀÇ Á¢±ÙÀ» °ÅÀýÇϸç <message_file> ¿¡¼ ÁöÁ¤ÇÒ fileÀÇ ³»¿ëÀ» Ãâ·ÂÇÑ´Ù. <addrglob>´Â nameserver¿¡ µî·ÏµÇ¾î ÀÖÁö ¾ÊÀº siteµéÀÇ Á¢¼ÓÀ» °ÅºÎÇϱâ À§ÇÑ nameserÀÇ ¿ªÇÒÀ» Çϸç <addrglob>¿Í °°ÀÌ ½½·¡½¬('/')·Î ½ÃÀÛÇÏ´Â fileÀÇ À̸§À» ÁöÁ¤ÇÒ¼öµµ ÀÖÀ¸¸ç ÀÌ ÆÄÀÏ¿¡´Â address:netmask ¶Ç´Â address/cidrÀÇ Çü½Ä°ú °°Àº Ãß°¡ ÁÖ¼Ò¸¦ Æ÷ÇÔÇÑ´Ù.
guestgroup <groupname> [<groupname> ...]
guestuser <username> [<username> ...]
realgroup <groupname> [<groupname> ...]
realuser <username> [<username> ...]
REAL user°¡ <groupname>ÀÇ ÇÑ member¶ó¸é, guestgroupÀ» À§ÇÑ sessionÀº anonymous FTP¿Í °°ÀÌ Á¤È®ÇÏ°Ô ¼³Á¤µÇ¾î¾ß ÇÑ´Ù. ´Ù½Ã ¸»ÇØ, chroot()°¡ ½ÇÇàµÇ¾î Á®¾ß Çϸç, USER¿Í PASS ¸í·ÉÀÌ Á¦°øµÇ¾îÁ®¾ß ÇÑ´Ù. <groupname>Àº /etc/group¿¡ Á¸ÀçÇÏ´Â groupÀ̾î¾ß ÇÑ´Ù.
userÀÇ home directory´Â anonymous FTP°¡ ±×·¯ÇÑ °Í ó·³ Á¤È®ÇÏ°Ô ¼³Á¤ µÇ¾î¾ß ÇÑ´Ù. passwd entryÀÇ home directory field´Â µÎ°³ÀÇ directory µé·Î ³ª´µ¾îÁ® ÀÖ´Ù. ù¹ø° field´Â chroot(2)°¡ ºÎ¸£´Â ÀÎÀÚ°¡ µÉ root directoryÀÌ´Ù. µÎ¹ø° ¹ÝÀº root directory·Î ¿¬°üµÈ userÀÇ home directoryÀÌ´Ù. µÎ µð·ºÅ丮ÀÇ ±¸ºÐÀº "/./"·Î¼ ÇÑ´Ù.
¿¹: /etc/passwd¿¡¼, real entry:
guest1:<passwd>:100:92:Guest Account:/ftp/./incoming:/etc/ftponly guest1ÀÌ log inÀ» ¼º°øÀûÀ¸·Î ¼öÇàÇßÀ»¶§ ftp server´Â chroot("/ftp") ¸¦ ÇÑ´ÙÀ½ chdir("/incoming") À» ÇÒ °ÍÀÌ´Ù. guest user´Â anonymous FTP user°¡ ±×·¯ÇϵíÀÌ¿ÀÁ÷ /ftp ÇÏÀ§ÀÇ directory ±¸Á¶¿¡ Á¢±ÙÀÌ °¡´ÉÇÏ´Ù. (guest1¿¡°Ô´Â /·Î¼ º¸À̸ç ÀÛµ¿ÇÑ´Ù.)
group nameÀº À̸§À̳ª ¼ýÀÚ ID·Î ÁöÁ¤µÇ¾î¾ß ÇÑ´Ù. ¼ýÀÚ·Î µÈ group ID¸¦ »ç¿ëÇϱâ À§Çؼ´Â, ¼ýÀÚ ÀÌÀü¿¡ '%'¸¦ À§Ä¡½ÃÄÑ¾ß ÇÑ´Ù. ¸ðµç goupÀ» ³ªÅ¸³»´Â asterisk(*)-¸¦ »ç¿ëÇÏ´Â °Í ó·³ ¿µ¿ªÀ» ÁöÁ¤ÇÒ¼öµµ ÀÖ´Ù.
guestuser´Â user name(¶Ç´Â ¼ýÀÚ ID)À» »ç¿ëÇÏÁö ¾Ê´Â °ÍÀ» Á¦¿ÜÇÏ°í´Â guestgroupó·³ ÀÛµ¿ÇÑ´Ù.
realuser¿Í realgroupÀº µ¿ÀÏÇÑ ¹®¹ýÀ» °¡ÁöÁö¸¸, guestuser¿Í guestgroupÀÇ ¿µÇâ°ú´Â ¹Ý´ëÀÌ´Ù. relauser¿Í realgroupÀº ¿ø°Ý Á¢¼Ó user°¡ guest·Î °áÁ¤ µÇ¾îÁö´Â °ÍÀÌ ¾Æ´Ò¶§ real user Á¢¼ÓÀ» Çã¶ôÇÑ´Ù.
¿¹¸¦ µé¾î:
guestuser * realgroup admin
¿Í °°ÀÌ ¼³Á¤À» ÇßÀ»¶§ À¯ÀÏÇÏ°Ô real user Á¢±ÙÀ» Çã¶ô¹ÞÀº admin group¿¡ ÀÖ´Â userµéÀ» Á¦¿Ü ÇÏ°í´Â ¸ðµç non-anonymous userµéÀº guest·Î Ãë±ÞÀÌ µÇ¾îÁö±â ¶§¹®ÀÌ´Ù.
¿ø°Ý user°¡ <class>¿¡ Á¤ÀÇµÈ ¸â¹ö¶ó¸é ÁöÁ¤µÈ <nice- dalta> ÀÇÇØ ftp server processÀÇ process nice value¸¦ Á¶Àý ÇÑ´Ù. ¸¸¾à <class>°¡ ÁöÁ¤µÇÁö ¾ÊÀ¸¸é, ftp server process nice value ´Â ±âº»À¸·Î ÁöÁ¤µÈ <nice-delta> ¸¦ »ç¿ëÇÑ´Ù. ÀÌ ±âº» nice value Á¶Á¤Àº ftpaccess file¿¡ Á¸ÀçÇÏ´Â class-specific 'nice' Áö½ÃÀÚ¿¡ ´ëÇØ ¾î¶² class¿¡µµ ¼ÓÇÏÁö ¾Ê´Â userµéÀ» À§ÇØ server processÀÇ nice value¸¦ Á¶Á¤Çϱâ À§ÇÏ¿© »ç¿ëµÇ¾î Áø´Ù.
¿ø°Ý user°¡ class¿¡ Á¤ÀÇµÈ ¸â¹ö¶ó¸é, daemon¿¡ ÀÇÇØ ¸¸µé¾îÁø fileµéÀÇ umask¸¦ ÁöÁ¤ÇÑ´Ù. <class>°¡ ÁöÁ¤µÇÁö ¾ÊÀ¸¸é, ¾î¶² °Íµµ ÁöÁ¤µÇÁö ¾ÊÀº classµéÀ» À§ÇØ umask´Â ±âº»°ªÀ¸·Î »ç¿ëÀÌ µÈ´Ù.
data connection¿¡ ´ëÇÑ TCP window size¸¦ ÁöÁ¤ÇÑ´Ù. ÀÌ°ÍÀº network trafficÀ» Á¶Á¤Çϱâ À§ÇØ »ç¿ëÇÒ¼ö ÀÖ´Ù. ¿¹¸¦ µé¾î ´À¸° PPP dialin linkµéÀº È¿À²À» ³ôÀ̱â À§ÇØ ´õ ÀÛÀº TCP windowµéÀÌ ÇÊ¿äÇÏ°Ô µÈ´Ù. ÀÌ°Í¿¡ ´ëÇØ Àß ¸ð¸£°Ú´Ù¸é ±×³É ³ªµÎµµ·Ï ÇÑ´Ù.
ÁöÁ¤µÈ class¿¡¼ user°¡ Àü¼ÛÇÒ¼ö ÀÖ´Â data fileµéÀÇ ¼ö¸¦ Á¦ÇÑÇÑ´Ù. limit´Â in, out ¶Ç´Â µÑ´Ù file¾È¿¡ À§Ä¡ÇÑ´Ù. class°¡ ÁöÀåµÇÁö ¾Ê¾Ò´Ù¸é, limit´Â limit°¡ ÁöÁ¤µÇÁö ¾ÊÀº classµéÀ» À§ÇÑ ±âº»°ªÀ¸·Î »ç¿ëµÈ´Ù. ºÎ°¡ÀûÀ¸·Î raw parameter´Â ´ÜÁö date fileµé º¸´Ù´Â total trafficÀ» Á¦ÇÑÇϴµ¥ Àû¿ëÀ» ÇÑ´Ù.
class¿¡ ÁöÁ¤µÈ user°¡ Àü¼ÛÇÏ´Â data¸¦ byte ´ÜÀ§·Î Á¦ÇÑÇÑ´Ù. limit´Â in, out ¶Ç´Â µÑ´Ù¸¦ byte¸¦ ±âÁØÀ¸·Î ÇÑ´Ù. class¸¦ ÁöÁ¤ÇÏÁö ¾ÊÀ¸¸é, limit ´Â limit¸¦ ÁöÁ¤ÇÏÁö ¾ÊÀº classµéÀ» À§ÇÑ ±âº»°ªÀ¸·Î »ç¿ëµÈ´Ù. limit¸¦ ÁöÁ¤À» Çϸé ÁöÁ¤ÇÑ ÀÌ»óÀ» ÃÊ°úÇÏ¿© Àü¼ÛÀ» ÇÒ¼ö ¾ø´Ù. ÇÏÁö¸¸ ÁøÇàÁßÀÎ Àü¼Û¿¡´Â Àû¿ëÀÌ µÇÁö ¾Ê´Â´Ù. ºÎ°¡ÀûÀ¸·Î raw parameter´Â ´ÜÁö date fileµé º¸´Ù´Â total trafficÀ» Á¦ÇÑÇϴµ¥ Àû¿ëÀ» ÇÑ´Ù.
sessionÀÌ °¡Áú¼ö ÀÖ´Â ÃÑ ½Ã°£À» Á¦ÇÑÇÑ´Ù. ±âº»ÀûÀ¸·Î Á¦ÇÑÀÌ °É·ÁÀÖÁö ¾Ê´Ù. real userµéÀº Á¦ÇÑÀ» ¹ÞÁö ¾Ê´Â´Ù.
anonymous ¶Ç´Â guest Á¢¼ÓÀ» À§ÇØ »ç¿ëµÇ¾î Áö´Â hostµéÀ» Á¶Á¤ÇÑ´Ù. <hostmane> ¾øÀÌ »ç¿ëÀ» ÇÑ´Ù¸é, ¸ðµç guest ³ª anonymous Á¢¼ÓÀº Á¢±ÙÀ» °ÅºÎ´çÇÑ´Ù. Çϳª ÀÌ»óÀÇ <hostname>À» ÁöÁ¤ÇØ¾ß ÇÑ´Ù. guest¿Í anonymolus Á¢¼ÓÀº machainµéÀÇ À̸§¿¡ ±â¹ÝÇؼ Çã¶ôµÇ¾î Áø´Ù. Á¢±ÙÀÌ °ÅÀýµÇ¸é, user´Â ¸ÕÀú <hostname> list¿¡ µî·ÏÀÌ µÇ¾îÁ®¾ß¸¸ »ç¿ëÀÌ °¡´ÉÇÏ´Ù.
<class>¿¡¼ Á¢±ÙÀ» ÇÏ´Â <n> userµéÀ» <times> ½Ã°£¿¡ Á¦ÇÑÇϸç, user°¡ Á¢±ÙÀ» °ÅÀý ´çÇÒ¶§ <message_file>À» Ãâ·ÂÇÑ´Ù. Limit check´Â login½Ã¿¡¸¸ ¼öÇàµÈ´Ù. ´ÙÁß "limit" ¸í·ÉÀÌ ÇöÀçÀÇ session¿¡ Àû¿ëÀÌ µÈ´Ù¸é ¸ÕÀú ¼³Á¤µÈ °ÍÀÌ »ç¿ëµÇ¾î Áø´Ù. limit Á¤ÀÇ°¡ ºüÁö°Å³ª limit°¡ -1·Î ¼³Á¤ÀÌ µÇ¸é unlimit·Î ÀÛµ¿À» ÇÑ´Ù. <times>´Â UUCP L.sys file¿¡¼ÀÇ time°ú °°Àº Çü½ÄÀÌ´Ù.
<filename> <filename> ... ¼³Á¤µÈ fileµéÀÇ »ó´ëÀû ±â´ÉÀ» Á¦ÇÑÇÑ´Ù. fileµéÀÌ Àý´ë °æ·Î ¼³Á¤À» »ç¿ë ('/' character·Î ½ÃÀÛÇÏ´Â °Í ó·³) ÇÑ´Ù¸é, ÀÌ fileµéÀº ¾òÀ»¼ö ¾ø´Â °ÍÀ¸·Î Ç¥±â°¡ µÇ¾îÁø´Ù. ´Ù½Ã¸»ÇØ filename°ú ¸ÅÄ¡µÇ´Â ¸ðµç fileµéÀº Àü¼ÛÀÌ °ÅÀýµÈ´Ù. ¿¹¸¦µé¾î
noretrieve /etc/passwd core
¼³Á¤Àº /etc/passwd fileÀ» ¾ò¾î°¥¼ö ¾ø°Ô ÇÑ´Ù. ÀÌ¿¡ ¹ÝÇØ ÀÌ°ÍÀÌ /etc¿¡ ÀÖÁö ¾Ê´Â ´Ù¸é 'passwd' fileÀ» Àü¼Û ¹Þ¾Æ °¥¼ö°¡ ÀÖ´Ù. ´Ù¸¥ ¸é¿¡¼ 'core'¶ó´Â À̸§À» °¡Áø fileÀº ¾îµð¼µµ Àü¼ÛÀ» ¹ÞÀ»¼ö°¡ ¾ø´Ù.
½½·¡½¬('/')·Î ³¡³ª´Â Àý´ë °æ·Î´Â ±× directory¾ÈÀÇ ¸ðµç fileµéÀ» Àü¼Û ÇÒ¼ö ¾ø°Ô Ç¥±âµÇ¾î Áö´Â °ÍÀ» ÀǹÌÇÑ´Ù.
<filename>Àº ÇϳªÀÇ file ¶Ç´Â ÀϹÝÀûÀΠǥÇöÀ¸·Î¼ Á¤ÀǵǾî Áø´Ù.
ºÎ°¡ÀûÀΠù¹ø°ÀÇ ¸Å°³º¯¼ö´Â ÇöÀçÀÇ chroot'd ȯ°æ¿¡ Àý´ëÀû ¶Ç´Â »ó´ëÀûÀ¸·Î Çؼ®µÇ¾îÁö´Â À̸§µéÀÎÁö ¾Æ´ÑÁö¸¦ ¼±ÅÃÇÑ´Ù. ±âº»Àº slash·Î ½ÃÀÛÇÏ´Â Àý´ë°æ·Î·Î Çؼ®À» ÇÑ´Ù.
noretrieve Á¦ÇÑÀº ƯÁ¤ classµéÀÇ memberµéÀ» ±â¹ÝÀ¸·Î ÇÑ´Ù. ¾î¶² class°¡ ÁöÁ¤µÇ¾îÁ® ÀÖ°í ÇöÀç user°¡ ¾î¶² ÁÖ¾îÁø classµéÀÇ memberµéÀ̶ó¸é ÁöÁ¤µÈ fileµéÀº »ó´ëÀûÀÎ °ÍÀÌ ¾Æ´Ï´Ù.
[class=<classname>]... [-] <filename> ... noretrieve¿¡ ÀÇÇØ °ÅÀýµÇ¾îÁø fileµéÀÇ º¹±¸¸¦ Çã¶ôÇÑ´Ù.
<number> login ½ÇÆÐÈÄ¿¡, "repeated login failusers" message¸¦ Ãâ·ÂÇÑ ÈÄ, FTP ¿¬°áÀ» Á¾·áÇÑ´Ù. ±âº»°ªÀº 5ÀÌ´Ù.
user login ÈÄ, SITE GROUP°ú SITE GPASS ¸í·ÉÀº °ÈµÈ Á¢¼Ó group°ú ¿¬°áµÈ password¸¦ ÁöÁ¤ Çϱâ À§ÇØ »ç¿ëµÇ¾î Áø´Ù. group name°ú password°¡ ÁöÁ¤µÇ¸é, user´Â setgid()¸¦ ÅëÇؼ group Á¢±Ù file /etc/ftp/groups ¿¡ Á¤ÀÇµÈ groupÀÇ member°¡ µÈ´Ù.
access_group_name:encrypted_password:real_group_name access_group_nameÀº¹®ÀÚ ¼ýÀÚ½Ä(alphanumeric)°ú ±¸µÔÁ¡(punctuation) À¸·Î ÀÌ·ç¾îÁø ÀÓÀÇÀÇ ¹®ÀÚ¿À̸ç, encrypted_password´Â /etc/passwd ¿Í °°ÀÌ Á¤È®ÇÏ°Ô crypt(3) ¸¦ ÅëÇؼ ¾ÏÈ£È µÇ¾îÁø passwordÀÌ´Ù. real_group_name Àº /etc/group ¿¡ ¼ÓÇØÀÖ´Â À¯È¿ÇÑ group À̸§ÀÌ´Ù.
ÁÖÀÇ:anonymous FTP userµé¿¡ ´ëÇÑ ÀÛ¾÷À» Çϱâ À§ÇÏ¿© ÀÌ optionµéÀ» ÅëÇØ ftp server´Â /etc/group À» °è¼Ó Âü°í¸¦ Çϸç, group access fileÀº memory¿¡ load°¡ µÇ¾îÁ® ÀÖ¾î¾ß ÇÑ´Ù. ÀÌ°ÍÀº (1) ftp server´Â additional file descriptor openÀ» °¡Á®¾ß Çϸç, (2) necessary passwordµé°ú Á¢±Ù ±ÇÇѵéÀº FTP sessionÀÇ Áö¼ÓÀ» À§ÇØ SITE GROUPÀ» ÅëÇØ Á¤ÀûÀ¸·Î userµé¿¡°Ô ÁÖ¾î Áø´Ù´Â °ÍÀ» ¶æÇÑ´Ù.¸¸¾à access groupµé °ú/¶Ç´Â password¸¦ º¯°æÇϱâ À§Çؼ´Â ÀÛµ¿ÇÏ°í ÀÖ´Â ¸ðµç FTP serverµéÀ» Á׿©¾ß ÇÑ´Ù.
remote user°¡ login Çϱâ Àü¿¡ ¾ó¸¶³ª ¸¹Àº Á¤º¸¸¦ º¸¿©ÁÙÁö¸¦ ¼³Á¤ÇÒ¼ö ÀÖ´Ù. 'greeting full'ÀÌ ±âº»À̸ç, hostname°ú daemon versionÀ» º¸¿©ÁØ´Ù. 'greeting brief'´Â hostnameÀ» º¸¿©ÁØ´Ù. ºñ·Ï fullÀÌ ±âº»ÀÌÁö¸¸ briefµµ ¸¹ÀÌ »ç¿ëµÇ¾î Áø´Ù.
banner´Â user°¡ username/password¸¦ ÀÔ·ÂÇϱâ Àü¿¡ Ãâ·ÂÀÌ µÈ´Ù´Â °ÍÀ» Á¦¿ÜÇÏ°í´Â message ¸í·É°ú À¯»çÇÏ°Ô ÀÛµ¿À» ÇÑ´Ù. <path>´Â anonymous FTP directory ÀÇ base(/home/ftp)°¡ ¾Æ´Ï¶ó real system root¸¦ ±âÁØÀ¸·Î ÇÑ´Ù.
WARNING: ÀÌ ¸í·ÉÀ» »ç¿ëÇÏ´Â °ÍÀº FTP serverÀÇ »ç¿ëÀ» Ç¥½ÃÇÏ´Â °ÍÀ¸·Î ºÎÅÍ ÁÁÁö ¾ÊÀº ÀǵµÀÇ FTP clientµéÀ» ¿ÏÀüÇÏ°Ô ¸·À»¼ö ÀÖ´Ù. ¸ðµç clientµéÀÌ multi-line ÀÀ´äµéÀ» Á¶Á¤ÇÒ¼ö ÀÖ´Â °ÍÀº ¾Æ´Ï´Ù. (¾î¶»°Ô bannerµéÀÌ Ãâ·Â µÇ¾îÁö´ÂÁö )
ftp serverÀÇ ±âº» host nameÀ» Á¤ÀÇÇÑ´Ù. ÀÌ stringÀº magic cookie %LÀ» »ç¿ëÇÒ ¶§¸¶´Ù greeting message¿¡ Ãâ·ÂÀÌ µÇ¾î Áø´Ù. virtual serverµéÀÇ host nameÀº ÀÌ °ªÀ» µ¤¾î¾²°Ô µÈ´Ù. ÁöÁ¤À» ÇÏÁö ¾ÊÀ¸¸é, local machineÀÇ ±âº» host nameÀÌ »ç¿ëµÇ¾î Áø´Ù.
ftp main °ü¸®ÀÚÀÇ email address¸¦ Á¤ÀÇÇÑ´Ù. ÀÌ stringÀº magic cookie %E¸¦ »ç¿ëÇÒ¶§ ¸¶´Ù Ãâ·ÂÀÌ µÇ¾î Áø´Ù.
<path>¿Í ÇÔ²² fileÀ» ÁöÁ¤Çϸç user°¡ loginÀ» ÇÒ¶§³ª working directory¸¦ º¯°æÇÒ¶§ ftpd°¡ user¿¡°Ô ÀÌ fileÀÇ ³»¿ëÀ» Ãâ·ÂÇÏ°Ô²û ÇÑ´Ù. <when> parameter´Â "LOGIN" ¶Ç´Â "CWD=<dir>"À» ÀÌ¿ëÇÑ´Ù. <when>ÀÌ "CWD=<dir>"À̸é <dir>¿¡´Â °øÁö¸¦ º¸¿©ÁÙ »õ·Î¿î ±âº» directory¸¦ ÁöÁ¤À» ÇÑ´Ù.
<class>´Â ºÎ°¡ÀûÀ¸·Î »ç¿ëÀÌ µÇ¾î Áö¸ç, ¿ÀÁ÷ ƯÁ¤ classÀÇ member µé¿¡°Ô Ãâ·ÂÀÌ µÇ¾îÁú message¸¦ ÁöÁ¤À» ÇÑ´Ù. ÇϳªÀÌ»óÀÇ class°¡ ÁöÁ¤µÇ¾î Áú¼ö ÀÖ´Ù.
readmi file¿¡¼ ÁöÁ¤µÈ text string·Î¼ cookie¸¦ ´ëüÇϱâ À§ÇØ "magic cookie"¸¦ »ç¿ëÇÒ¼ö°¡ ÀÖ´Ù.
%T local time (form Thu Nov 15 17:12:42 1990)
%F free space in partition of CWD (kbytes) [¸ðµç system¿¡¼ Àû¿ëµÇÁö´Â ¾ÊÀ½]
%C ÇöÀç ÀÛ¾÷ÁßÀÎ directory
%E ftpaccess ¿¡¼ Á¤ÀÇÇÑ adminÀÇ Email address
%R ¿ø°Ý host name
%L local host name
%u RFC931 ÀÎÁõÀ» ÅëÇØ °áÁ¤µÈ username
%U login time¶§ ÁÖ¾îÁø username
%M ÇØ´ç classÀÇ ÃÖ´ë Á¢¼ÓÀÚ¼ö
%N ÇØ´ç class¿¡¼ÀÇ ÇöÀç Á¢¼ÓÀÚ ¼ö
%B disk blockµé¿¡ ÇÒ´çµÇ¾îÁø Àý´ëÀû limit
%b disk blockµé¿¡ ÇÒ´çµÇ¾îÁø limit
%Q ÇöÀç block ¼ö
%I inode (+1)¿¡ ÇÒ´çµÈ ÃÖ´ë °ª
%i ÇÒ´çµÈ inode limit
%q inode¿¡ ÇÒ´çµÈ ÇöÀç °ª
%H excessive disk use ¿¡ ´ëÇÑ ½Ã°£ Á¦ÇÑ
%h texcessive files¿¡ ´ëÇÑ ½Ã°£ Á¦ÇÑ
ÀÌ message´Â userµéÀ» ±ÍÂú°Ô ÇÏ´Â °ÍÀ» ÇÇÇϱâ À§ÇÏ¿© ¿ÀÁ÷ Çѹø¸¸ Ãâ·ÂÀÌ µÈ´Ù. ¸Þ¼¼ÁöµéÀÌ À͸í FTP user¿¡ ÀÇÇؼ ¼öÇàµÇ¾úÀ»¶§ <path>´Â À͸í FTP directory treeÀÇ root·Î º¯°æÀÌ µÊÀ» ±â¾ïÇØ¾ß ÇÑ´Ù.
ftp°¡ login½Ã³ª fileµéÀÌ Á¸ÀçÇÏ°í ±× fileµéÀÇ date°¡ º¯°æµÈ working directory·Î À̵¿À» ÇÒ¶§ userµé¿¡°Ô °øÁöÇÒ fileµéÀ» <path>·Î¼ Á¤ÀÇ ÇÑ´Ù. <when> parameter´Â "LOGIN" ¶Ç´Â "CWD=<dir>" Áß¿¡ Çϳª¸¦ ¼±ÅÃÇÑ´Ù. <when>ÀÌ "CWD=<dir>" À̸é, <dir>Àº °øÁö°¡ ½ÇÇàµÉ »õ·Î¿î ±âº» directory¸¦ ÁöÁ¤ÇÑ´Ù. message´Â userµéÀ» ±ÍÂú°Ô ÇÏ´Â °ÍÀ» ÇÇÇÏ°Ô Çϱâ À§ÇÏ¿© ¿ÀÁ÷ Çѹø¸¸ Ãâ·ÂÀÌ µÉ°ÍÀÌ´Ù. README message µéÀÌ À͸í FTP user¿¡ ÀÇÇØ ¼öÇàÀÌ µÉ¶§, <path>´Â À͸í FTP directory treeÀÇ root·Î º¯°æÀÌ µÊÀ» ±â¾ïÇØ¾ß ÇÑ´Ù.
<class> option ÁöÁ¤Àº messageµéÀÌ ¿ÀÁ÷ ƯÁ¤ classÀÇ member µé¿¡°Ô¸¸ Ãâ·ÂÀÌ µÇ¾îÁöµµ·Ï ÇÒ¼ö ÀÖ´Ù. Çϳª ÀÌ»óÀÇ class°¡ ÁöÁ¤µÉ¼ö ÀÖ´Ù.
userµé¿¡ ÀÇÇØ °³º°ÀûÀÎ ¸í·ÉÀÇ loggingÀ» °¡´ÉÄÉ ÇÑ´Ù. <typelist>´Â "anonymous", "guest", "real" À̶ó´Â keywordµéÀÇ list¸¦ ½°Ç¥(comma) ·Î¼ ºÐ¸®ÇÏ¿© ÁöÁ¤ÇÒ¼ö ÀÖ´Ù. "real" keyword°¡ Æ÷ÇԵǾî ÀÖ´Ù¸é, loggingÀº real account·Î Á¢±ÙÇϱâ À§ÇØ FTP¸¦ »ç¿ëÇÏ´Â userµéÀ» À§ÇØ ÀÛµ¿À» ÇÒ °ÍÀÌ´Ù. ±×¸®°í "anonymous" keyword°¡ Æ÷ÇԵǾî Áø´Ù¸é, loggingÀº anonymous FTP¸¦ »ç¿ëÇÏ´Â userµéÀ» À§ÇØ ÀÛµ¿ÇÒ °ÍÀÌ´Ù. "guest" keyword´Â guest Á¢±Ù °èÁ¤µé°ú ¸ÅÄ¡°¡ µÈ´Ù. (´õ ¸¹Àº Á¤º¸¸¦ ¾ò±â À§Çؼ´Â "guestgroup"À» ÂüÁ¶Ç϶ó)
real user³ª anonymous userµé ¸ðµÎ¸¦ À§ÇÑ file Àü¼ÛÀÇ loggingÀ» °¡´ÉÄÉ Çϸç, inbound¿Í outbound¸¦ ºÐ¸®ÇÏ¿© loggingÀ» ÇÒ¼ö°¡ ÀÖ´Ù. <typelisst>´Â "anonymous", "guest", "real"°ú °°Àº keywordÀÇ listµéÀ» ½°Ç¥(comma)·Î¼ ±¸ºÐÀ» ÇÑ´Ù. "real" keyword°¡ Æ÷ÇԵǾî ÀÖ´Ù¸é, loggingÀº real account·Î Á¢±ÙÇϱâ À§ÇØ FTP¸¦ »ç¿ëÇÏ´Â userµéÀ» À§ÇØ ÀÛµ¿À» ÇÒ °ÍÀÌ´Ù. ±×¸®°í "anonymous" keyword°¡ Æ÷ÇԵǾî Áø´Ù¸é, loggingÀº anonymous FTP¸¦ »ç¿ëÇÏ´Â userµéÀ» À§ÇØ ÀÛµ¿ÇÒ °ÍÀÌ´Ù. "guest" keyword´Â guest Á¢±Ù °èÁ¤µé°ú ¸ÅÄ¡°¡ µÈ´Ù. (´õ ¸¹Àº Á¤º¸¸¦ ¾ò±â À§Çؼ´Â "guestgroup"À» ÂüÁ¶Ç϶ó) <directions>Àº "inbound"¿Í "outbound" µÎ°³ÀÇ keyword¸¦ ½°Ç¥·Î¼ ±¸ºÐÀ» ÇÏ¿© ÁöÁ¤À» Çϸç, ÀÌ optionÀ¸·Î¼ server·Î º¸³»°í ¹Þ´Â fileµéÀ» À§ÇÑ Àü¼Û log¸¦ ±â·ÏÇÑ´Ù.
real, guest, anonymous userµéÀ» À§ÇÑ º¸¾È ruleµé(noretrieve, .notar, µî)À» ¾î±â´Â °ÍµéÀÇ log¸¦ ±â·ÏÇϵµ·Ï ÇÑ´Ù. <typelist>´Â "anonymous", "guest", "real" À̶ó´Â keywordµéÀÇ list¸¦ ½°Ç¥(comma)·Î¼ ºÐ¸®ÇÏ¿© ÁöÁ¤ÇÒ¼ö ÀÖ´Ù. "real" keyword°¡ Æ÷ÇԵǾî ÀÖ´Ù¸é, loggingÀº real account·Î Á¢±ÙÇϱâ À§ÇØ FTP¸¦ »ç¿ëÇÏ´Â userµéÀ» À§ÇØ ÀÛµ¿À» ÇÒ °ÍÀÌ´Ù. ±×¸®°í "anonymous" keyword°¡ Æ÷ÇԵǾî Áø´Ù¸é, loggingÀº anonymous FTP¸¦ »ç¿ëÇÏ´Â userµéÀ» À§ÇØ ÀÛµ¿ÇÒ °ÍÀÌ´Ù. "guest" keyword´Â guest Á¢±Ù °èÁ¤µé°ú ¸ÅÄ¡°¡ µÈ´Ù. (´õ ¸¹Àº Á¤º¸¸¦ ¾ò±â À§Çؼ´Â "guestgroup" À» ÂüÁ¶Ç϶ó)
incoming, outgoing Àü¼Ûµé¿¡ ´ëÇÑ logging messageµéÀ» syslog·Î ÇâÇÏ°Ô ÇÑ´Ù.
directory¿¡ ´ëÇÑ alias¿Í <string>À» Á¤ÀÇÇÑ´Ù. ³í¸®Àû directoryÀÇ °³³äÀ» Ãß°¡ÇÏ¿© »ç¿ëÇÒ¼ö ÀÖ´Ù.
¿¹¸¦ µé¾î:
alias rfc: /pub/doc/rfcÀº userµéÀÌ ¸í·É¾î "cd frc:"¿¡ ÀÇÇØ ¾î¶² directory·Î ºÎÅÍ /pub/doc/rfc·Î accessÇÏ´Â °ÍÀ» °¡´ÉÄÉ ÇÑ´Ù.
cdpath¾È¿¡ entry¸¦ Á¤ÀÇÇÑ´Ù. ÀÌ°ÍÀº directory º¯°æ½Ã¿¡ »ç¿ëµÇ¾î Áö´Â search path¸¦ Á¤ÀÇÇÑ´Ù.
¿¹¸¦ µé¾î:
cdpath /pub/packages cdpath /.aliases
Àº userµéÀÌ /pub/packages ¶Ç´Â /.aliases directoryµé ÇÏÀ§¿¡ ÀÖ´Â ¾î¶² directory·Î Á÷Á¢ cd¸¦ ÇÏ´Â °ÍÀ» Çã¶ôÇÑ´Ù. search path´Â ftpaccess file¿¡ ±â·ÏµÈ lineµéÀÇ ¼ø¼¿¡ ÀÇÇØ Á¤ÀǵǾîÁø´Ù.
userµéÀÌ ¸í·ÉÀ» ½ÇÇàÇϸé:
cd foo
directoryµéÀº ¾Æ·¡ÀÇ ¼ø¼¸¦ ÅëÇØ Ã£¾Æ Áú°ÍÀÌ´Ù.
./foo an alias called "foo" /pub/packages/foo /.aliases/foo
cd path´Â ¿ÀÁ÷ cd ¸í·É¾î·Î¼¸¸ °¡´ÉÇÏ´Ù. ¸¸¾à ¸¹Àº ¼öÀÇ aliasµéÀ» °¡Áö°í ÀÖ´Ù¸é ¾Æ¸¶ userµé¿¡°Ô »ç¿ë°¡´ÉÇÏ°Ô ¸¸µé°í ½ÍÀº ¸ðµç °÷À¸·Î ¸µÅ©¸¦ ÇÏ´Â °ÍÀ¸·Î aliasµéÀ» ¼³Ä¡Çϱ⸦ ¿øÇÒ°ÍÀÌ´Ù.
compress <yes|no> <classglob> [<classglob> ...] tar <yes|no> <classglob> [<classglob> ...]
<classglob>¿Í ¸ÅÄ¡ÇÏ´Â class¸¦ À§ÇØ compress¿Í tar »ç¿ëÀ» °¡´ÉÇÏ°Ô ÇÑ´Ù. ½ÇÁ¦ ÀüȯÀº ¿ÜºÎ file FTPLIB/ftpconversions¿¡ ÀÇÇØ Á¤ÀÇ°¡ µÇ¾î Áø´Ù.
<path>¿¡ fileÀÌ ÁöÁ¤ÀÌ µÇ¸é, ¼¹ö´Â Á¤±âÀûÀ¸·Î ÀÌ fileÀÇ ³»¿ëÀ» È®ÀÎÀ» ÇÏ¿© ¼Ë´Ù¿îÀ» Çϵµ·Ï ÇÑ´Ù. ¼Ë´Ù¿î °èȹÀÌ Á¸ÀçÇϸé user´Â ¼¹ö·Î ºÎÅÍ ÀÌ¿¡ ´ëÇÑ Å뺸¸¦ ¹Þ°Ô µÈ´Ù. ¼Ë´Ù¿î ÀüÀÇ ÁöÁ¤µÈ ½Ã°£ ÀÌÈÄ¿¡´Â »õ·Î¿î Á¢¼ÓÀÌ °ÅÀýµÇ¸ç, ¼Ë´Ù¿î ÀÌÀüÀÇ ÁöÁ¤µÈ ½Ã°£¿¡´Â ÇöÀç Á¢¼ÓÀÚµéÀÇ ¿¬°áÀÌ ÇØÁ¦µÈ´Ù. <path>¿¡ ÁöÁ¤µÈ ÆÄÀÏÀÇ ±¸Á¶´Â ¾Æ·¡¿Í °°´Ù :
<¿¬µµ> <¿ù> <ÀÏ> <½Ã> <ºÐ> <°ÅÀý_offset> <ÇØÁ¦_offset> >
<¿¬µµ> 1970³âµµ ÀÌÈÄ·Î ÁöÁ¤À» ÇÑ´Ù.
<¿ù> 1-12¿ùÀ» 0-11·Î ÁöÁ¤À» ÇÑ´Ù.
<ÀÏ> 0-23
<ºÐ> 0-59
<°ÅÀý_offset> ¿Í <ÇØÁ¦_offset> Àº ¼Ë´Ù¿îÀ» Çϱâ Àü¿¡ »õ·Î¿î Á¢¼ÓÀ» °ÅÀýÇÏ´Â °Í°ú ÇöÀç Á¸ÀçÇÏ´Â Á¢¼ÓÀ» ÇØÁ¦ÇÏ´Â offsetÀ» HHMM Çü½ÄÀ¸·Î ÁöÁ¤À» ÇÑ´Ù. 0120Àº 1½Ã°£ 20ºÐÀ» ÀǹÌÇÑ´Ù.
<text>´Â "message"ÀÇ ruleµéÀ» µû¸£¸ç, ¾Æ·¡¿¡ ³ª¿µÇ¾î ÀÖ´Â Ãß°¡ÀûÀÎ magic cookie¸¦ »ç¿ëÇÒ¼öµµ ÀÖ´Ù.
%s ½Ã½ºÅÛÀÌ ¼Ë´Ù¿î µÇ´Â ½Ã°£
%r »õ·Î¿î Á¢¼ÓÀÌ °ÅºÎµÇ´Â ½Ã°£
%d ÇöÀç »ç¿ëÀÚµéÀÌ °Á¦ logoutµÇ´Â ½Ã°£¸ðµç ½Ã°£µéÀº ddd MMM DD hh:mm:ss YYYY ÀÇ ÇüÅ·Π»ç¿ëÀÌ µÈ´Ù. ¼³Á¤ file¿¡´Â ¿ÀÁ÷ ÇϳªÀÇ "shutdown" ¸í·É¸¸ °¡´ÉÇÏ´Ù.
¼³Á¤ file¿¡¼ÀÇ shutdown ¸í·ÉÀº ¿ÜºÎ ÇÁ·Î±×·¥ÀÎ ftpshut(8)À» ÀÚµ¿À¸·Î »ç¿ëÀ» ÇÏ°Ô µÈ´Ù.
ÀÌ °ªÀÌ ÁöÁ¤ÀÌ µÇ¾î ÀÖÁö ¾ÊÀ¸¸é, ¼¹ö´Â ¸ðµç IP address¿¡¼ÀÇ Á¢¼Ó¿¡ ±Í¸¦ ±Í¿ïÀÌ°Ô µÈ´Ù. ¹Ý¸é¿¡ ÁöÁ¤ÀÌ µÇ¾î ÀÖÀ¸¸é ¿ÀÁ÷ ÁöÁ¤µÈ IP address ¿¡¸¸ ±Í¸¦ ±Í¿ïÀÌ°Ô µÈ´Ù.
ÀÌ ÀýÀÇ »ç¿ëÀº ¾ÈÇÏ´Â °ÍÀÌ ÁÁ´Ù. ÀÌ°ÍÀº ÇϳªÀÇ site¸¸À» Áö¿øÇÒ¶§ Ãß°¡°¡ µÇ¾îÁø´Ù. ÀÌ°ÍÀº virtual hosting ¼³Á¤À» ¹«½ÃÇϸç, ±¸¹®Àº ¾Æ¸¶µµ daemonÀÇ ´ÙÀ½ ¹öÁ¯¿¡¼´Â º¯ÈÇÒ°Í °°´Ù.
virtual ftp server¸¦ °¡´ÉÇÏ°Ô ÇÑ´Ù. <address>´Â virtual serverÀÇ ip address¸¦ ÁöÁ¤ÇÑ´Ù. µÎ¹ø° ÀÎÀÚÁß root ´Â virtual server¸¦ À§ÇÑ ftprootÀÇ °æ·Î¸¦ ÁöÁ¤À»
Çϸç, banner ´Â virtual server¿¡ Á¢¼ÓÀ» ÇÒ¶§ user¿¡°Ô Ãâ·ÂÀ» ÇÒ ³»¿ëÀÇ °æ·Î¸¦ ÁöÁ¤À» Çϸç logfile Àº virtual server¸¦ À§ÇÑ Àü¼ÛÀ» ±â·ÏÇϱâ À§ÇÑ fileÀÇ °æ·Î¸¦ ÁöÁ¤À» ÇÑ´Ù. ¸¸¾à logfile ¸¦ ÁöÁ¤ÇÏÁö ¾ÊÀ¸¸é ±âº»ÀûÀÎ ftp logfileÀÌ »ç¿ëÀÌ µÇ¾îÁø´Ù. virtual serverµé¿¡ Àû¿ëÀÌ µÇ¾î Áö´Â message fileµéÀÇ ¹®¹ý°ú permissionµéÀº ´Ù¸¥ message file¿¡¼ »ç¿ëÇÏ´Â °Í°ú °°´Ù.
ÁÖÀÇ: OS¿¡¼ ÀÌ ¿ä¼Ò°¡ Áö¿øÀÌ ¾ÈµÉ¼öµµ ÀÖ´Ù. ÀÌ°ÍÀº BSD/OS, Solaris 2.X ¿Í Linux ¿¡¼ Å×½ºÆ®°¡ µÇ¾îÁ³´Ù.
<address>´Â IP numberº¸´Ù´Â hostnameÀ¸·Î ÁöÁ¤ÀÌ µÇ¾îÁ®¾ß ÇÑ´Ù. ¸¸¾à FTP sessionÀÌ ½ÃÀÛ µÇ¾îÁú¶§ DNS check°¡ ºÒ°¡´ÉÇÏ´Ù¸é hostnameÀÌ match°¡ µÇ¾î ÁöÁö ¾ÊÀ¸¹Ç·Î À̶§´Â »ç¿ëÀ» ÇÏÁö ¸»¾Æ¾ß ÇÑ´Ù.
³ª(¹ø¿ªÀÚ ^^)ÀÇ °æÇèÀ¸·Î´Â hostnameº¸´Ù´Â ip address·Î ÁöÁ¤À» ÇÏ´Â °ÍÀÌ ÁÁ´Ù. ƯÈ÷ ip address Çϳª·Î name-based virtual server¸¦ ¿î¿µÇϱ⸦ ¿øÇÑ´Ù¸é wu-ftpd ¿¡¼´Â Áö¿øÀ» ÇÏÁö ¾Ê´Â ´Ù´Â Á¡À» ÁÖÀÇÇϵµ·Ï ÇÏÀÚ.
ȯ¿µ message¿Í status ¸í·É¿¡ hostnameÀ» º¸¿©ÁÖµµ·Ï ¼³Á¤À» ÇÑ´Ù. ¶ÇÇÑ message file°ú HELP ¸í·É¿¡¼ ÁÖ¾îÁø <string> ¿¡ email address¸¦ »ç¿ë Çϵµ·Ï ÇÑ´Ù.
virtual <address> deny <username> [<username> ...] ÀϹÝÀûÀ¸·Î, real°ú guest À¯ÀúµéÀº À̵éÀÌ guestµéÀÌ°í virtual root·Î chroot°¡ ÁöÁ¤ÀÌ µÇ±â Àü±îÁö´Â virtual server·Î Á¢±ÙÀÌ Çã¶ôµÇÁö ¾Ê´Â´Ù. virtual allow lineµéÀÇ list¿¡ ÀÖ´Â user µéÀº Á¢±ÙÀ» Çã¶ôµÈ´Ù. username¿¡ '*'¸¦ ÁöÁ¤ÇÏ¸é ¸ðµç userµéÀÌ Á¢¼ÓÀ» Çã¶ôÇÑ´Ù´Â Àǹ̷Π»ç¿ëÀÌ µÇ¾îÁø´Ù. virtual deny ÀýµéÀº virtual allow Àýµé ÀÌÈÄ¿¡ ÁøÇàÀÌ µÇ¸ç, ¸ðµç userµéÀÌ Çã¶ôµÇ¾î Á³À»¶§ deny access¸¦ ÁöÁ¤À» Çϱâ À§ÇÏ¿© »ç¿ëµÇ¾î Áø´Ù.
ÀϹÝÀûÀ¸·Î, ÀÍ¸í »ç¿ëÀÚµéÀº virtual server¿¡ log°¡ Çã¶ôµÇ¾î Áø´Ù. ÀÌ optionÀº ±×µéÀÇ Á¢±ÙÀ» °ÅÀýÇϴµ¥ »ç¿ëÀ» ÇÑ´Ù.
defaultserver deny <username> [<username> ...]
defaultserver allow <username> [<username> ...]
ÀϹÝÀûÀ¸·Î, ¸ðµç userµéÀº default FTP server (virtual FTP server°¡ ¾Æ´Ñ)·ÎÀÇ Á¢±ÙÀÌ Çã¶ôµÇ¾î Áø´Ù. defaultserver ´Â ƯÁ¤ userµéÀÇ Á¢¼ÓÀ» °ÅºÎ¸¦ Çϴµ¥ »ç¿ëÀ» ÇÑ´Ù; '*'¸¦ ÁöÁ¤À» ÇÏ¸é ¸ðµç userµéÀÇ Á¢±ÙÀ» °ÅÀý ÇÑ´Ù. ƯÁ¤ÇÑ userµéÀº defaultserver allow¸¦ »ç¿ëÇÔÀ¸·Î¼ Á¢±ÙÀÌ °¡´É ÇÏ°Ô µÈ´Ù.
ÀϹÝÀûÀ¸·Î, À͸í userµéÀº virtual FTP°¡ ¾Æ´Ñ ±âº» FTP server·Î Á¢±ÙÀÌ Çã¶ôµÇ¾î Áø´Ù. ÀÌ ¹®ÀåÀº À͸í Á¢±ÙÀ» °ÅºÎÇϴµ¥ »ç¿ëÀ» ÇÑ´Ù.
virtual°ú defaultserverÀÇ allow, deny, privateÀýÀº ¾î¶² userµéÀÌ ¾î¶°ÇÑ FTP serverµé¿¡ Á¢±ÙÀÌ Çã¶ôµÇ¾î Áö´Â °ÍÀ» Á¶ÀýÇÒ¼ö ÀÖ´Ù´Â Àǹ̸¦ Á¦°øÇÑ´Ù.
PASV ¸í·ÉÀ¸·Î ¿Â ÀÀ´äÀ¸·Î ¸®Æ÷Æ®µÈ ÁÖ¼ÒÀÇ Á¶ÀýÀ» Çã¶ôÇÑ´Ù. ¾î¶² control connectionÀÌ <cidr> ÀÌ ¿ä±¸ÇÏ´Â passive data connection (PASV)¿Í ¸ÅÄ¡¸¦ ÇÒ¶§ <externalip> ÁÖ¼Ò°¡ ¸®Æ÷Æ® µÇ¾îÁø´Ù. ÁÖÀÇ: ÀÌ°ÍÀº daemonÀÌ ½ÇÁ¦·Î ±Í¸¦ ±Í¿ïÀÌ´Â ÁÖ¼Ò¸¦ º¯È ½ÃÅ°´Â °ÍÀº ¾Æ´Ï´Ù. ¿ÀÁ÷ client·Î ¸®Æ÷Æ® µÇ´Â ÁÖ¼ÒÀÏ »ÓÀÌ´Ù. ÀÌ ¿ä¼Ò´Â IP-renumbering firewallµé µÚ¿¡¼ daemonµéÀÌ Á¤È®ÇÏ°Ô µ¿ÀÛÇÏ°Ô ÇÏ´Â °ÍÀ» Çã¶ôÀ» ÇÑ´Ù.
¿¹¸¦ µé¾î:
passive address 10.0.1.15 10.0.0.0/8
passive address 192.168.1.5 0.0.0.0/0¸ðµç °÷À¸·Î ºÎÅÍÀÇ Á¢¼ÓÀÌ 192.168.1.5¿¡ ±Í¸¦ ±Í¿ïÀÌ°í ÀÖ´Â µ¿¾È A classÀÇ network 10À¸·Î ºÎÅÍÀÇ clientÀÇ Á¢¼ÓÀº passive connection ÀÌ ip address 10.0.1.15¿¡ ±Í¸¦ ±Í¿ïÀÌ°í ÀÖ´Ù´Â °ÍÀ» ÀǹÌÇÑ´Ù.
Multiple passive addressµéÀº complexÀÇ Á¶Á¤À¸·Î Á¤ÀÇ°¡ µÇ°Å³ª, multi-gateway ¶Ç´Â networkµéÀÇ Á¶Á¤À¸·Î Á¤ÀÇ°¡ µÇ¾î Áø´Ù.
passive data connectionÀ» ÅëÇØ »ç¿ëµÇ¾î Áö´Â TCP port numberµéÀÇ controlÀ» Çã¶ôÇÑ´Ù. control connectionÀÌ <min> ¿¡¼ <max> ±îÁöÀÇ ¿µ¿ª¿¡ ÀÖ´Â <cidr> Æ÷Æ®¿Í ¸ÅÄ¡µÈ´Ù¸é, daemonÀÌ ±Í¸¦ ±Í¿ïÀÌ´Â °ÍÀ» ÅëÇØ ¸¶±¸ ÀâÀÌ·Î ¼±ÅÃÀÌ µÉ °ÍÀÌ´Ù. ÀÌ ¿ä¼Ò´Â remote clientµéÀÌ ¾ÈÀüÀåÄ¡°¡ µÇ¾î ÀÖ´Â network¿¡ Á¢±ÙÀ» ÇÒ¶§ »ç¿ëÀ» ÇÏ´Â portµéÀ» Á¦ÇÑ ÇÏ´Â firewallµéÀ» Çã¶ôÇÑ´Ù.
<cidr> Àº machine address¿Í´Â ¹Ý´ëµÇ´Â slashµÚ¿¡ 4ÀÚ¸®·Î Ç¥±âµÇ°í ¶Ç´Â °¢ ÀÚ¸®ÀÇ bitÀÇ ÇÕÀ¸·Î Ç¥½ÃµÇ´Â network address¸¦ ÅëÇØ Ç¥½ÃµÈ´Ù. ¿¹¸¦ µé¾î, 10´ëÀÇ A class·Î ¿¹¾àµÈ ´ë¿ªÀ» »ç¿ëÇÑ´Ù¸é, netmask 255.0.0.0 ´ë½Å CIDR "/8"À» »ç¿ëÇÒ¼ö ÀÖÀ¸¸ç network¸¦ 10.0.0.0/8 ·Î Ç¥ÇöÀ» ÇÒ¼ö°¡ ÀÖ´Ù.
lslong <command> [<options> ...]
lsshort <command> [<options> ...]
lsplain <command> [<options> ...]
lslogn, lsshort, lsplain ÀýÀº commnad¿Í optionsµéÀ» ¿°ÅÇÏ¿© directory listingÀ» »ç¿ëÇÏ´Â °ÍÀ» Çã¶ôÇÑ´Ù. optionµéÀº °ø¹éÀ» Æ÷ÇÔÇÒ¼ö ¾øÀ¸¸ç, ±âº»ÀûÀÎ °ÍµéÀº ÀÌ ÀýµéÀ» ÅëÇØ ÀϹÝÀûÀ¸·Î Á¶Á¤ÀÌ µÈ´Ù´Â °ÍÀ» ÁÖÀÇÇØ¾ß ÇÑ´Ù; Àý´ëÀûÀ¸·Î ÇÊ¿äÇÒ °æ¿ì¿¡¸¸ lslong, lsshort ¶Ç´Â osplain À» »ç¿ëÇÑ´Ù.
chmod <yes|no> <typelist>
delete <yes|no> <typelist>
overwrite <yes|no> <typelist>
rename <yes|no> <typelist>
umask <yes|no> <typelist>
ƯÁ¤ functionµéÀ» ¼öÇàÇÒ¼ö ÀÖ´Â ±ÇÇѵéÀ» Çã¶ôÇÏ°í ºÒÇãÇÑ´Ù. ±âº»ÀûÀ¸·Î, ¸ðµç userµé¿¡°Ô Çã¶ôÀÌ µÇ¾îÁø´Ù.
<typelist>´Â keyword "anonymous", "guest", "real", "class=" µéÀ» Äĸ¶(",")·Î¼ ±¸ºÐÇÏ¿© ³ª¿ÇÑ´Ù. "class="¸¦ ³ªÅ¸³¾¶§´Â, classname ÀÌ ²À µû¶ó¿Í¾ß ÇÑ´Ù. ¾î¶² "class=" ¸¦ ³ªÅ¸³¾¶§, <typelist> Á¦ÇÑÀº ¿ÀÁ÷ classÀÇ userµé¿¡°Ô¸¸ Àû¿ëÀÌ µÈ´Ù.
anonymous ftp¸¦ ÅëÇØ server¿¡ Á¢±ÙÀ» ÇÒ¶§ level°ú password check ÀÇ ÇüŸ¦ Á¤ÀÇÇÑ´Ù.
none password check¸¦ ÇÏÁö ¾Ê´Â´Ù.
trivial password¿¡ '@'ÀÌ ¹Ýµå½Ã Æ÷ÃcµÇ¾î ÀÖ´ÂÁö¸¦ checkÇÑ´Ù.
rfc822 password°¡ rfc822¿¡ ÀÇ°ÅÇÑ ÁÖ¼Ò·Î µÇ¾î ÀÖ´ÂÁö¸¦ È®ÀÎÇÑ´Ù.
warn user¿¡°Ô °æ°í´Â ÇϵÇ, loginÀº Çã¶ôÇÑ´Ù.
enforce user¿¡°Ô °æ°í¸¦ Çϸç loginÀº Çã¶ôÇÏÁö ¾Ê´Â´Ù.
e-mail ÁÖ¼Ò¸¦ È¿·ÂÀÌ ¾ø´Â ¿ä¼Ò·Î¼ °ËÅ並 ÇÏ°Ô ÇÑ´Ù. ¸¸¾à passwd-check°¡ enforce·Î ¼ÂÆõǾî ÀÖÀ¸¸é, À͸í userµéÀº ÀÌ ÁÖ¼Ò¸¦ password·Î »ç¿ëÇÏ¿© loginÇÒ¼ö°¡ ¾ø´Ù. ÀÌ°ÍÀ» ÀÌ¿ëÇÏ¿© IEUser@ or mozilla@ ¿Í °°Àº ¾î¸®¼®À» WWW brosers°¡ »ç¿ëÀ» ÇÏ´Â °ÅÁþµÈ ÁÖ¼ÒµéÀ» »ç¿ëÇÏ´Â userµéÀ» ¸·À»¼ö°¡ ÀÖ´Ù. (ÀÌ°ÍÀ» »ç¿ëÇÔÀ¸·Î¼, ftp¸¦ À§ÇØ WWW browser¸¦ »ç¿ëÇÏ´Â userµéÀ» ¸·´Â °Í¿¡ ´ëÇØ °í½ÉÇÒ ÇÊ¿ä°¡ ¾ø´Ù. ´Ü ±×µéÀÌ »ç¿ëÀ» ÇÏ´Â browser¸¦ Á¤È®ÇÏ°Ô settingÀ» ÇØ¾ß ÇÑ´Ù.) ¿ÀÁ÷ ÇÑ line´ç ÇϳªÀÇ ÁÖ¼Ò¸¸ ¼³Á¤ÀÌ µÇÁö¸¸, ¿øÇÏ´Â ¸¸ÅÀÇ deny-email address¸¦ °¡Áú¼ö°¡ ÀÖ´Ù.
<typelist>ÀÇ userµéÀ» ÅëÇØ, path-filter´Â Á¤±Ô Ç¥Çö½ÄÀ» filenameÀ¸·Î ÇÒÁö ¾ÈÇÒÁö¸¦ Á¤ÀÇÇÑ´Ù. ´ÙÁßÀ¸·Î Á¤±Ô Ç¥Çö½ÄµéÀ» Çã¶ôÇÏÁö´Â ¾Ê´Â´Ù. ¸¸¾à filenameÀÌ Á¤±Ô Ç¥Çö½ÄÀÇ Ã´µµ¿Í ¸ÅÄ¡ÇÏÁö ¾Ê´Â ´Ù¸é, <mesg> °¡ user µé¿¡°Ô Ãâ·ÂÀÌ µÇ¾î Áú °ÍÀÌ´Ù. ¿¹¸¦ µé¾î:
path-filter anonymous /etc/pathmsg ^[-A-Za-z0-9._]*$ ^\. ^-
´Â ÀÍ¸í »ç¿ëÀÚµéÀ» ÅëÇÑ ¸ðµç upload filename µéÀº ¹Ýµå½Ã A-Z, a-z, 0-9, "._- "À¸·Î À¸·Î ÀÌ·ç¾î Á®¾ß ÇÏ¸ç ½ÃÀ۽ÿ¡ "."¿Í "-" ´Â »ç¿ëÇÒ ¼ö°¡ ¾ø´Ù´Â °ÍÀ» Á¤ÀÇÇÑ´Ù. ¸¸¾à filenameÀÌ À§ÀÇ ³»¿ë°ú ºÎÇÕÇÏÁö ¾Ê´Â´Ù¸é /etc/pathmsg ÀÌ userµé ¿¡°Ô Ãâ·ÂÀÌ µÉ°ÍÀÌ´Ù.
<dirlob>·Î¼ upload¸¦ Çã¶ôÇϰųª Çã¶ôÇÏÁö ¾ÊÀ» directory¸¦ ÁöÁ¤ÇÑ´Ù.
upload¸¦ Çã¶ôÇÑ´Ù¸é, ¸ðµç fileµéÀº <owner>¿Í <goupr>À¸·Î ¼ÒÀ¯±ÇÀ» °¡Áú°ÍÀ̸ç, permissionsµéÀº <mode>¿¡ µû¸¥´Ù. directoryµéÀº °¡Àå ¸ÅÄ¡°¡ ÀߵǴ ¿øÄ¢¿¡ µû¸¥´Ù.
¿¹¸¦ µé¾î:
upload /var/ftp * no
upload /var/ftp /incomingyes ftp daemon 0666
upload /var/ftp /incoming/gifs yes jlc guest 0600 nodirs
ÀÌ°ÍÀº /incoming °ú /incoming/gifs ¿¡¸¸ upload¸¦ Çã¶ôÇÑ´Ù. /incoming ¿¡ upload µÈ fileµéÀº ftp/daemon ÀÇ ¼ÒÀ¯±ÇÀ» °¡Áö¸ç, Æ۹̼ÇÀº 0666À» °¡Áö°Ô µÈ´Ù. /incoming/gifs¿¡ upload µÇ¾îÁø fileÀº jlc/guestÀÇ ¼ÒÀ¯±ÇÀ» °¡Áö¸ç, 0600ÀÇ Æ۹̼ÇÀ» °¡Áö°Ô µÈ´Ù. ¿©±â¼ <root-dir>Àº passowrd file¿¡¼ "ftp" user¿¡°Ô ÁöÁ¤µÈ directory¿Í ¹Ýµå½Ã ¸ÅÄ¡°¡ µÇ¾î¾ß ÇÑ´Ù´Â °ÍÀ» ¸í½ÉÇØ¾ß ÇÑ´Ù.
ºÎ°¡ÀûÀ¸·Î "dirs" ¿Í "nodirs" keyword´Â mkdir ¸í·ÉÀ» »ç¿ëÇÏ¿© ¾î¶°ÇÑ »õ·Î¿î subdirectory¸¦ ¸¸µå´Â °ÍÀ» Çã¶ô Çϰųª Çã¶ôÇÏÁö ¾Ê´Â °ÍÀ» ÁöÁ¤ÇÑ´Ù.
upload ¸í·ÉÀ» »ç¿ëÇÒ¶§, directory »ý¼ºÀº default·Î Çã¶ôÀÌ µÇ¾î Áø´Ù´Â °ÍÀ» ÁÖÀÇÇØ¾ß ÇÑ´Ù. default °ªÀ» off·Î ¹Ù²Ù±â À§Çؼ´Â ÀÌ config file¿¡¼ upload ¸í·ÉÀ» »ç¿ëÇÏ°í ÀÖ´Â lineÁß °¡Àå ÀÁÙ¿¡ user, group, mode¸¦ ÁöÁ¤ÇØ¾ß Çϸç, "nodirs"°¡ ¹Ýµå½Ã µÚ¿¡ µû¶ó¿Í¾ß ÇÑ´Ù.
directory »ý¼ºÀ» Çã°¡ÇÒ¶§ ºÎ°¡ÀûÀ¸·Î <d_mode>¶ó´Â Áö½ÃÀÚ¸¦ »ç¿ëÇÒ¼ö ÀÖÀ¸¸ç ÀÌ°ÍÀº directory¸¦ »ý¼ºÇÒ ½ÃÀÇ direcotory permissionÀ» ÁöÁ¤ÇÑ´Ù. <d_mode>¸¦ »ý·«Çϸé, permissionÀº <mode>¸¦ µû¶ó°¡¸ç, <mode> ¸¶Á® »ý·«µÇ¾î ÀÖÀ¸¸é 0777ÀÌ µÈ´Ù.
upload keyword´Â ¿ÀÁ÷ <root-dir>ÀÇ (chroot()°¡ Àû¿ëÀÌ µÇ´Â)home directory¸¦ °¡Áö°í ÀÖ´Â user(Áï anonymous)¿¡°Ô¸¸ Àû¿ëÀÌ µÈ´Ù. <root-dir>Àº ¾î¶°ÇÑ home directory¿Í ¸ÅÄ¡ ½ÃÅ°±â À§ÇÏ¿© "*" ·Î¼ ÁöÁ¤À» ÇÒ¼öµµ ÀÖ´Ù.
<owner> ¿Í/¶Ç´Â <group>Àº ¾î¶² upload fileÀ̳ª directory µéÀÌ ±×µéÀÌ ¸¸µé¾îÁø directoryÀÇ ÀÚ½ÅÀÇ ¼ÒÀ¯±ÇÀ¸·Î¼ »ý¼ºÀ» ½ÃÅ°°íÀÚ ÇÒ °æ¿ì¿¡´Â "*" ·Î¼ °¢°¢ ÁöÁ¤À» ÇÒ¼öµµ ÀÖ´Ù.
ºÎ°¡ÀûÀ¸·Î ù¹ø° parameter´Â ÇöÀç chroot ȯ°æ¿¡ µû¶ó¼ Àý´ëÀûÀ¸·Î³ª »ó´ëÀûÀ¸·Î Çؼ®ÇÏ¿© ¼±ÅÃÀ» ÇÑ´Ù. ±âº»°ªÀ¸·Î´Â <root-dir>À» Àý´ë°ªÀ¸·Î Çؼ®À» ÇÑ´Ù.
ÇÑ´Ù¸é, ÀÌ uploadÀýÀº ¿ÀÁ÷ ÇöÀç user°¡ ¾î¶² classÀÇ member À϶§ ¸¸ ¿µÇâÀ» ¹Þ´Â´Ù.
remote hostname ¶Ç´Â remote IP address°¡ comma·Î ºÐ¸®µÈ <remote-glob-list>¿Í ¸ÅÄ¡°¡ µÉ¶§, <root-dir> ¾Æ·¡ÀÇ <subdir-glob>¿Í ¸ÅÄ¡°¡ µÇ´Â subdir¿¡¼ comma·Î ±¸ºÐµÈ <file-glod-list>¸¦ ÅëÇÏ¿© ´Ù¿î·Îµå¿¡¼ <byte- per-second>ÀÇ Àü¼Û 󸮷®ÀÌ Á¦ÇѵǴ fileµéÀ» ÁöÁ¤ÇÒ¼ö ÀÖ´Ù.
EntryµéÀº °¡Àå ºÎÇյǴ ¿øÄ¢¿¡ ¸ÅÄ¡°¡ µÇ¾îÁø´Ù.
¿¹¸¦ µé¾î:
throughput /e/ftp * * oo - *
throughput /e/ftp /sw* * 1024 0.5 *
throughput /e/ftp /sw* README oo - *
throughput /e/ftp /sw* * oo - *.foo.com
ÀÌ°ÍÀº defalut·Î ÃÖ´ë Àü¼Û·®À» ÁöÁ¤ÇÑ´Ù. ÇÏÁö¸¸ README¶ó´Â À̸§ Áö¾îÁöÁö ¾ÊÀº e/ftp/sw/ ¾Æ·¡ÀÇ ¾î¶² fileµé¿¡ ´ëÇؼ ÃÊ´ç 1024byte·Î download¸¦ Á¦ÇÑÇÑ´Ù. domain foo.comÀÇ µµ¸ÞÀÎÀ» °¡Áø ³×Æ®¿÷¿¡¼ ¿À´Â remote hostµéÀº ¿¹¿Ü·Î Ç×»ó ÃÖ´ë Àü¼Û·®À» ¾òÀ»¼ö ÀÖ´Ù.
¸Å ½Ã°£ remote clientµéÀº /e/ftp/sw ¾Æ·¡ÀÇ fileÀ» Á¦ÇÑ ¹ÞÀ¸¸ç, entry line°ú ¸ÅÄ¡°¡ µÇ´Â byte per second´Â ³»ºÎÀûÀ¸·Î °è¼ö(¿©±â¼´Â 0.5)¸¸Å¾¿ Áõ°¡ µÇ¾îÁø´Ù. ±×¸®°í remote client°¡ µÎ¹ø° ÆÄÀÏÀ» Á¦ÇÑ ÇÒ¶§, ÀÌ°ÍÀº 512byte/s·Î Á¦°øÀÌ µÇ¸ç ¼¼¹ø° ½Ãµµ½Ã¿¡´Â 254byte/s, 4¹ø° ½Ãµµ½Ã¿¡´Â 128byte/s µîÀ¸·Î Á¦ÇÑÀÌ µÇ¾îÁø´Ù.
byte per second fieldÀÇ "oo"´Â Àü¼Û·® Á¦ÇÑÀ» ÇÏÁö ¾Ê´Â °ÍÀ» ÀǹÌÇÑ´Ù. 1.0 ¾¿ÀÇ °è¼ö Áõ°¡³ª "-" ´Â ¸Å¹ø ¼º°øÀûÀÎ Àü¼ÛÈÄ¿¡ Àü¼Û·®ÀÇ º¯È°¡ ¾øÀ½À» ÀǹÌÇÑ´Ù.
¿©±â¼ <root-dir>Àº password database¿¡ ÀÖ´Â "ftp" user¿¡°Ô ÁöÁ¤ µÇ¾îÁø home directory¿Í ¹Ýµå½Ã ¸ÅÄ¡°¡ µÇ¾î¾ß ÇÑ´Ù´Â °ÍÀ» ÁÖÀÇÇØ¾ß ÇÑ´Ù. throughput(Àü¼Û·®) keyword´Â ¿ÀÁ÷ <root-dir>ÀÇ (chroot()°¡ Àû¿ëÀÌ µÇ´Â) home directory¸¦ °¡Áö°í ÀÖ´Â user(Áï anonymous)¿¡°Ô¸¸ Àû¿ëÀÌ µÈ´Ù.
<root-dir> Àº anonymous userµéÀÇ chroot() path¸¦ ÁöÁ¤ÇÑ´Ù. anonymous-root °¡ ¸ÅÄ¡°¡ µÇÁö¸¦ ¾ÊÀ¸¸é, ÀüÅëÀûÀ¸·Î ³»·Á¿À´Â ±¸¹®ÀÇ ¹æ¹ýÀ¸·Î 'ftp' userÀÇ home directory¸¦ »ç¿ëÀ» ÇÑ´Ù. <class>°¡ ÁöÁ¤ÀÌ µÇÁö ¾ÊÀ¸¸é, ¾î¶² anonymous-root ÁöÁ¤ÀÌ µÇÁö ¾ÊÀº anonymous userµéÀÇ root directory°¡ µÈ´Ù. ¶óÀο¡ ¿©·¯°³ÀÇ class¸¦ ÁöÁ¤ÇÒ¼öµµ ÀÖ´Ù. userµéÀ» À§ÇÑ anonymous root°¡ ¼±ÅÃÀÌ µÇ¸é, <root-dir>/etc/passwd file¿¡ ÀÕ´Â 'ftp' userµéÀÇ home directory°¡ »ç¿ëµÇ¾î Áö¸ç, ÃÖÃÊÀÇ directory¿Í system Àü¹ÝÀûÀÎ /etc/passwdÀÇ 'ftp' userµéÀÇ home directory´Â »ç¿ëÀÌ µÇÁö ¾Ê´Â´Ù.
¿¹¸¦ µé¸é:
anonymous-root /home/ftp
anonymous-root /home/localftp localnet
´Â ¸ðµç anonymous userµéÀÇ chroot()¸¦ /home/ftp·Î ÁöÁ¤À» Çϸç, ÃÖÁ¶ÀÇ CWD´Â ÀÌ home directory°¡ µÈ´Ù. ±×·¯³ª class localnetÀÇ anonymous userµéÀÇ chroot()´Â /home/localftp°¡ µÇ¸ç, ±×µéÀÇ ÃÖÃÊ CWD´Â /home/localftp/etc/passwd ¿¡ ÀÖ´Â 'ftp' userµéÀÇ home directory·Î ºÎÅÍ ¿µÇâÀ» ¹Þ°Ô µÈ´Ù.
<root-dir>Àº guest userµéÀÇ chroot() path¸¦ ÁöÁ¤ÇÑ´Ù. guest-root°¡ ¸ÅÄ¡°¡ µÇÁö ¾ÊÀ¸¸é ÀüÅëÀûÀ¸·Î ³»·Á¿À´Â ±¸¹®ÀÇ ¹æ¹ýÀ¸·Î userµéÀÇ home directory°¡ »ç¿ëµÇ¾î Áø´Ù. <uid-range>°¡ ÁöÁ¤ÀÌ µÈ ¾ÊÀ¸¸é, ¾î´À ´Ù¸¥ guest-root°¡ ÁöÁ¤ÀÌ µÇÁö ¾ÊÀº guest userµéÀ» À§ÇÑ root directory°¡ µÈ´Ù. ÇÑ ¶óÀο¡ ¿©·¯°³ÀÇ uid rangeµéÀ» ÁöÁ¤ÇÒ¼öµµ ÀÖ´Ù. userµéÀ» À§ÇÑ guest- root°¡ ¼±ÅÃÀÌ µÇ¸é, <root-dir>/etc/passwd file¿¡ ÀÖ´Â userµéÀÇ home directory°¡ »ç¿ëÀÌ µÇ¾îÁö¸ç, ÃÖÃÊÀÇ directory¿Í system Àü¹ÝÀûÀ¸·Î »ç¿ëÀÌ µÇ¾îÁö´Â /etc/passwdÀÇ home directory´Â »ç¿ëÀÌ µÇÁö ¾Ê´Â´Ù.
<uid-range>´Â UID°ªÀÇ ¼ýÀÚ·Î ÁöÁ¤À» ÇÑ´Ù. rangeµéÀº dash¿¡ ÀÇÇØ ±¸ºÐµÇ¾î Áö´Â »ó,ÇÏ °æ°è°¡ ÁÖ¾îÁü¿¡ µû¶ó ÁöÁ¤µÇ¾î Áø´Ù. ÇÏ°è(lower bound)¸¦ »ý·«ÇÏ´Â °ÍÀº "all up to"¸¦ ¶æÇϸç, »ó°è(upper bound)¸¦ »ý·«ÇÏ´Â °ÍÀº "all starting from"À» ÀǹÌÇÑ´Ù.
¿¹¸¦ µé¾î:
guest-root /home/users
guest-root /home/staff %100-999 sally
guest-root /home/users/frank/ftp frank´Â ¸ðµç userµéÀÇ chroot()¸¦ /home/users·Î ÇÏ°í, /home/users/etc/passwd ¿¡¼ ÁöÁ¤µÈ ±×µéÀÇ home directory ¿¡¼ ½ÃÀÛÇÏ°Ô ÇÑ´Ù. range 100 ºÎÅÍ 999±îÁö¿¡ Æ÷ÇԵǴ userµé°ú user sally´Â /home/staff·Î chroot()°¡ µÇ¾î Áö¸ç, /home/staff/etc/passwdÀÇ ±×µéÀÇ entry¿¡·Î ºÎÅÍ CWD°¡ ¿µÇâÀ» ¹Þ´Â´Ù. single user frank´Â /home/users/owner/ftp°¡ chroot()·Î µÇ¸ç, CWD´Â /home/users/owner/ftp/etc/passwdÀÇ ±×ÀÇ entry·ÎºÎÅÍ ¿µÇâÀ» ¹Þ´Â´Ù.
anonymous-root ¿Í guest-root¸¦ À§ÇÑ ¸í·ÉµéÀº ¸Å¿ì Áß¿äÇÏ´Ù´Â °ÍÀ» ÁÖÀÇÇØ¾ß ÇÑ´Ù. user°¡ ¿©·¯°³ÀÇ ±¸¹®¿¡ Áߺ¹µÇ¾î ¸ÅÄ¡°¡ µÈ´Ù¸é, ¿ÀÁ÷ óÀ½ °Í¸¸ Àû¿ëÀÌ µÈ´Ù. <class> ³ª <uid-range>°¡ ¾ø´Â ±¸¹®Àº Á¦¿ÜµÇ¸ç, ¾î¶² ±¸¹®µµ ¸ÅÄ¡°¡µÇÁö ¾ÊÀ» °æ¿ì¿¡¸¸ Àû¿ëÀÌ µÈ´Ù.
deny-uid <uid-range> [...]
deny-gid <gid-range> [...]
allow-uid <uid-range> [...]
allow-gid <gid-range> [...]
ÀÌ ÀýµéÀº UID¿Í GID °ªÀ¸·Î ftp server ·ÎÀÇ Á¢±Ù °ÅºÎ¸¦ ÁöÁ¤ÇÑ´Ù. allow-uid ¿Í allow-gid ÀýÀº °ÅºÎ¿Í´Â ´Þ¸® uid/gid ¸¦ ÅëÇØ Á¢±Ù Çã¶ôÇÑ´Ù. ÀÌ Ã¼Å©µéÀº ¸ðµç ´Ù¸¥ ¼³Á¤µé ÀÌÀü¿¡ ÀÌ·ç¾îÁø´Ù. deny´Â allow ÀÌÀü¿¡ üũ°¡ µÈ´Ù. defalut·Î´Â ¸ðµÎ Á¢±ÙÀ» Çã¶ôÀ» ÇÑ´Ù. ¸ðµç °æ¿ì¿¡¼, ÀÌ°ÍÀº /etc/ftpusers fileÀ» ÅëÇÑ Çʿ伺À» Á¦°Å ÇÒ¼ö ÀÖ´Ù. ¿¹¸¦ µé¾î:
deny-gid %-99 %65535
deny-uid %-99 %65535
allow-gid ftp
allow-uid ftp
anonymous 'ftp' user/groupÀ» Á¦¿ÜÇÑ Linux BoxÀÇ ¸ðµç Ư±ÇÀ» °¡Á³°Å³ª ƯÁ¤ÇÑ userµé°ú groupµéÀÇ ftp Á¢±ÙÀ» °ÅºÎÇÑ´Ù. ¸¹Àº °æ¿ì, ÀÌ°ÍÀ» ÀÌ¿ëÇÏ¿© /etc/ftpusers fileÀÇ ¿ªÇÒÀ» ´ë½ÅÇÒ¼ö ÀÖ¸¸ ÀÌ°ÍÀº /etc/ftpaccess fileÀÇ º¯°æÀ» ¹Ù¶óÁö ¾ÊÀ»¶§ »ç¿ëÇϱâ À§ÇÏ¿© Á¸À縦 ÇÑ´Ù.
ftpaccess fileÀ» ÅëÇØ single UID¿Í GID¸¦ »ç¿ëÇÒ¶§ À̸§À̳ª ¼ýÀÚ µÑ´Ù »ç¿ëÀ» ÇÒ¼ö°¡ ÀÖ´Ù. ¼ýÀÚ¸¦ »ç¿ëÇϱâ À§Çؼ´Â, ¼ýÀÚ ÀÌÀü¿¡
restricted-uid <uid-range> [...]
restricted-gid <gid-range> [...]
unrestricted-uid <uid-range> [...]
unrestricted-gid <gid-range> [...]
ÀÌ ÀýµéÀº real ¶Ç´Â guest userµéÀÌ ÀڽŵéÀÇ home directory ÀÌ¿ÜÀÇ FTP site ¿µ¿ª¿¡ Á¢±Ù ÇÏ´Â °ÍÀ» Á¶ÀýÇÑ´Ù. ÀÌ°ÍÀº guestgroup°ú guestuserÀÇ »ç¿ëÀ» ´ë½ÅÇÏ´Â °ÍÀ» ¶æÇÏÁö´Â ¾Ê´Â´Ù. ´ë½Å, guestµéÀÇ ÀÛ¿ëÀ» º¸¿ÏÇϴµ¥ »ç¿ëÇÒ¼ö´Â ÀÖ´Ù. unrestricted-uid¿Í unrestircted-gid ÀýÀº restricted¿Í´Â ´Þ¸® ±×µéÀÇ home directoryµé ÀÌ¿ÜÀÇ directory¿¡ userµéÀÇ Á¢±ÙÀ» Çã¶ôÇÑ´Ù.
ÀÌ ÀýÀÇ »ç¿ëÀÇ ¿¹´Â ±×µéÀÇ »ç¿ë°æÇâÀ» º¸¿©ÁØ´Ù. user 'dick'ÀÇ home directory°¡ /home/dick ÀÌ°í, 'jane'ÀÌ /home/jane À̶ó°í °¡Á¤À» Çϸé :
guest-root /home dick jane
restricted-uid dick jane
dick°ú janeÀÇ chroot'd°¡ /homeÀÏ µ¿¾È, ±×µéÀÇ home directory µéÀ» Á¦ÇÑ ¹Þ±â ¶§¹®¿¡ °¢°¢ ´Ù¸¥ fileµéÀ» access ÇÒ¼ö°¡ ¾ø´Ù. Whereever possible, in situations such as this example, try not to rely solely upon the ftp restrictions. ´Ù¸¥ ¸ðµç ftp aceess ¹ýÄ¢¿¡¼, ftpaccess ¼³Á¤ÀÇ ÀÛµ¿À» º¸¿ÏÇϱâ À§ÇØ directory¿Í fileÀÇ Æ۹̼ÇÀ» »ç¿ëÇϵµ·Ï ³ë·Âµµ ÇØ¾ß ÇÑ´Ù.
SITE EXEC ÀÇ Æ¯Â¡Àº ÀüÅëÀûÀ¸·Î ¿ø°Ý client·Î º¸³»Áö´Â lineµéÀÇ Ãâ·ÂÀÇ ¼ö¸¦ Á¦ÇÑÇÑ´Ù. ÀÌ ±¸¹®Àº Á¦ÇÑÀ» ¼ÂÆÃÇÒ¼ö ÀÖ°Ô²û ÇÑ´Ù. »ý·«Çϸé 20 lineµé·Î Á¦ÇÑÀÌ µÈ´Ù. limit 0Àº Á¦ÇÑÀ» ÇÏÁö ¾Ê´Â´Ù´Â °ÍÀ» ÀǹÌÇÑ´Ù; limit¸¦ ¾ø¾Ö·Á°í ÇÑ´Ù¸é Á¶½ÉÇØ¾ß ÇÑ´Ù. ÀÌ ±¸¹®ÀÌ ¿ø°ÝÀÇ user class¿Í ¸ÅÄ¡°¡ µÈ¸é limit°¡ ¹Ù·Î Àû¿ëÀÌ µÈ´Ù. ¹Ý¸é¿¡ '*' class³ª class°¡ ÁÖ¾îÁöÁö ¾ÊÀº ±¸¹® ¿ª½Ã »ç¿ëµÇ¾î Áú¼ö ÀÖ´Ù. ¿¹¸¦ µé¾î;
site-exec-max-lines 200 remote
site-exec-max-lines 0 local
site-exec-max-lines 25
Limits´Â 'remote' classÀÇ userµé¿¡°Ô SITE EXEC (¿Í ±×°á°ú SITE INDEX) ·Î ºÎÅÍ 200 lineÀ» Ãâ·ÂÇϸç, 'local' classÀÇ userµé¿¡°Ô´Â Á¦ÇÑÀ» ÇÏÁö ¾Ê´Â´Ù. ±×¸®°í ¸ðµç ´Ù¸¥ userµé¿¡°Ô´Â 25 lineÀÇ Á¦ÇÑÀ» Àû¿ëÇÑ´Ù.
FTPLIB/ftpaccess
ftpd(8), umask(2), ftplog(5), ftpconversions(5), ftpshut(8)