1. ÀÌ¹Ì ¼³Ä¡ µÇ¾îÀÖ´ÂÁö È®ÀÎ : rpm -qa | grep vsftpd

2. ÀÌ¹Ì ¼³Ä¡ µÇ¾úÀ» °æ¿ì »èÁ¦ ¹æ¹ý : rpm -e vsftpd
    ÀÌ·¸°Ô ÇßÀ»¶§ ÀÇÁ¸¼º¹®Á¦·Î »èÁ¦°¡ µÇÁö ¾Ê´Â´Ù¸é :   rpm -e --nodeps vsftpd

3. ¼Ò½º down : http://vsftpd.beasts.org/)

4. VsFTPD ¼Ò½º ¼³Ä¡ ¹æ¹ý (ÃֽŹöÀü: http://vsftpd.beasts.org/)
    VsFTPD´Â ´ëºÎºÐÀÇ OS ÆÐŰÁö °ü¸®ÀÚ°¡ Á¦°øÀ» ÇØÁÙ Á¤µµ·Î º¸¾È¼ºÀÌ ¸Å¿ì ¶Ù¾î³³´Ï´Ù.
    ¶ÇÇÑ, ±»ÀÌ ÆÐŰÁö °ü¸®ÀÚ¸¦ ÀÌ¿ëÇÏÁö ¾Ê´õ¶óµµ ¼³Ä¡°¡ ¸Å¿ì ½¬¿î ÇÁ·Î±×·¥ÀÔ´Ï´Ù.

[root@localhost]# wget ftp://vsftpd.beasts.org/users/cevans/vsftpd-2.0.5.tar.gz
[root@localhost]# tar xfz vsftpd-2.0.5.tar.gz
[root@localhost]# cd vsftpd-2.0.5

  4-1. VsFTPD ÇÑ±Û ÆÐÄ¡ ¹× tcp_wrappers ÆÐÄ¡
         VsFTPD¸¦ ±×³É ¼³Ä¡Çؼ­ »ç¿ëÇØµµ µ¥¸ó ¿î¿µ¿¡´Â ÀüÇô ÁöÀåÀÌ ¾øÁö¸¸, ·Î±×¿¡¼­ Çѱ۷ΠµÈ ÆÄÀϸíÀÌ
         Ã³¸®°¡ ¾ÈµÈ´Ù´Â ¸ÍÁ¡ÀÌ ÀÖ½À´Ï´Ù.
         À̰ÍÀº VsFTPD°¡ Ãâ·ÂÇÒ ¼ö ¾ø´Ù°í ÆÇ´ÜÇÏ´Â ASCII Code 31 ÀÌÇÏ, 128~159, 177 ¹®ÀÚ¸¦ ¸ðµÎ
         ¹°À½Ç¥(?)·Î º¯°æÇؼ­ ó¸®Çϱ⠶§¹®ÀÔ´Ï´Ù.
         µû¶ó¼­ Çѱ۷ΠµÈ ÆÄÀϸíÀ» Á¦´ë·Î ó¸®ÇÏ·Á¸é ¾Æ·¡¿Í °°ÀÌ ÆÐÄ¡ ÀÛ¾÷À» ÇØ¾ß µË´Ï´Ù.
[root@localhost]# vi logging.c (157¶óÀÎ ±Ùó)
º¯°æÀü: str_replace_unprintable(p_str, '?');
º¯°æÈÄ: /* str_replace_unprintable(p_str, '?'); */

         ¡Ø ±×·¯³ª À§¿Í °°ÀÌ ÆÐÄ¡ÇØµµ ·Î±×¿¡¼­´Â Á¦´ë·Î ÇѱÛÀ» ó¸®Çϳª, ps Ä¿¸Çµå µî¿¡¼­´Â
              Á¦´ë·Î ÇѱÛÀ» ó¸®ÇÏÁö ¸øÇÕ´Ï´Ù. ÀÌ ¹®Á¦¸¦ ÇȽºÇÏ·Á¸é ÆÐÄ¡ÀÛ¾÷À» Çѹø ´õ ÇØÁÖ¸é µË´Ï´Ù.
[root@localhost]# vi postlogin.c (121¶óÀÎ ±Ùó)
º¯°æÀü: str_replace_unprintable(p_str, '?');
º¯°æÈÄ: /* str_replace_unprintable(p_str, '?'); */

         ¡Ø ¶ÇÇÑ VsFTPDÀÇ ¿É¼ÇÁß tcp_wrappers¿Í ¿¬µ¿ÇÏ´Â ¿É¼ÇÀÌ Àִµ¥ ±× ¿É¼ÇÀ» »ç¿ëÇÏ·Á¸é
             ¾Æ·¡ÀÇ ÆÐÄ¡µµ ÇÔ²² ÇØÁà¾ß µË´Ï´Ù.
[root@localhost]# vi builddefs.h
º¯°æÀü: #undef VSF_BUILD_TCPWRAPPERS
º¯°æÈÄ: #define VSF_BUILD_TCPWRAPPERS


1-2. VsFTPD ¼³Ä¡
VsFTPD´Â µû·Î ȯ°æ¼³Á¤(configure) ÀÛ¾÷À» ÇØÁÙ Çʿ䰡 ¾ø½À´Ï´Ù.
±×³É ÄÄÆÄÀÏ ÈÄ ¼³Ä¡ÇÏ½Ã¸é ³¡³³´Ï´Ù.

[root@localhost]# make
[root@localhost]# make install
[root@localhost]# cp vsftpd.conf /etc/vsftpd/
[root@localhost]# chmod 600 /etc/vsftpd/vsftpd.conf
[root@localhost]# cp RedHat/vsftpd.pam /etc/pam.d/vsftpd


2. VsFTPD RPM ¼³Ä¡¹æ¹ý (http://pkg.tini4u.net/ftp/vsftpd/)
¼Ò½º ÄÄÆÄÀÏ·Î ¼³Ä¡ÇÏ´Â ¹æ¹ýÀÌ ¾Æ¹«¸® ½±´Ù°í ÇÏ´õ¶óµµ, ¿ª½Ã RPMÀ» ¾²´ø »ç¶÷µéÀº
RPMÀ¸·Î ±ò²ûÇÏ°Ô °ü¸®Çϴ°ÍÀ» ´õ ¼±È£ÇÒ ¼ö ¹Û¿¡ ¾ø´Â°Í °°½À´Ï´Ù. (ÇÊÀÚ¸¸ ±×·±°¡¿ä?^^;;)
À§¿¡¼­ ¸»ÇßµíÀÌ VsFTPD´Â ±× ¾ÈÁ¤¼ºÀ» ÀÎÁ¤¹Þ¾Æ, ÃÖ±Ù °ÅÀÇ ¸ðµç OSÀÇ ÆÐŰÁö°ü¸®ÀÚ°¡
Á¦°øÀ» ÇØÁÖ°í ÀÖ½À´Ï´Ù.
±×·¸±â ¶§¹®¿¡ 'yum install vsftpd' Ä¿¸Çµå ÇѹæÀ¸·Î ¼³Ä¡¸¦ ³¡³¾ ¼ö Àִµ¥ ¸ÍÁ¡ÀÌ Çϳª ÀÖ½À´Ï´Ù.
¹Ù·Î ¼Ò½º ÄÄÆÄÀϽà Çß´ø ÇÑ±Û ÆÐÄ¡°¡ Àû¿ëµÇ¾î ÀÖÁö ¾Ê½À´Ï´Ù.
ÀÌ ¹®Á¦¸¦ ÇȽºÇÏ·Á¸é src.rpmÀ» ¹Þ¾Æ¼­ ÆÐÄ¡ ÈÄ ¸®ºôµå ÇØ¼­ ¼³Ä¡ÇÏ´Â ¹æ¹ýÀÌ ÀÖ°Ú½À´Ï´Ù¸¸..
¿ª½Ã ¹«Áö¹«Áö*100 ÇÏ°Ô ±ÍÂúÀº ÀÛ¾÷ÀÌ ¾Æ´Ò¼ö°¡ ¾ø½À´Ï´Ù.
µû¶ó¼­ ÇÊÀÚ°¡ ÀÌ¹Ì ¸ðµç ÆÐÄ¡¿Í ¼³Á¤À» ³¡³»³õÀº ÆÐŰÁö¸¦ ¸¸µé¾î¼­ ¿Ã·Á³ù½À´Ï´Ù.
ÀÌ ¸ðµç °úÁ¤ÀÌ ³Ê¹«³ª ±ÍÂú´Ù ÇϽô ÇÊÀÚ¿Í °°Àº ±ÍÂ÷´Ï½ºÆ® ºÐµéÀº °¡Á®´Ù ¾²½Ã¸é µÇ°Ú½À´Ï´Ù^^;
[root@localhost]# wget http://pkg.tini4u.net/ftp/vsftpd/i386/vsftpd-2.0.1-5.EL4.5_kor.i386.rpm
[root@localhost]# rpm -Uvh vsftpd*.rpm

¡Ø ¸¸¾à x86_64 ÆÐŰÁö³ª src.rpmÀÌ ÇÊ¿äÇϽźÐÀº 2¹ø ¼½¼Ç ½ÃÀ۽à ¸í½ÃÇØµÐ ÇÊÀÚÀÇ °³ÀÎÆÐŰÁö
¡¡ ¹Ì·¯¿¡¼­ °¡Á®´Ù ¾²½Ã¸é µË´Ï´Ù.

3. VsFTPD ȯ°æ¼³Á¤
ÀÌÁ¦ ¼³Ä¡°¡ ³¡³µÀ¸´Ï VsFTPD¸¦ ½ÃÀÛÇϱâ Àü¿¡ ȯ°æ¼³Á¤À» ÇØÁÖ¾î¾ß µË´Ï´Ù.
¿©±â¼­´Â ¾ÆÁÖ °£·«ÇÑ È¯°æ¼³Á¤ ¿É¼Ç¸¸ Á¦½ÃÇϵµ·Ï ÇϰÚÀ¸¸ç, µ¶¸³¸ðµå(Standalone) ±âÁØÀÔ´Ï´Ù.
¸¸¾à ÀÚ¼¼ÇÑ ¿É¼ÇÀ» º¸°í ½ÍÀ¸½Ã´Ù¸é, 'VsFTPD ȯ°æ¼³Á¤ ¿É¼Ç' °­ÁÂÆíÀ» Âü°íÇϽñ⠹ٶø´Ï´Ù.
¡Ø ÇÊÀÚÀÇ RPMÀ¸·Î ¼³Ä¡ÇϽŠºÐµéÀº µû·Î ¼³Á¤ÇÏÁö ¾Ê¾Æµµ µË´Ï´Ù. ÀÌ¹Ì ¼³Á¤À» ´Ù ÇØ³ù½À´Ï´Ù.
¡Ø ¿É¼ÇÀº 'option=value'½ÄÀ¸·Î ÇØÁÖ½Ã¸é µÇ´Âµ¥, Àý´ë·Î option°ú value »çÀÌ¿¡ °ø¹éÀÌ ÀÖÀ¸¸é
¡¡ ¾ÈµË´Ï´Ù. Áï, 'option = value'´Â À߸øµÈ ¼³Á¤À̶ó´Â ¶æÀÔ´Ï´Ù.
  1. [root@localhost]# vi /etc/vsftpd/vsftpd.conf
  2. background=YES
  3. listen=YES
  4. listen_port=21
  5. use_localtime=YES
  6. setproctitle_enable=YES
  7. local_enable=YES
  8. pam_service_name=vsftpd
  9. tcp_wrappers=YES
  10. ascii_download_enable=YES
  11. ascii_upload_enable=YES
  12. local_umask=022
  13. file_open_mode=0644
  14. write_enable=YES
  15. chroot_local_user=YES
  16. xferlog_file=/var/log/vsftpd.log
  17. xferlog_enable=YES
  18. session_support=YES
  19. anonymous_enable=NO


4. init script »ý¼º
À§¿¡¼­ ÇÊÀÚ´Â µ¶¸³¸ðµå¸¦ ±âÁØÀ¸·Î ¼³Á¤ÇØÁá´Ù°í ¸»¾¸µå·È½À´Ï´Ù.
µû¶ó¼­ Á»´õ Æí¸®ÇÏ°Ô °ü¸®Çϱâ À§ÇØ init script¸¦ »ý¼ºÇؼ­ °ü¸®Çϵµ·Ï ÇϰڽÀ´Ï´Ù.
¸¸¾à xinetd ¸ðµå·Î »ç¿ëÇÏ½Ç ºÐµéÀº ÀÌ ÀÛ¾÷Àº »ý·«ÇÏ½Ã¸é µË´Ï´Ù.
¡Ø ÇÊÀÚÀÇ RPMÀ¸·Î ¼³Ä¡ÇϽŠºÐµéÀº ÀÌ¹Ì Á¦°øÇϹǷÎ, »ý·«ÇÏ½Ã¸é µË´Ï´Ù.
  1. [root@localhost]# vi /etc/init.d/vsftpd
  2. #!/bin/bash
  3. #
  4. # vsftpd     This shell script takes care of starting and stopping
  5. #             standalone vsftpd.
  6. #
  7. # chkconfig: - 60 50
  8. # description: Vsftpd is a ftp daemon, which is the program \
  9. #             that answers incoming ftp service requests.
  10. # processname: vsftpd
  11. # config: /etc/vsftpd/vsftpd.conf
  12. # Source function library.
  13. . /etc/rc.d/init.d/functions
  14. # Source networking configuration.
  15. . /etc/sysconfig/network
  16. # Check that networking is up.
  17. [ ${NETWORKING} = "no" ] && exit 0
  18. [ -x /usr/sbin/vsftpd ] || exit 0
  19. RETVAL=0
  20. prog="vsftpd"
  21. start() {
  22.         # Start daemons.
  23.         if [ -d /etc/vsftpd ] ; then
  24.                 for i in `ls /etc/vsftpd/*.conf`; do
  25.                         site=`basename $i .conf`
  26.                         echo -n $"Starting $prog for $site: "
  27.                         /usr/sbin/vsftpd $i &
  28.                         RETVAL=$?
  29.                         [ $RETVAL -eq 0 ] && {
  30.                          touch /var/lock/subsys/$prog
  31.                          success $"$prog $site"
  32.                         }
  33.                         echo
  34.                 done
  35.         else
  36.                 RETVAL=1
  37.         fi
  38.         return $RETVAL
  39. }
  40. stop() {
  41.         # Stop daemons.
  42.         echo -n $"Shutting down $prog: "
  43.         killproc $prog
  44.         RETVAL=$?
  45.         echo
  46.         [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/$prog
  47.         return $RETVAL
  48. }
  49. # See how we were called.
  50. case "$1" in
  51. start)

 

 

1. vsftpd FTP ¼­¹ö¿¡ ´ëÇØ

vsftpd´Â UNIX ½Ã½ºÅÛ¿¡¼­ »ç¿ëÇÒ ¼ö ÀÖ´Â free FTP ¼­¹ö(¶óÀ̼¾½º´Â GPL)ÀÌ´Ù.
vsftpd°¡ ³»¼¼¿ì°í ÀÖ´Â °ÍÀº º¸¾È, ¼º´É, ¾ÈÁ¤¼ºÀÌ´Ù. Áö±Ý±îÁö vsftpdÀÇ ÀÚü º¸¾È ¹®Á¦°¡ ÀÖ¾î
º¸¾È±Ç°í°¡ ³ª¿Â ÀûÀº ¾ø´Ù.(RedhatÀÇ rpm ÆÐŰÁöÁß¿¡ tcp_wrappers Áö¿ø¾øÀÌ ¸¸µé¾îÁ®¼­ ¾÷µ¥ÀÌÆ®
rpmÀº ³ª¿Â Àû ÀÖÀ½)

* Áö¿ø ¹× Å×½ºÆ®µÈ OS

- Linux (Redhat, SuSE, Debian)
- Solaris (¹öÀü¿¡ µû¶ó IPv6³ª inet_atonÇÔ¼ö¶§¹®¿¡ ¼³Ä¡°¡ Àß ¾ÈµÉ ¼ö ÀÖÀ½)
- FreeBSD, OpenBSD
- HP-UX
- IRIX

* ÁÖ¿ä ±â´É

- °¡»ó IPº° º°µµÀÇ È¯°æ ¼³Á¤ ±â´É (¼³Á¤ÆÄÀÏÀÇ listen_address= ÀÌ¿ë)
- °¡»ó »ç¿ëÀÚ ¼³Á¤
- Àü¼Û ´ë¿ªÆø ÁöÁ¤
- PAM Áö¿ø (¹öÀü 1.2.0ºÎÅÍ´Â PAMÀ» ÅëÇÑ wtmp¿¡ ·Î±ä ·Î±×¸¦ ³²±è)
- xferlog Ç¥ÁØ ·Î±× ÆÄÀϺ¸´Ù »ó¼¼ÇÑ ÀÚü ·Î±× ÆÄÀÏ Çü½Ä Áö¿ø
- Standalone ¹æ½Ä°ú inetd(xinetd)¸¦ ÅëÇÑ ¿î¿µ ¸ðµÎ Áö¿ø
- IPº° ´Ù¸¥ ȯ°æ ÆÄÀÏ ÁöÁ¤ ±â´É (tcp_wrappers¿Í ÇÔ²² »ç¿ëÇÒ ¶§)
- ...
2. vsftpd ¼³Ä¡

¡Ø ¼³Ä¡´Â Redhat ±âÁØ. ¼Ö¶ó¸®½ºÀÇ PAM¿¡ ´ëÇÑ °ÍÀº README.solaris ÆÄÀÏ ÂüÁ¶ÇÑ´Ù.

http://vsftpd.beasts.org/ ¿¡¼­ ÃֽŹöÀü(ÇöÀç 1.2.0)ÀÇ ¼Ò½º¸¦ ¹Þ¾Æ¿Â´Ù.


# tar xvfz vsftpd-1.2.0.tar.gz
# cd vsftpd-1.2.0


Çѱ۷ΠµÈ ÆÄÀϸíÀ» Àü¼ÛÇÒ ¶§ ·Î±×¿¡ ÆÄÀϸíÀÌ ???? ·Î ³²Áö ¾Êµµ·Ï
logging.c ÆÄÀÏÀ» ¿¬ ÈÄ 140¹øÂ° ÁÙÀÇ

str_replace_unprintable(p_str, '?');

¸¦ ´ÙÀ½Ã³·³ ÁÖ¼® ó¸®ÇÑ´Ù.

/* str_replace_unprintable(p_str, '?'); */

¶ÇÇÑ tcp_wrappers¸¦ ÅëÇÑ Á¢¼ÓÁ¦¾î¸¦ »ç¿ëÇÏ·Á¸é builddefs.h ¿¡¼­

#undef VSF_BUILD_TCPWRAPPERS ¸¦
#define VSF_BUILD_TCPWRAPPERS ·Î ¹Ù²Û´Ù.



# make
# make install¡¡(vsftpd µ¥¸ó, man page,¡¡xinetd ¿ë ¼³Á¤ ÆÄÀÏ ¼³Ä¡)
# cp vsftpd.conf /etc (ȯ°æ¼³Á¤ ÆÄÀÏ º¹»ç)
# chmod 600 /etc/vsftpd.conf
# cp RedHat/vsftpd.pam /etc/pam.d/vsftpd (PAM ¼³Á¤ ÆÄÀÏ º¹»ç)


/etc/pam.d/vsftpd ù¹øÂ° ÁÙ¿¡ ´ÙÀ½°ú °°ÀÌ ÀÖ´Ù.


pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed


Áï, /etc/ftpusers ÆÄÀÏ¿¡ Á¸ÀçÇÏ´Â ID´Â Á¢¼ÓÇÒ ¼ö ¾ø°ÔµÈ´Ù.(sense=deny)


# FTP Á¢¼ÓÀ» Çã¿ëÇÏÁö ¾ÊÀ» ID¸¦ µî·ÏÇÑ´Ù.
# /etc/passwd¸¦ ÂüÁ¶Çؼ­ ¼³Ä¡ÇÒ ¼­¹öÀÇ È¯°æ¿¡ ¸Â°Ô µî·Ï
root
bin
daemon
adm
lp
sync
shutdown
halt
mail
news
uucp
operator
games
nobody
smmsp
xfs
gdm
mysql

3. vsftpd.conf ÀÇ ÁÖ¿ä ¼³Á¤


# anonymous »ç¿ëÀÚÀÇ Á¢¼Ó Çã¿ë ¿©ºÎ, Áï anonymous ftp (default = YES)
# °ø°³µÈ ÇüÅÂÀÇ FTP ¼­¹ö·Î ¿î¿µÇÒ °ÍÀÌ ¾Æ´Ï¶ó¸é NO·Î ÇÑ´Ù.
anonymous_enable=NO
# ·ÎÄà °èÁ¤ »ç¿ëÀÚÀÇ Á¢¼Ó Çã¿ë ¿©ºÎ (default = NO)
local_enable=YES

# write ¸í·É¾î Çã¿ë ¿©ºÎ (defualt = NO)
write_enable=YES
# ·ÎÄà °èÁ¤ »ç¿ëÀÚ¿ë umask (default = 077)
local_umask=022

# anonymous »ç¿ëÀÚ°¡ ÆÄÀÏÀ» ¾÷·Îµå ÇÒ ¼ö ÀÖ´ÂÁö ¿©ºÎ (default = NO)
# anon_upload_enable=YES
# anonymous »ç¿ëÀÚÀÇ µð·ºÅ丮 »ý¼º Çã¿ë ¿©ºÎ (default = NO)
# anon_mkdir_write_enable=YES

# ÆÄÀÏ Àü¼Û ·Î±×¸¦ ³²±æ °ÍÀÎÁö ¿©ºÎ (default = YES)
xferlog_enable=YES
# xferlog Ç¥ÁØ Æ÷¸ËÀ¸·Î ·Î±×¸¦ ³²±æÁö ¿©ºÎ (±âº» ¼³Á¤ÆÄÀÏÀº YES)
# ¾Æ·¡¿¡¼­ NO·Î ¼³Á¤ÇßÀ» ¶§¸¦ ¼³¸íÇÔ
xferlog_std_format=YES
# ÆÄÀÏ Àü¼Û ·Î±× ÆÄÀϸí
xferlog_file=/var/log/vsftpd.log

# FTP ¼­¹ö Á¢¼ÓÇÒ ¶§ ·Î±ä ¸Þ½ÃÁö (default = vsFTPd ¹öÀü¹øÈ£)
# ÇÑ±Û »ç¿ë °¡´É
# ftpd_banner=Welcome to blah FTP service.

# »ç¿ëÀÚÀÇ È¨µð·ºÅ丮¸¦ ¹þ¾î³ªÁö ¸øÇϵµ·Ï Á¦ÇÑÇϱâ À§ÇÑ ¼³Á¤ (default=NO)
# Á¦ÇÑÀÌ ÇÊ¿äÇÒ °æ¿ì YES·Î ¹Ù²Û ÈÄ Á¦ÇÑÇÒ »ç¿ëÀÚ ID¸¦ chroot_list_file= ¿¡ ¼³Á¤ÇÑ ÆÄÀÏ¿¡
# ÁöÁ¤ÇÑ´Ù.
# chroot_local_user= ¼³Á¤°ú °ü·ÃÀÌ ÀÖÀ¸´Ï '3. ¹®Á¦ ÇØ°á'À» ²À Àо¶ó.
#
# chroot_list_enable=YES
# chroot_list_file=/etc/vsftpd.chroot_list

# -------------------------------------------------------------------
# ±âº» ¼³Á¤ ÆÄÀÏ¿¡´Â ¾ø´Â ¼³Á¤°ªÀ¸·Î ÇÊ¿äÇÑ ¼³Á¤¸¸ Ãß°¡ÇÑ´Ù.
# ¡Ø Áß¿äÇÑ ¼³Á¤Àº ±½Àº ±Û¾¾·Î Ç¥½Ã
# -------------------------------------------------------------------

# PAM ÆÄÀϸíÀ» ÁöÁ¤ (¼³Ä¡ÇÒ ¶§ /etc/pam.d/vsftpd¸íÀ¸·Î º¹»çÇÔ)
pam_service_name=vsftpd

# wtmp¿¡ ·Î±× ³²±â±â (YES·Î ÇØ¾ß¸¸ last ¸í·É¾î·Î Á¢¼Ó ¿©ºÎ È®ÀÎ °¡´É)
session_support=YES

# »ç¿ëÀÚ°¡ ÀÚ½ÅÀÇ home directory¸¦ ¹þ¾î³ªÁö ¸øÇϵµ·Ï ¼³Á¤
chroot_local_user=YES

# »õ·Î¿î µð·ºÅ丮¿¡ µé¾î°¬À» ¶§ »Ñ·ÁÁ٠ȯ°æ ¸Þ½ÃÁö¸¦ ÀúÀåÇÑ ÆÄÀϸí
# message_file=.message

# xferlog Çü½ÄÀ¸·Î log¸¦ ³²±â·Á¸é (À§¿¡¼­ ÀÌ¹Ì YES·Î ÇßÀ½)
# xferlog_std_format=NO
#
#¡¡ - xferlog Ç¥ÁØ Æ÷¸ËÀº ·Î±ä, µð·ºÅ丮 »ý¼ºµîÀÇ ·Î±×¸¦ ³²±âÁö ¾ÊÀ½
#¡¡¡¡ ±×·¯³ª vsftpd ½ºÅ¸ÀÏ ·Î±×´Â À̸¦ Æ÷ÇÔÇÑ º¸´Ù »ó¼¼ÇÑ ·Î±×¸¦ ³²±è
#¡¡ - vsftpd ½ºÅ¸ÀÏ ·Î±× ¿¹
#
#¡¡ Sun Jul 12 01:38:32 2003 [pid 31200] CONNECT: Client "127.0.0.1"
#¡¡ Sun Jul 12 01:38:34 2003 [pid 31199] [truefeel] FAIL LOGIN: Client "127.0.0.1"
#¡¡ Sun Jul 12 01:38:38 2003 [pid 31199] [truefeel] OK LOGIN: Client "127.0.0.1"
#¡¡ Sun Jul 12 01:38:41 2003 [pid 31201] [truefeel] OK MKDIR: Client "127.0.0.1", "/mp3"
#¡¡ Sun Jul 12 01:39:06 2003 [pid 31201] [truefeel] OK UPLOAD: Client "127.0.0.1", "/µ¨¸®
#¡¡ ½ºÆÄÀ̽º 5Áý - [04]ŰġÁÒÁöÀÇ °ËÀº °í¾çÀÌ.mp3", 6855473 bytes, 3857.39Kbyte/sec

# Àü¼Û¼Óµµ Á¦ÇÑ (0Àº Á¦ÇѾøÀ½, ´ÜÀ§´Â ÃÊ´ç bytes)
anon_max_rate=0
local_max_rate=0
trans_chunk_size=0

# ÃÖ´ë Á¢¼Ó ¼³Á¤ (´Ü xinetd¸¦ ÅëÇÏÁö ¾Ê°í standaloneÀ¸·Î µ¿ÀÛÇÒ ¶§¸¸ »ç¿ë °¡´É)
# standaloneÀ» À§Çؼ­´Â listen=YES Ãß°¡ÇÏ°í º°µµ·Î vsftpd¸¦ ¶ç¿ö¾ß ÇÔ
#
# max_clients=ÃÖ´ë Á¢¼ÓÀÚ ¼ö, max_per_ip=IP´ç Á¢¼Ó ¼ö
# max_clients=100
# max_per_ip=3

# Standalone À¸·Î ¿î¿µÇÒ ¶§ listen=YES. Æ÷Æ® º¯°æÀ» ¿øÇÒ °æ¿ì listen_port ¼³Á¤
# µðÆúÆ® Æ÷Æ®´Â 21¹ø Æ÷Æ®ÀÌ´Ù.
# listen=YES
# listen_port=21


ÇÊ¿äÇÑ ¼³Á¤ÀÌ ³¡³µÀ¸¸é xinetd¸¦ Àç½ÇÇàÇÑ´Ù.


# /etc/rc.d/init.d/xinetd restart


4. ¹®Á¦ ÇØ°á

1) ftpwho °°Àº ¸í·ÉÀº ÀÖ³ª?
¡¡ ¶ÇÇÑ last¸¦ ÇØµµ Á¢¼ÓµÈ °É È®ÀÎÇÒ ¼ö°¡ ¾ø´Âµ¥ ¹æ¹ýÀÌ ¾ø³ª?


¡¡ftpwho ÇüÅÂÀÇ ¸í·ÉÀº ¾øÀ¸¸ç ÀÓ½ÃÀûÀ¸·Î ´ÙÀ½ ¸í·É¾î µîÀ¸·Î È®ÀÎÇÒ ¼ö ÀÖ´Ù.

¡¡# ps -ef|grep vsftpd
¡¡# fuser -v ftp/tcp

¡¡vsftpd v1.2.0ÀÌ»óºÎÅÍ PAMÀ» ÅëÇØ wtmp¿¡ ·Î±×¸¦ ³²±â¹Ç·Î last·Î Á¢¼Ó¿©ºÎ¸¦ È®ÀÎÇÒ ¼ö ÀÖ´Ù.

2) ÇÑ±Û ÆÄÀϸíÀÌ Àü¼ÛµÉ ¶§´Â vsftpd.log ¿¡ ???? ·Î ³²´Â´Ù. ÇØ°áÃ¥Àº?

