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 |
[root@localhost]# vi logging.c (157¶óÀÎ ±Ùó) º¯°æÀü: str_replace_unprintable(p_str, '?'); º¯°æÈÄ: /* str_replace_unprintable(p_str, '?'); */ |
[root@localhost]# vi postlogin.c (121¶óÀÎ ±Ùó) º¯°æÀü: str_replace_unprintable(p_str, '?'); º¯°æÈÄ: /* str_replace_unprintable(p_str, '?'); */ |
[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 |
[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 |
|
|
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 |
# 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 ¼³Á¤ ÆÄÀÏ º¹»ç) |
pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed |
# FTP Á¢¼ÓÀ» Çã¿ëÇÏÁö ¾ÊÀ» ID¸¦ µî·ÏÇÑ´Ù. # /etc/passwd¸¦ ÂüÁ¶Çؼ ¼³Ä¡ÇÒ ¼¹öÀÇ È¯°æ¿¡ ¸Â°Ô µî·Ï root bin daemon adm lp sync shutdown halt news uucp operator games nobody smmsp xfs gdm mysql |
3. vsftpd.conf ÀÇ ÁÖ¿ä ¼³Á¤
ÇÊ¿äÇÑ ¼³Á¤ÀÌ ³¡³µÀ¸¸é xinetd¸¦ Àç½ÇÇàÇÑ´Ù.
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 |
ÀÌ·¸°Ô ½ÃÀ۵Ǿú´Ù¸é, ftp ÇÁ·Î±×·¥À» »ç¿ëÇÏ¿© Á¢¼Ó Å×½ºÆ®¸¦ ÇØ º¸µµ·Ï ÇϰڽÀ´Ï´Ù.
[root@study ~]# ftp localhost |
[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 |
force_dot_files=YES |
hide_ids=YES |
ls_recurse_enable=YES |
passwd_chroot_enable=YES |
use_localtime=YES |
local_max_rate=300000 |
max_clients=10 |
max_per_ip=2 |
pasv_min_port=40000 pasv_max_port=50000 |
deny_file={*.mp3,*.wmv} |
hide_file={*.mp3,.hidden,hide*,h?} |