E D R , A S I H C RSS

VsftpVirtual (rev. 1.1)

FrontPage VsftpVirtual

VSFTP·Î °¡»óÀ¯ÀúFTP ¼­ºñ½ºÇϱâ

°¡»óÀ¯Àú FTP¶õ ·ÎÄà ½Ã½ºÅÛ¿¡ ½ÇÁ¦·Î Á¸ÀçÇÏÁö ¾Ê´Â À¯Àúµé·Î FTP ·Î±×ÀÎÀ» Çã¶ôÇÏ°í ¿î¿µÇϴ ȯ°æÀÔ´Ï´Ù. ·ÎÄà ½Ã½ºÅÛ¿¡ °èÁ¤À» Ãß°¡ÇÏÁö ¾Ê°íµµ FTP¸¸À» À§ÇÑ »ç¿ëÀÚ¸¦ Ãß°¡,»èÁ¦ÇÒ ¼ö ÀÖ´Â FTP ½Ã½ºÅÛÀÔ´Ï´Ù.
»ç¿ëÀڵ鿡°Ô FTP¸¸ Á¦°øÇØ¾ß µÉ¶§ ¾ÆÁÖ À¯¿ëÇÏ°Ô »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.

1. °¡»óÀ¯Àú µ¥ÀÌÅͺ£À̽º »ý¼º

FTP °¡»óÀ¯Àú¸¦ »ý¼ºÇϱâ À§ÇØ °¡»óÀ¯Àú¿Í Æнº¿öµå°¡ ´ã±ä DBÆÄÀÏÀ» ¸¸µé¾î¾ß µÇ´Âµ¥ °£´ÜÈ÷ »ç¿ëÀÚ ID¿Í ºñ¹Ð¹øÈ£°¡ ÀÔ·ÂµÈ ÅؽºÆ®ÆÄÀÏÀ» db_load À¯Æ¿À» ÀÌ¿ëÇØ DBÆ÷¸ËÀ¸·Î º¯È¯ÇØ ÁÜÀ¸·Î½á °¡»óÀ¯Àú°¡ »ç¿ëÇÒ »ç¿ëÀÚ DB ÆÄÀÏÀ» ¸¸µé¼ö ÀÖ½À´Ï´Ù.

¸ÕÀú FTP°¡»óÀ¯ÀúÀÇ ID¿Í ºñ¹Ð¹øÈ£¸¦ ¼³Á¤ÇÒ ÅؽºÆ® ÆÄÀÏÀ» ¸¸µé¾î º¸°Ú½À´Ï´Ù.
ÅؽºÆ®ÆÄÀÏÀº °¡»óÀ¯Àú ID ÇÑÁÙ°ú Æнº¿öµå ÇÑÁÙÀÌ ÇѽÖÀÌ µË´Ï´Ù.
Áï Ȧ¼öÁÙÀº FTP°¡»óÀ¯Àú ID°¡ µÇ°í ¦¼öÁÙÀº ¹Ù·ÎÀ­ÁÙ¿¡ ¸í½ÃµÈ FTP°¡»óÀ¯ÀúÀÇ ºñ¹Ð¹øÈ£°¡ µË´Ï´Ù. ´ÙÀ½Àº myid, yourid ¶ó´Â °èÁ¤¿¡ °¢°¢ 1234, 4321 À̶ó´Â ºñ¹Ð¹øÈ£¸¦ ºÎ¿©Çؼ­ ¼¼ÆÃµÈ virtual_user.txt ÆÄÀÏÀÔ´Ï´Ù.

root@ns TMP# cat virtual_user.txt
myid
1234
yourid
4321
root@ns TMP#