¡¡vsftpd´Â Ãâ·ÂÇÒ ¼ö ¾ø´Ù°í ÆÇ´ÜÇÏ´Â
¡¡ASCII ÄÚµå 31 ÀÌÇÏ, 128~159, 177 ¹®ÀÚ¸¦ ¸ðµÎ ? ·Î ¹Ù²ã¼­ ÀúÀåÀ» ÇÑ´Ù.
¡¡µû¶ó¼­ ÀÌ ºÎºÐÀ» ó¸®ÇÏÁö ¾Ê°í ÀúÀåÇϵµ·Ï ¼Ò½º¸¦ ¼öÁ¤ÇÑ ÈÄ ÄÄÆÄÀÏÇϸé ÇØ°áµÈ´Ù.

3) »ç¿ëÀÚ°¡ Ȩµð·ºÅ丮¸¦ ¸ø ¹þ¾î³ª°Ô ÇÏ°í ½Í´Âµ¥?

¡¡/etc/vsftpd.conf¿¡ ´ÙÀ½À» Ãß°¡Çϸé, ¸ðµç »ç¿ëÀÚ´Â ÀÚ½ÅÀÇ È¨µð·ºÅ丮¸¸ Á¢±ÙÇÒ ¼ö ÀÖ´Ù.

¡¡chroot_local_user=YES

¡¡¶ÇÇÑ Æ¯Á¤ »ç¿ëÀڷθ¸ Á¦ÇÑÀ» ÇÏ°í ½Í´Ù¸é ´ÙÀ½°ú °°ÀÌ ÇÑ´Ù. /etc/vsftpd.chroot_list¿¡´Â Á¦ÇÑÇÒ
¡¡»ç¿ëÀÚ ID¸¦ ÇÑÁÙ¿¡ Çϳª¾¿ ³ª¿­ÇÏ¸é µÈ´Ù.

¡¡chroot_list_enable=YES
¡¡chroot_list_file=/etc/vsftpd.chroot_list

¡¡ÁÖÀÇÇÒ °ÍÀº chroot_local_user=YES¿Í chroot_list_enable=YES¸¦ ÇÔ²² »ç¿ëÇÒ °æ¿ì¿¡´Â
¡¡/etc/vsftpd.chroot_list¿¡ Æ÷ÇÔµÈ »ç¿ëÀÚ ID¸¸ Á¦ÇѾøÀÌ È¨µð·ºÅ丮¸¦ ¹þ¾î³¯ ¼ö ÀÖ´Ù.
¡¡Áï, ¹Ý´ë·Î ÀÛ¿ëÇÑ´Ù.

¡¡standaloneÀ¸·Î FTP¼­¹ö°¡ µ¿ÀÛÁßÀ̸é Àç½ÇÇà ÇÊ¿ä. standalone¿¡ ´ëÇØ¼­´Â 6)¹ø¿¡¼­.