ÅؽºÆ® ÆÄÀÏÀÌ ¸¸µé¾îÁ³À¸¸é ÀÌÁ¦ DB Æ÷¸ËÀ¸·Î º¯È¯À» ÇÕ´Ï´Ù.
DBÆ÷¸äÀ¸·Î º¯È¯Çϱâ À§ÇØ db_load ¶ó´Â À¯Æ¿À» »ç¿ëÇҰǵ¥ ÀÌ À¯Æ¿Àº db4-utils À̶ó´Â RPM ÆÐÅ°Áö¿¡ Æ÷ÇԵǾî Àִµ¥ Ȥ½Ã db_load À¯Æ¿À» ¼³Ä¡ÇÏÁö ¾ÊÀ¸½Å ºÐµéÀº db4-utils RPM ÆÐÅ°Áö¸¦ ´Ù¿î¹Þ¾Æ ¼³Ä¡ÇϽñ⠹ٶø´Ï´Ù.

root@ns TMP# db_load -T -t hash -f virtual_user.txt /etc/vsftpd_login.db
root@ns TMP# ls -l /etc/vsftpd_login.db
root@ns TMP# chmod 600 /etc/vsftpd_login.db
root@ns TMP# ls -l /etc/vsftpd_login.db

virtual_user.txt ÆÄÀÏÀ» vsftpd_login.db·Î º¯È¯Çϴµ¥ º¯È¯µÈ ÆÄÀÏÀ» /etc µð·ºÅ丮¾È¿¡ ³Ö¾îµÓ´Ï´Ù.
»ý¼ºµÈ vsftpd_login.db ÆÄÀÏÀ» root ÀÌ¿ÜÀÇ »ç¿ëÀÚ´Â ÆÄÀÏÀ» º¼ ¼ö ¾ø°Ô Æ۹̼ÇÀ» 600 À¸·Î º¯°æÇØÁÝ´Ï´Ù.
¸¸¾à ÆÛ¹Ì¼Ç º¯°æÀ» ÇÏÁö ¾ÊÀ¸¸é ½Ã½ºÅÛÀÇ ÀÏ¹Ý »ç¿ëÀÚ°¡ ÀÌ ÆÄÀÏÀ» ¿­¶÷ÇÒ ¼ö Àֱ⠶§¹®¿¡ ID¿Í ºñ¹Ð¹øÈ£°¡
½±°Ô ³ëÃâÀÌ µË´Ï´Ù. ±×·¡¼­ ¹Ýµå½Ã vsftpd_login.db ÆÄÀÏÀÇ Æ۹̼ÇÀ» 600 À¸·Î Á¶Á¤ÇϽñ⠹ٶø´Ï´Ù.

2. »ç¿ëÀÚ ÀÎÁõ¿¡ »ç¿ëÇÒ PAM ÆÄÀÏ »ý¼º

PAM¿¡ ´ëÇÑ °­Á´ Â÷ÈÄ¿¡ Á¦°øÇÒ °ÍÀ̱⠶§¹®¿¡ ±×¶§ ÀÚ¼¼È÷ °øºÎÇÏ°í À̹ø°­Á¿¡´Â ¿¡Çø®ÄÉÀ̼ÇÀÇ ÀÎÁõ¸ðµâÀ̶ó°í¸¸ ¾Ë°í ³Ñ¾î°¡±â·Î ÇÏÁÒ.
¿ì¸®´Â ÀÌÁ¦ °¡»óÀ¯ÀúµéÀÇ ID¿Í ºñ¹Ð¹øÈ£°¡ Á¤È®ÇÑÁö üũÇÑÈÄ FTP ·Î±×ÀÎÀ» Çã¶ôÇϱâ À§ÇÑ PAM ÆÄÀÏÀ» ¸¸µé °ÍÀÔ´Ï´Ù. µü 2ÁÙ¸¸ ÀÛ¼ºÇÏ¸é µÇ´Â ¾ÆÁÖ °£´ÜÇÑ ÀÛ¾÷ÀÔ´Ï´Ù.