4) root·Î Á¢¼ÓÇÒ ¼ö´Â ¾ø³ª?

¡¡°¡´ÉÇϸé root Á¢¼ÓÀº Çã¿ëÇÏÁö ¾Ê±â¸¦ ¹Ù¶õ´Ù.
¡¡/etc/ftpusers ÆÄÀÏ¿¡¼­ root¸¦ »©¸é Á¢¼ÓÀÌ °¡´ÉÇÏ´Ù.

5) ID/ºñ¹Ð¹øÈ£°¡ Á¤È®È÷ ¸Â´Âµ¥ ·Î±äÇÒ ¶§ ÀÚ²Ù 530 Login incorrect. ¶ó°í ³ª¿Â´Ù.

¡¡/etc/ftpusers (¶Ç´Â vsftpd.ftpusers)¿¡ µî·ÏµÈ »ç¿ëÀÚÀÎÁö È®ÀÎÇÑ´Ù.
¡¡¿©±â¿¡ µî·ÏµÈ »ç¿ëÀÚ´Â ·Î±äÇÒ ¼ö ¾ø´Ù. ÀÌ·² ¶§ /var/log/messages¿¡ ´ÙÀ½°ú °°Àº ·Î±×°¡ ³²´Â´Ù.

¡¡Aug 16 22:21:52 truefeel vsftpd: PAM-listfile: Refused user xxxxxxxx for service vsftpd

6) standaloneÀ¸·Î ¿î¿µÇÏ°í ½Í´Ù.
¡¡ (Áï, apache³ª sendmailó·³ xinetd ÅëÇÏÁö ¾Ê°í ¿î¿µÀ» ¿øÇÑ´Ù.)


¡¡/etc/xinetd.d/vsftpd (vsftpd°¡ ¾Æ´Ñ ´Ù¸¥ ÆÄÀϸíÀÏ ¼ö ÀÖÀ½) ¿¡¼­ disable = yes ·Î º¯°æÇÏ¿©
¡¡xinetd·Î ¼­ºñ½º ÇÏÁö ¾Êµµ·Ï ¼³Á¤ÇÑ´Ù. xinetd ¸¦ Àç½ÇÇàÇϸé ÀÌÁ¦ xinetd¸¦ ÅëÇÑ ftp ¼­ºñ½º´Â Á¾·áµÈ´Ù.

¡¡·¹µåÇÞÀÇ °æ¿ì /etc/rc.d/init.d/xinetd restart

¡¡ÀÌÁ¦ vsftpd µ¥¸ó¸¦ ½ÇÇàÇÑ´Ù. (¼Ò½º·Î ¼³Ä¡½Ã ±âº» °æ·Î´Â /usr/local/sbin)

¡¡# /usr/local/sbin/vsftpd &

7) ´Ù¸¥ Æ÷Æ®(±âº» 21¹ø)¸¦ »ç¿ëÇÏ°í ½Í´Ù. (¿¹¸¦ µé¾î 11121¹ø Æ÷Æ®¸¦ ¿øÇÒ ¶§)

¡¡* xinetd¸¦ ÀÌ¿ëÇÏ´Â °æ¿ì

¡¡ /etc/service ¿¡ 'ftp2¡¡ 11121/tcp' ÇÑ ÁÙÀ» Ãß°¡ÇÑ´Ù.
¡¡ ±×¸®°í /etc/xinetd.d/vsftpd (vsftpd°¡ ¾Æ´Ñ ftp¿Í °°Àº ´Ù¸¥ ÆÄÀϸíÀÏ ¼ö ÀÖÀ½) ¿¡¼­
¡¡ service ftp ¸¦ service ftp2·Î ¹Ù²Ù°í, xinetd ¸¦ Àç½ÇÇàÇÑ´Ù.

¡¡* standaloneÀ¸·Î ¿î¿µÇÏ´Â °æ¿ì

¡¡ /etc/vsftpd.conf ¿¡¼­ listen_port=11121 À» Ãß°¡Çϰí vsftpd ¼­¹ö¸¦ Àç½ÇÇàÇÑ´Ù.

¡¡¹Ù²ï Æ÷Æ®·Î ¿î¿µÁßÀÎÁö È®ÀÎÀº netstat -atnp(¸®´ª½º) ¶Ç´Â netstat -an(±× ÀÌ¿Ü À¯´Ð½º)

8) ¾÷·Îµå ÆÄÀÏ Å©±â¸¦ Á¦ÇÑÇÏ´Â ¹æ¹ýÀº ¾ø³ª¿ä? À̸¦Å׸é 5MBÀÌ»óÀÇ ÆÄÀÏÀº ¾÷·Îµå ¸øÇÑ´ÙµçÁö.

¡¡ÇöÀç 1.2.1¹öÀü±îÁö vsftpd ÀÚü¿¡ ¼³Á¤ÇÏ´Â ¹æ¹ýÀº ¾ø½À´Ï´Ù.

5. Âü°íÇÒ¸¸ÇÑ ¹®¼­

* vsftpd 1.2.0 ¼³Ä¡ ¹®¼­
¡¡ftp://vsftpd.beasts.org/users/cevans/untar/vsftpd-1.2.0/INSTALL
* vsftpd.conf man page
* vsftpd¿¡¼­ ÇÑ±ÛÆÄÀÏ·Î±×¿Í lastlog ·Î±äÈ®ÀÎÇϱâ (ÁÁÀºÁøÈ£)
¡¡http://coffeenix.net/board_view.php?bd_code=4
* vsftpd¿¡¼­ Àü¼Û¼Óµµ Á¦ÇÑ (bandwidth limit) (ÁÁÀºÁøÈ£)
¡¡http://coffeenix.net/board_view.php?bd_code=21

 

 

 

===========================================================

   vsftpd ¼­¹ö ¼³Á¤ÆÄÀÏ º¯°æ

=============================================================


chroot - À¯Àú°¡ Á¢¼ÓÇßÀ»°æ¿ì ¼­¹öÀÇ Àý´ë°æ·Î°¡ º¸ÀÌÁö¾Êµµ·Ï Çϴ±â´É(º¸¾È±â´É)

 

1. vim  /etc/vsftpd/vsftpd.conf  ( ¼­¹ö¼³Á¤ÆÄÀÏÀ» ¿¬´Ù)
2. chroot ±â´É°ú °ü·ÃµÈ ¿É¼ÇÀ» Àû¿ëÇÔ, À§Ä¡»ó°ü¾øÀ½ 
 chroot_local_user=YES  (¸ðµç·ÎÄÃÀ¯Àú¿¡°Ô chroot±â´ÉÀ» Àû¿ëÇÑ´Ù´Â ¶æ)

3. ÀúÀåÇÏ°í ³ª¿È,  ¼³Á¤ÆÄÀÏÀ» º¯°æÇ߱⠶§¹®¿¡ FTP¼­ºñ½º¸¦ Àç½ÃÀÛ
 /etc/vsftpd/vsftpd  restart

4. ·ÎÄÃÀ¯Àú·Î Á¢¼ÓÇÔ

5. °æ·Î¸¦ È®ÀÎÇϸé "/" ·Î µÇ¾îÀִ°ÍÀ» º¼¼öÀÖÀ½ (»óÀ§°æ·Î·ÎÀ̵¿ºÒ°¡´ÉÇÔ)

 
===========================================================


userlist ±â´É - ƯÁ¤À¯Àúµé¸¸ Á¢¼Ó°¡´ÉÇÏ°Ô ÇØÁÖ´Â ±â´É


1. vim  /etc/vsftpd/vsftpd.conf  (¼³Á¤ÆÄÀÏÀ» ¿¬´Ù)