PAM ÆÄÀÏÀ» ´ÙÀ½°ú °°ÀÌ ÀÛ¼ºÇÑÈÄ /etc/pam.d µð·ºÅ丮¿¡ vsftpd ¶ó´Â À̸§À¸·Î »ý¼ºÇÕ´Ï´Ù.

auth required /lib/security/pam_userdb.so db=/etc/vsftpd_login account required /lib/security/pam_userdb.so db=/etc/vsftpd_login

root@ns TMP# cat /etc/pam.d/vsftpd

¿ì¸®°¡ Áö±Ý±îÁö »ý¼ºÇÑ /etc/vsftpd_login.db ÆÄÀÏ°ú /etc/pam.d/vsftpd ÆÄÀÏÀÌ FTP Á¢±ÙÇã°¡¸¦ À§ÇØ »ç¿ëµË´Ï´Ù.

3. °¡»óÀ¯Àú °èÁ¤ »ý¼º°ú °¡»óÀ¯ÀúµéÀÌ »ç¿ëÇÒ µð·ºÅ丮 »ý¼º

°¡»óÀ¯Àú FTP¸¦ »ç¿ëÇϱâ À§Çؼ­´Â °¡»óÀ¯ÀúµéÀÌ »ç¿ëÇÒ ½ÇÁ¦ °èÁ¤À» Çϳª ¸¸µé¾îÁà¾ß µË´Ï´Ù
ÀÌ °­Á¿¡¼­´Â virtual À̶ó´Â °èÁ¤À» °¡»óÀ¯ÀúµéÀÇ ½ÇÁ¦ °èÁ¤À¸·Î Ãß°¡ÇÏ°í /home/ftpsite µð·ºÅ丮¸¦ °¡»óFTPÀÇ È¨µð·ºÅ丮·Î ÁöÁ¤À» ÇÒ °ÍÀÔ´Ï´Ù.

´ÙÀ½°ú °°ÀÌ virtual À̶ó´Â °èÁ¤À» Ãß°¡ÇÕ´Ï´Ù.

root@ns TMP# useradd -d /home/ftpsite virtual
root@ns TMP# ls -ld /home/ftpsite

virtual À̶ó´Â °èÁ¤ÀÌ Á¤»óÀûÀ¸·Î »ý¼ºµÇ¾úÀ¸¸é systemÀÇ host ÆÄÀÏÀ» /home/ftpsite µð·ºÅ丮¿¡ º¹»ç¸¦ ÇÕ´Ï´Ù. º¹»çÇÑ hosts ÆÄÀÏÀÇ ¼ÒÀ¯ÀÚ¿Í ¼ÒÀ¯±×·ìÀº virtual·Î ¼öÁ¤ÇÕ´Ï´Ù.

root@ns TMP# cd /home/ftpsite
root@ns ftpsite# cp /etc/hosts /home/ftpsite
root@ns ftpsite# ls -l /home/ftpsite/hosts
root@ns ftpsite# chown virtual.virtual hosts

4. °¡»óFTP ȯ°æ¼³Á¤ ÆÄÀÏ ¼¼ÆÃ

ÀÌÁ¦ ¸¶Áö¸·À¸·Î °¡»ó FTP¸¦ »ç¿ëÇϱâ À§ÇÑ È¯°æ¼³Á¤ÆÄÀÏÀ» ÀÛ¼ºÇÒ °ÍÀÔ´Ï´Ù.
°¢ ȯ°æ¼³Á¤ ¿É¼Ç¿¡ ´ëÇÑ ¼³¸íÀº 'VSFTP ȯ°æ¼³Á¤' °­Á¸¦ Âü°íÇϽñ⠹ٶø´Ï´Ù.

vsftpd_vitual.conf ¶ó´Â ÆÄÀÏ¿¡ ´ÙÀ½ÀÇ ³»¿ëÀ» ³Ö¾î /etc µð·ºÅ丮¿¡ »ý¼ºÇϼ¼¿ä.

anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_file=/var/log/vsftpd.log
chroot_local_user=YES
listen=YES
listen_port=1004
guest_enable=YES
guest_username=virtual
pam_service_name=vsftpd
pasv_min_port=30000
pasv_max_port=30999
virtual_use_local_privs=YES
user_sub_token=$USER
local_root=/home/ftpsite/$USER


À§¿Í°°ÀÌ ¼³Á¤ÀÌ µÇ¾ú´Ù¸é °¡»óÀ¯ÀúÀÇ È¨µð·ºÅ丮ÀÎ /home/ftpsite ¿¡ °¡»óÀ¯Àúº° Ȩµð·ºÅ丮¸¦ »ý¼ºÇؾߵ˴ϴÙ. °¡»óÀ¯Àúº° Ȩµð·ºÅ丮¸íÀº °¡»óÀ¯Àú ID·Î »ý¼ºÇÏ°í »ý¼ºµÈ µð·ºÅ丮ÀÇ ¼ÒÀ¯ÀÚ¿Í ¼ÒÀ¯±×·ìÀ» virtual·Î ¼¼ÆÃÀ» ÇØ ÁÝ´Ï´Ù.

root@ns ftpsite# mkdir myid
root@ns ftpsite# mkdir yourid
root@ns ftpsite# chown virtual.virtual *
root@ns ftpsite# ls -l



ÀÌÁ¦ °¡»óÀ¯ÀúFTP¸¦ ¿î¿µÇϱâ À§ÇÑ Áغñ´Â ¸ðµÎ ³¡³µ½À´Ï´Ù.

5. vsftpd ½ÇÇà

°¡»óÀ¯ÀúFTP¸¦ ¿î¿µÇϱâ À§Çؼ­´Â vsftpd¸¦ Standalone ¹æ½ÄÀ¸·Î¸¸ ÀÛµ¿½ÃÄÑ¾ß µË´Ï´Ù.
´ÙÀ½°ú °°ÀÌ vsftpd ½ÇÇà½Ã¿¡ /etc/vsftpd_virtual.conf ÆÄÀÏÀ» ȯ°æ¼³Á¤ ÆÄÀÏ·Î ÁöÁ¤ÇØ¾ß ½ÇÇà½Ãŵ´Ï´Ù.
Àú´Â VSFTP¸¦ ¼³Ä¡ÇÒ ¶§ /usr/local/sbin µð·ºÅ丮¿¡ vsftpd µ¥¸óÆÄÀÏÀ» »ý¼ºÇ߱⠶§¹®¿¡ ¾Æ·¡¿Í °°ÀÌ Çß½À´Ï´Ù. °¢ÀÚÀÇ vsftpd µ¥¸óÀ» °¡»óÀ¯ÀúFTP ȯ°æ¼³Á¤ÆÄÀÏÀ» ÁöÁ¤Çؼ­ ½ÇÇàÇÏ¸é µË´Ï´Ù.

root@ns ftpsite# /usr/local/sbin/vsftpd /etc/vsftpd_virtual.conf


6. °¡»óÀ¯Àú·Î ftp Á¢¼ÓÇϱâ

¾Æ·¡È­¸éÀº myid, yourid ·Î °¢°¢ Á¢¼ÓÇÑ È­¸éÀÔ´Ï´Ù. °¢°¢ÀÇ °¡»óÀ¯Àú´Â ÀÚ½ÅÀÇ È¨µð·¹Å丮 Áï /home/ftpsite/myid ¿Í /home/ftpsite/yourid ·Î Á¢¼ÓµÇ¾ú°í ÀÚ½ÅÀÇ È¨ µð·ºÅ丮°¡ FTP ·çÆ®µð·ºÅ丮·Î ¼³Á¤µÇ¾î ÀÖ½À´Ï´Ù.

*myid ·Î Á¢¼Ó

*yourid ·Î Á¢¼Ó
Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2005-11-04 13:18:52
Processing time 0.0389 sec