2. userlist¿Í °ü·ÃµÈ 3°³ÀÇ ¿É¼ÇÀ» Àû¿ëÇÑ´Ù

 userlist_enable=YES  ( À¯ÀúÁ¢¼ÓÁ¦Çѱâ´ÉÀ» »ç¿ëÇϰڴٴ ¶æ)
 userlist_deny=YES  
   ( À¯Àú¸®½ºÆ®ÆÄÀÏ¿¡ µî·ÏµÈ À¯Àú´Â Á¢¼Ó±ÝÁöµÈ´Ù´Â ¶æ,
    ¸¸¾à NO ÀÌ¸é µî·ÏµÈÀ¯Àú¸¸ Á¢¼Ó°¡´ÉÇÏ´Ù´Â ¶æ)

 userlist_file=/etc/vsftpd/userlist
  ( Á¢¼Ó±ÝÁöÇÒ À¯ÀúµéÀ̳ª Á¢¼ÓÇã°¡ÇÒ À¯ÀúµéÀ» µî·ÏÇÒ ÆÄÀÏ
    userlist_deny ¿¡ µû¶ó¼­ °ÅºÎÀÎÁö Çã°¡ÀÎÁö°¡ °áÁ¤µÊ)

3. À¯Àú¸®½ºÆ®ÆÄÀÏÀ» ¸¸µë
  vim   /etc/vsftpd/userlist

4. À¯Àú¸®½ºÆ®ÆÄÀÏ¿¡ ¾î¶²À¯Àú¸¦ µî·ÏÇÔ (±×³É ÆÄÀÏ¿¡ ÀûÀ¸¸é µÊ)
 ftpuser1 À̶ó´Â À¯Àú¸¦ µî·ÏÇß´Ù°í °¡Á¤ÇÔ

5. FTP¼­ºñ½º¸¦ Àç½ÃÀÛÇÔ

  ( /etc/rc.d/init.d/vsftpd  restart )

6. À©µµ¿ì¿¡¼­ ftpuser1 À¯Àú·Î FTP¼­¹ö¿¡ Á¢¼ÓÇϸé Á¢¼Ó°ÅºÎµÇ´Â°ÍÀ» º¼¼öÀÖÀ½

 Áß¿äÇÑ°Ç Á¢¼Ó°ÅºÎµÇ¾úÀ»¶§ÀÇ ÀÌÀ¯Àε¥ Á¢¼Ó»óŸ¦ ¾Ë·ÁÁÖ´Â Äڵ带 º¸¸é
 530 - Permission Denied ¶ó°í µÇ¾îÀÖ´Â °ÍÀ» º¼¼öÀÖÀ½
 Á¤»óÀûÀ¸·Î Á¢¼ÓµÉ¶§´Â Á¢¼Ó»óŰ¡ 230 ÀΰÍÀ» º¼¼öÀÖÀ½


===========================================================

  

 

                                             ¾÷´Ù¿î·Îµå ¼ÓµµÁ¦ÇÑÇϱâ
local_max_rate=ÃÊ´ç¹ÙÀÌÆ®¼ö
anon_max_rate=ÃÊ´ç¹ÙÀÌÆ®¼ö

FTP¼­¹ö¿¡ ¾÷,´Ù¿î·Îµå½Ã¿¡ ÃÖ´ë¼Óµµ¸¦ Á¦ÇÑÇÏ´Â °ÍÀÌ´Ù.
¾÷,´Ù¿î·Îµå ´ë¿ªÆøÀ» °øÆòÇÏ°Ô ºÐ¹èÇØÁÖ·Á°í »ç¿ëÇÏ´Â ±â´ÉÀÌ´Ù.
local_max_rate ´Â ·ÎÄÃÀ¯ÀúÀÇ ÃÖ´ë¼ÓµµÁ¦ÇÑÀ̰í, anon_max_rate ´Â À͸íÀ¯ÀúÀÇ
ÃÖ´ë¼ÓµµÁ¦ÇÑÀÌ´Ù.

 

1. ¼³Á¤ÆÄÀÏÀ» ¿¬´Ù

 vim   /etc/vsftpd/vsftpd.conf


2. ·ÎÄÃÀ¯ÀúÀÇ ¼Óµµ¸¦ Á¦ÇÑÇØº»´Ù

 local_max_rate=500000
 
 ¼ýÀÚ´Â ¹ÙÀÌÆ®À̹ǷΠ500000 ¹ÙÀÌÆ®ÀÌ¸é ´ë·« 500kb ÀÌ´Ù.


3. ÀúÀåÇÏ°í ³ª¿È,  ¼³Á¤ÆÄÀÏÀ» º¯°æÇ߱⠶§¹®¿¡ FTP¼­ºñ½º¸¦ Àç½ÃÀÛ
 
  /etc/vsftpd/vsftpd  restart
 

4. À©µµ¿ì¿¡¼­ FTP¼­¹ö·Î Á¢¼ÓÇÑ´Ù (·ÎÄÃÀ¯Àú·Î)

5. ÆÄÀÏÀ» ¾÷,´Ù¿î·Îµå ÇØº¸¸é ¼Óµµ°¡ ´ë·« 500KB ¸¦ ³Ñ³ªµå´Â°ÍÀ» º¼¼öÀÖ´Ù.
   ¼Óµµ°¡ ¿Ã¶ó°¡¸é ÀÚµ¿ÀûÀ¸·Î ³»¸®°í, ³Ê¹«³»·Á°¡¸é ¼Óµµ¸¦ ¿Ã·ÁÁØ´Ù.

 

 

. FTP ¼­ºñ½º ¿î¿µ ( ½ÃÀÛ, Á¾·á, Àç½ÃÀÛ, ÀÚµ¿½ÃÀÛ¼³Á¤)
  ¼³Ä¡°¡ ³¡³µ´Ù¸é, ftp¼­ºñ½º¸¦ À§Çؼ­ vsftpd¸¦ ½ÃÀÛÇÕ´Ï´Ù.
[root@study ~]# /etc/rc.d/init.d/vsftpd start
vsftpd¿¡ ´ëÇÑ vsftpdÀ» ½ÃÀÛÇÕ´Ï´Ù: [ È®ÀÎ ]

ÀÌ·¸°Ô ½ÃÀ۵Ǿú´Ù¸é, ftp ÇÁ·Î±×·¥À» »ç¿ëÇÏ¿© Á¢¼Ó Å×½ºÆ®¸¦ ÇØ º¸µµ·Ï ÇϰڽÀ´Ï´Ù.

[root@study ~]# ftp localhost
Connected to study.superuser.co.kr.
220 (vsFTPd 2.0.1)
530 Please login with USER and PASS.
530 Please login with USER and PASS.
KERBEROS_V4 rejected as an authentication type
Name (localhost:root): study
331 Please specify the password.
Password: ºñ¹Ð¹øÈ£
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
227 Entering Passive Mode (127,0,0,1,158,1)
150 Here comes the directory listing.
226 Directory send OK.

À§¿Í°°ÀÌ ¹Ù·Î Á¢¼ÓµÇ¸ç, »ç¿ëÀÚ°èÁ¤ ¹× ºñ¹Ð¹øÈ£¸¦ ³ÖÀ¸¸é Á¢¼ÓÀÌ µÈ´Ù.

ftp ¼­ºñ½º¸¦ ÇÏ°í ½ÍÁö ¾Ê´Ù¸é, ´ÙÀ½°ú °°ÀÌ Á¤Áö ½Ãŵ´Ï´Ù.
[root@study ~]# /etc/rc.d/init.d/vsftpd stop
vsftpd¸¦ Á¾·áÇϰí ÀÖ½À´Ï´Ù:                 [  È® ÀΠ ]

¼­¹ö ºÎÆÃ½Ã ÀÚµ¿ ½ÃÀÛÀ» À§ÇØ ´ÙÀ½ ¸í·ÉÀ¸·Î µî·ÏÇÕ´Ï´Ù.

[root@study ~]# chkconfig vsftpd on

ÀÌ·¸°Ô ¼³Á¤Çß´Ù¸é, Àç ½ÃÀ۽à ÀÚµ¿À¸·Î ftp ¼­ºñ½º°¡ ½ÃÀÛ µË´Ï´Ù.

 

 

4. vsftpdÀÇ ´Ù¾çÇÑ ±â´É ¼³Á¤(vsftpd.conf)
  vsftpd´Â ´Ù¾çÇÑ ±â´ÉÀÌ ÀÖ½À´Ï´Ù. ²À ÇÊ¿äÇÑ ¸î°³ÀÇ Áö½ÃÀÚ¿¡ ´ëÇØ ¾Ë¾Æº¸µµ·Ï ÇϰڽÀ´Ï´Ù.

  1) ¾Æ½ºÅ°¸ðµå·Î ÆÄÀÏÀü¼Û ÇÏ·Á¸é?
vsftp´Â ±âº»ÀûÀ¸·Î ¾Æ½ºÅ°¸ðµå(ASCII)·ÎÀÇ ÆÄÀÏ Àü¼ÛÀ» Çã¿ëÇÏÁö ¾Ê½À´Ï´Ù. À©µµ¿ì¿Í ¸®´ª½ºµîÀÇ ¿£Å͹®ÀÚ·Î ÀÎÇÑ textÆÄÀÏ º¯Á¶(??)µî ¶§¹®¿¡ ±âº» Çã¿ëÇÏÁö ¾Ê½À´Ï´Ù. ¸¸¾à ÇÊ¿äÇØ¼­ Çã¿ë ÇÏ·Á¸é ´ÙÀ½°ú °°ÀÌ ¼³Á¤ÇϽñ⠹ٶø´Ï´Ù.

ascii_download_enable=YES
ascii_upload_enable=YES


  2) ½©±ÇÇÑÀÌ ¾ø´Â »ç¿ëÀÚµéÀÌ ftp¸¦ »ç¿ë°¡´ÉÇÏ°Ô ÇÏ·Á¸é?
´ëºÎºÐÀÇ ftp¼­¹ö´Â ·Î±×Àνà ½©À» ¿ä±¸ÇÏ°Ô µË´Ï´Ù. ÇÏÁö¸¸ ½© ±ÇÇÑÀ» ÁÖÁö ¾ÊÀº »ç¿ëÀڵ鿡°Ô ftpÁ¢±Ù ±ÇÇÑÀ» ÁÖ·Á¸é /etc/pam.d/vsftpdÆÄÀÏ¿¡¼­ 4¹øÂ° ÁÙ¿¡ #À» ÀÔ·ÂÇÏ¿© ÁÖ¼® ó¸® ÇÕ´Ï´Ù.
(check_shell=NO ¶ó´Â Áö½ÃÀÚ°¡ ÀÖ¾úÁö¸¸ PAMÀÎÁõÀ» ¹Þ´Â °÷¿¡¼­´Â ÀÛµ¿ÇÏÁö ¾Ê¾Ò´Ù.)

#%PAM-1.0
auth       required     pam_listfile.so item=user sense=deny file=/etc/vsftpd.ftpusers onerr=succeed
auth       required     pam_stack.so service=system-auth
#auth       required     pam_shells.so
account    required     pam_stack.so service=system-auth
session    required     pam_stack.so service=system-auth


  3) »ç¿ëÀÚ home µð·ºÅ丮¸¦ ¹þ¾î³ªÁö ¸øÇÏ°Ô ÇÏ·Á¸é?
ftp»ç¿ëÀÚ°¡ ÀÚ±â homeµð·ºÅ丮¸¦ ¹þ¾î³ªÁö ¸øÇÏ°Ô ÇÏ·Á¸é ´ÙÀ½°ú °°ÀÌ ¼³Á¤ÇÕ´Ï´Ù.

chroot_list_enable=YES
chroot_local_user=YES
À§¿Í°°ÀÌ ¼³Á¤ÇÕ´Ï´Ù. Á¢¼ÓÇϸé /etc/vsftpd.chroot_list ÆÄÀÏÀÌ ¾ø´Ù°í ¿¡·¯°¡ ³ª°Ô µË´Ï´Ù.
´Ü¼øÈ÷ touch /etc/vsftpd.chroot_list ÀÌ·¸°Ô ÆÄÀÏÀ» ¸¸µé¾î ÁÖ¸é µË´Ï´Ù.
 ±×¸®°í ƯÁ¤À¯Àú´Â Á¦¿ÜÇÏ·Á¸é /etc/vsftpd.chroot_list ÆÄÀÏ¿¡ »ç¿ëÀÚ °èÁ¤À» ³Ö¾îÁÝ´Ï´Ù.



  4) "."À¸·Î ½ÃÀÛÇÏ´Â ¼û±èÆÄÀÏÀ» ±âº»ÀûÀ¸·Î º¸ÀÌ°Ô ÇÏ·Á¸é?
¸®´ª½º¿¡¼­ "."À¸·Î ½ÃÀÛÇÏ´Â ÆÄÀÏÀº ¼û±è ÆÄÀÏÀÔ´Ï´Ù. ÇÏÁö¸¸, ´Ù¸¥ os¿¡¼­´Â "."À¸·Î ½ÃÀÛÇØµµ ¼û±èÆÄÀÏÀ¸·Î Ãë±ÞÇÏÁö ¾Ê´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù. ÀÌ·±°æ¿ì Ç×»ó "."À¸·Î ½ÃÀÛÇÏ´Â ÆÄÀÏÀ» º¸¿©ÁÖ·Á¸é ´ÙÀ½°ú °°ÀÌ ¼³Á¤ÇÕ´Ï´Ù.
force_dot_files=YES



  5) ftp Á¢¼Ó½Ã ÆÄÀϰú µð·ºÅ丮ÀÇ ¼ÒÀ¯±ÇÀ» ¼û±â·Á¸é?
Ư¼öÇÑ ¸ñÀûÀ¸·Î ÆÄÀÏ ¹× µð·ºÅ丮ÀÇ ¼ÒÀ¯ÀÚ¸¦ ¼û±æ °æ¿ì°¡ ÀÖ½À´Ï´Ù. ÀÌ·± °æ¿ì ´ÙÀ½°ú °°ÀÌ ¼³Á¤Çϸé, ftp¶ó´Â »ç¿ëÀÚ·Î º¸À̸ç, º» ID´Â º¸ÀÌÁö ¾Ê½À´Ï´Ù.
hide_ids=YES



  6) ÇÏÀ§µð·ºÅ丮ÀÇ ÆÄÀÏ ¹× µð·ºÅ丮¸¦ º¼¼ö ÀÖ´Â ls -R ¸í·É Çã¿ëÇÏ·Á¸é?
ÇÏÀ§µð·ºÅ丮 ¸®½ºÆ®¸¦ º¸¿©ÁÖ±â À§Çؼ­ ls -R ¸í·É¾î¸¦ ³»¸±¶§°¡ ÀÖ½À´Ï´Ù. ÀÌ·±°æ¿ì ´ëºÎºÐÀÇ ftp ¼­¹ö´Â ºÎÇϵîÀÇ ÀÌÀ¯·Î ¸·¾Æ µÎ°Ô µË´Ï´Ù. vsftpd¶ÇÇÑ ±âº»ÀûÀ¸·Î ¸·¾Æ ³õÀº »óÅÂÀ̸ç, Çã¿ëÇϱâ À§Çؼ­´Â ´ÙÀ½ Áö½ÃÀÚ¸¦ ÀÔ·ÂÇϼ¼¿ä.
ls_recurse_enable=YES



  7) openssh¿¡ chroot ÆÐÄ¡°¡ µÈ °ÍÀ» »ç¿ëÇϴµ¥ Á¤Ã¥À» °°ÀÌ Àû¿ëÇÏ·Á¸é?
openssh¿¡ ÆÐÄ¡¸¦ °¡Çϸé, ssh ¶ÇÇÑ ÀÚ±â home µð·ºÅ丮¸¦ ¹þ¾î³ªÁö ¸øÇÏ°Ô ¼³Á¤°¡´ÉÇÕ´Ï´Ù. ÀÌ Á¤Ã¥Àº /etc/passwdÆÄÀÏÀÇ È¨µð·ºÅ丮 ºÎºÐ¿¡ /home/»ç¿ëÀÚ/./ ¿Í °°ÀÌ "/./"À» ºÙ¿© »ç¿ëÀÚ¸¦ Ȩµð·ºÅ丮·Î Á¦ÇÑÇÏ°Ô µË´Ï´Ù. ÀÌ Á¤Ã¥¿¡ µû¶ó Àû¿ëÇÏ·Á¸é, ´ÙÀ½ ¿É¼ÇÀ» Àû¿ëÇϽñ⠹ٶø´Ï´Ù.
passwd_chroot_enable=YES


  8) ÆÄÀÏÀ» ¿Ã·È´Âµ¥ ½Ã°£ÀÌ ÀÌ»óÇÏ°Ô º¸Àδٸé?

´ëºÎºÐÀÇ ftp¼­¹ö¿¡¼­ ½Ã°£ Ç¥ÇöÀº Ç¥Áؽð¢(GMT)À» º¸¿©ÁÖ°Ô µË´Ï´Ù. ±¹³»¿¡¼­¸¸ »ç¿ëÇÏ´Â ftp¼­¹ö´Â ´ÙÀ½ ¿É¼ÇÀ¸·Î ±¹³» ½Ã°£À¸·Î º¸¿©ÁÙ ¼ö ÀÖ½À´Ï´Ù.
use_localtime=YES


  9) Àü¼Û¼Óµµ¸¦ Á¦ÇÑÇÏ°í ½Í´Ù¸é?
´Ù¿î·Îµå ¹Þ´Â ÇÑ »ç¿ëÀÚ°¡ ³×Æ®¿÷ Æ®·¡ÇÈÀ» ¸ðµÎ »ç¿ëÇØ ¹ö¸®´Â °ÍÀ» ¹æÁöÇϱâ À§Çؼ­ ´ë¿ªÆøÀ» Á¶Á¤ÇØ¾ß ÇÏ´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù. ´ÙÀ½ ¿É¼ÇÀ¸·Î °¡´ÉÇÕ´Ï´Ù. µÚ¿¡ ³ª¿À´Â ¼ýÀÚÀÇ ´ÜÀ§´Â  (Bytes/Sec) ÀÔ´Ï´Ù.
local_max_rate=300000

À§ ¼³Á¤Àº 300KByte/SecÀÇ ´ë¿ªÆøÀ» Á¦°øÇÕ´Ï´Ù.


  10) µ¿½Ã Á¢¼ÓÀÚ¼ö¸¦ Á¦ÇÑÇÏ·Á¸é?
ftp¼­¹ö¿¡ Á¢¼ÓÇÒ ¼ö ÀÖ´Â ÃÖ´ë Á¢¼Ó¼ö¸¦ Á¦ÇÑÇÏ·Á¸é, ¾Æ·¡ÀÇ ¼³Á¤À¸·Î Á¦ÇÑ °¡´ÉÇÕ´Ï´Ù.
max_clients=10
À§ ¼³Á¤Àº µ¿½Ã¿¡ 10°³ÀÇ ¿¬°áÀ¸·Î Á¦ÇÑÇÕ´Ï´Ù.


  11) ÇÑ IP´ç Á¢¼ÓÇÒ ¼ö ÀÖ´Â µ¿½ÃÁ¢¼Ó ¼ö Á¦ÇÑÇÏ·Á¸é?
ftp¼­¹öÀÇ ÇÑ »ç¿ëÀÚ°¡ ´ë¿ªÆøÀ» ¸ðµÎ »ç¿ëÇØ ¹ö¸®´Â °ÍÀ» ¹æÁöÇϱâ À§ÇØ, Àü¼Û ¼Óµµ¸¦ Á¦ÇÑÇϸé, flashget µîÀÇ À¯Æ¿¸®Æ¼·Î ¸î°³ÀÇ Á¢¼ÓÀ¸·Î ³ª´² ¹ÞÀ¸¸é ´ë¿ªÆø Á¦ÇÑÀ» ¿ìȸ ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ·±°æ¿ì ÇÑ IP¿¡¼­ Á¢¼Ó °¡´ÉÇÑ µ¿½ÃÁ¢¼Ó ¼ö¸¦ Á¦ÇÑÇÏ¹Ç·Î ÇØ°á °¡´ÉÇÕ´Ï´Ù.
max_per_ip=2
À§ ¼³Á¤Àº ÇÑ IP¿¡¼­ Á¢¼ÓÇÒ ¼ö ÀÖ´Â ¿¬°áÀ» 2°³·Î Á¦ÇÑÇÕ´Ï´Ù.


  12) PASSIVE ¸ðµå »ç¿ë½Ã »ç¿ëÇÏ´Â Æ÷Æ® ¹üÀ§¸¦ Á¦ÇÑÇÏ·Á¸é?
FTP¿¡¼­ µ¥ÀÌÅÍ Àü¼ÛÀ» À§Çؼ­ 20¹ø Æ÷Æ®¸¦ »ç¿ëÇÕ´Ï´Ù. À̰æ¿ì ¼­¹ö¿¡¼­ Ŭ¶óÀÌ¾ðÆ® ÂÊÀ¸·Î ¿¬°áÀ» Çϱ⠶§¹®¿¡ Áß°£¿¡ ¹æÈ­º® ¶Ç´Â °øÀ¯±âµîÀ» »ç¿ëÇÑ´Ù¸é, Á¤»óÀÛµ¿ÇÏÁö ¾ÊÀ» ¼ö ÀÖ½À´Ï´Ù. ÀÌ·± ¹®Á¦¸¦ ÇØ°áÇϱâÀ§Çؼ­ PASSIVE¸ðµå¶ó´Â °ÍÀÌ ÀÖ°í, ÀÌ ¸ðµå¿¡¼­´Â ¼­¹öÀÇ 1024ÀÌÈÄ Æ÷Æ®¸¦ »ç¿ëÇÕ´Ï´Ù. ÀÌ Æ÷Æ®ÀÇ ¹üÀ§¸¦ Á¦ÇÑÇϱâ À§Çؼ­´Â ´ÙÀ½°ú °°ÀÌ ¼³Á¤ÇÕ´Ï´Ù.
pasv_min_port=40000
pasv_max_port=50000
À§ ¼³Á¤Àº PASSIVE¿¡¼­ »ç¿ëÇÒ Æ÷Æ®¸¦ 40000~50000·Î ÇÕ´Ï´Ù.



  13) mp3, wmv µîÀÇ È®ÀåÀÚ¸¦ °¡Áø ÆÄÀÏÀÇ ¾÷·Îµå¸¦ ±ÝÁöÇÏ·Á¸é?
ftp¸¦ ÅëÇØ ÀÎÁõµÈ »ç¿ëÀÚ°¡ ÆÄÀÏÀ» ¿Ã¸®´Â °ÍÀ» ¸·´Â ¹æ¹ýÀº °ÅÀÇ ¾ø¾ú½À´Ï´Ù. ÀÌ vsftpd´Â ƯÀÌÇÏ°Ô Æ¯Á¤ÆÄÀÏ ÆÐÅÏÀ» Á¦ÇÑÇÏ´Â ±â´ÉÀÌ ÀÖ½À´Ï´Ù.
deny_file={*.mp3,*.wmv}
À§ ¼³Á¤Àº mp3, wmv ÆÄÀÏÀ» Àü¼ÛÇÏÁö ¸øÇÏ°Ô ÇÏ´Â ¹æ¹ýÀÔ´Ï´Ù.



  14) ƯÁ¤ÆÄÀÏ ÆÐÅÏÀ» ¼û±â·Á¸é?
ƯÁ¤ÆÄÀÏÀÌ ¼­¹ö³»¿¡´Â Á¸ÀçÇÏÁö¸¸, ftpÁ¢¼Ó½Ã º¸¿©ÁöÁö ¾Ê°Ô ¼³Á¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. ´ÙÀ½¿¹¸¦ º¸½Ã±â ¹Ù¶ø´Ï´Ù.
hide_file={*.mp3,.hidden,hide*,h?}
À§ ¼³Á¤Àº mp3ÆÄÀÏ, .hidden ÆÄÀÏ, hide·Î ½ÃÀÛÇÏ´Â ÆÄÀÏÀ» º¸¿©ÁöÁö ¾Ê°Ô ÇÏ´Â ¿É¼ÇÀÔ´Ï´Ù.