´òÓ¡

ʹÓÃvsftpd¹¹½¨°²È«µÄFTP·þÎñ

ʹÓÃvsftpd¹¹½¨°²È«µÄFTP·þÎñ

ʹÓÃvsftpd¹¹½¨°²È«µÄFTP·þÎñ
FTPЭÒéµÄ°²È«Òþ»¼²»ÄܳÉΪ¾Ü¾øÊ¹ÓÃFTPµÄÔ­Òò£¬±¾ÎĽéÉÜÒ»ÖÖ¹¹½¨°²È«FTP·þÎñµÄ·½·¨¡£

¡¡¡¡Îļþ´«ÊäЭÒ飨FTP£©ÊÇ»¥ÁªÍøÉÏÓû§Ê¹ÓÃÆµÂʺܸߵÄÒ»ÖÖЭÒ飬Ëü»ùÓÚ¿Í»§»ú/·þÎñÆ÷£¨client/server£©¼Ü¹¹£¬Ö÷ÒªÓÃÀ´ÌṩÓû§µÄÎļþ´«ÊäÒÔ¼°ÉÏ´«ÏÂÔØ¹¦ÄÜ¡£È»¶ø£¬ÓÉÓÚ¸ÃЭÒéÔÚ×î³õµÄÉè¼Æ¹ý³Ìµ±ÖÐûÓгä·Ö¿¼Âǵ½ÍøÂçÈÕÒæ·¢Õ¹µÄ½ñÌì¿ÉÄÜ´æÔÚµÄÖî¶à°²È«ÐÔÎÊÌ⣬Òò¶ø´æÔÚןܴóµÄ°²È«Òþ»¼¡£±¾ÎĽ«¶Ô¸ÃÎļþ´«ÊäЭÒé½øÐÐÔ­Àí½éÉÜ£¬²¢½²ÊöÈçºÎÔÚLinux»·¾³Ï£¬Ê¹ÓÃvsftpd£¨very secure FTP daemon£©À´¹¹½¨°²È«µÄFTPÓ¦Óá£

¡¡¡¡vsftpdµÄÌØÐÔ

¡¡¡¡vsftpd ÊÇÒ»¸ö»ùÓÚGPL·¢²¼µÄÀàUnixÀà²Ù×÷ϵͳÉÏÔËÐеķþÎñÆ÷µÄÃû×Ö£¨ÊÇÒ»ÖÖÊØ»¤½ø³Ì£©£¬Ëü¿ÉÒÔÔËÐÐÔÚÖîÈçLinux¡¢BSD¡¢Solaris¡¢HP-UXÒÔ¼°IRIXÉÏÃæ¡£ËüÖ§³ÖºÜ¶àÆäËû´«Í³µÄFTP·þÎñÆ÷Ëù²»Ö§³ÖµÄÌØÕ÷¡£Ëü¾ßÓÐÈçÏÂÌØµã£º·Ç³£¸ßµÄ°²È«ÐÔ¡¢´ø¿íÏÞÖÆ¡¢Á¼ºÃµÄÀ©Õ¹ÐÔ ¡¢Ö§³Ö´´½¨ÐéÄâÓû§¡¢Ö§³ÖIPv6¡¢Ö§³ÖÐéÄâIP¡¢¸ßËÙ¡¢Îȶ¨¡£

vsftpdµÄÃû×Ö´ú±í¡°very secure FTP daemon¡±£¬ËüµÄ¿ª·¢ÕßChris Evans¿¼ÂǵÄÊ×ÒªÎÊÌâ¾ÍÊÇÊý¾Ý´«ÊäµÄ°²È«ÐÔ¡£ËùÒÔ£¬ÔÚÉÏÊöËùÓеÄÌØÐÔµ±ÖУ¬½Ï¸ßµÄ°²È«ÐÔÊÇ´¦ÓÚ×îÖØÒªµÄµØÎ»¡£vsftpd±ÈÆäËûÖîÈçWu-ftpdºÍProftpdÖ®ÀàµÄFTP·þÎñÆ÷¸ü¼ÓÓÅÔ½¡£ÁíÍ⣬ÔÚËÙ¶È·½Ã棬¾Ýͳ¼Æ£¬Ê¹ÓÃASC¢òģʽÏÂÔØÊý¾ÝµÄËÙ¶ÈÊÇWu-ftpdµÄÁ½±¶¡£ÔÚLinux2.4ϵÁа汾µÄÄÚºËÏ£¬Ç§Õ×ÒÔÌ«ÍøµÄÏÂÔØËÙ¶È¿ÉÒÔ´ïµ½86MB/S£»ÔÚÎȶ¨ÐÔ·½Ã棬¸ù¾Ýftp.redhat.comµÄÊý¾Ý£¬Ëü¿ÉÒÔÖ§³Ö15000¸ö²¢·¢Óû§£¬ËùÒÔÆä×ÜÌåÐÔÄÜÒ²ÊǷdz£¸ßµÄ¡£

¡¡¡¡vsftpdµÄ°²×°¹ý³Ì

¡¡¡¡vsftpd ÊØ»¤³ÌÐòµÄ°²×°Ï൱¼òµ¥£¬ÔÚÿ¸öÖ÷Òª·¢ÐаæÖж¼¿ÉÒÔÕÒµ½vsftpdµÄRPM°ü£¬ºÜ¶àÇé¿öÏ£¬ËüÒѾ­±»×°ÉÏÁË¡£Èç¹ûûÓеϰ£¬Ô´´úÂë¿ÉÒÔÔÚÍøÕ¾£ºhttp://vsftpd.beasts.org/ÉÏÕÒµ½£ ... ±¾Îª£ºvsftpd2.0.3¡£

¡¡¡¡µÃµ½Ô´´úÂë²¢½â¿ªtar°üºó£¬½øÈëн¨µÄĿ¼£¬²¢ÔËÐÐmake¡£ÏÂÃæÊǽøÐÐÊÖ¹¤°²×°µÄʾÀý£º

# tar xzvf vsftpd-2.0.3.tar.gz

# cd vsftpd-2.0.3

# make



¡¡¡¡Õâ֮ǰÎÒÃÇÓ¦¸Ã¿´¿´Óû§¡°nobody¡±ºÍĿ¼¡°/usr/share/empty¡±ÊÇ·ñ´æÔÚ£¬Èç¹ûÐèÒªµÄ»°ÎÒÃǾÍн¨ÕâÒ»¶ÔÓû§ºÍĿ¼¡£Èç¹ûÎÒÃÇÔÊÐíÓû§ÄäÃû·ÃÎÊ£¬Óû§¡°ftp¡±ºÍĿ¼¡°var/ftp¡±Ò²ÐèÒª´´½¨¡£Ê¹ÓÃÈçÏÂÁ½¸öÃüÁîÍê³É£º

# mkdir /var/ftp

# useradd -d /var/ftp ftp



¡¡¡¡ÓÉÓÚ°²È«Ô­Òò£¬Ä¿Â¼ ¡°/var/ftp¡± ²»Ó¦¸ÃÊôÓÚÓû§ ¡°ftp¡±£¬Ò²²»Ó¦¸ÃÓÐдȨÏÞ¡£Èç¹ûÓû§ÒѾ­´æÔڵϰ£¬ÓÃÏÂÃæµÄÁ½¸öÃüÁÎÒÃÇ¿ÉÒԸıäĿ¼µÄËùÓÐÕß²¢È¥µôÆäËûÓû§µÄдȨÏÞ£º

# chown root.root /var/ftp

# chmod og-w /var/ftp



¡¡¡¡´ïµ½ÁËËùÓеÄÏȾöÌõ¼þºó£¬ÎÒÃÇ¿ÉÒÔ°²×° vsftp-daemon ÁË¡£

# make install


¡¡¡¡ÕâÑù£¬¾ÍÍê³ÉÁËvsftpdµÄ°²×°£¬µ±È»£¬Õâ¸ö°²×°¹ý³Ì±È½Ï¸´ÔÓ£¬ÔÚÎÒÃÇÏÖÔÚʹÓõÄLinuxϵͳµ±ÖУ¬ºÜ¶à¶¼ÊÇʹÓÃRPM°üÀ´°²×°µÄ£¬ÕâÑù¼òµ¥¿ì½Ý£¬ÏÂÃæ½éÉÜÈçºÎͨ¹ýʹÓÃRPM°üÀ´°²×°vsftpd¡£

¡¡¡¡ÔÚRedHat Linux9ÖÐ×Ô´øÁËvsftpd£¬ÏÂÃæÊǰ²×°µÄ²½Ö裺

¡¡¡¡1£® Ê×ÏȲ鿴ÊÇ·ñ°²×°ÁËvsftpd£¬Èç¹ûÒѾ­°²×°£¬Ôò¿ÉÒÔÖ±½ÓʹÓá£

# rpm - q|grep vsftpd


¡¡¡¡2£® ûÓа²×°µÄ»°£¬½«ÏÂÔØÀ´µÄvsftpd-1.1.3-8.i386.rpmµÄRPM°ü½øÐа²×°¡£

# rpm - vh vsftpd-1.1.3-8.i386.rpm


¡¡¡¡Í¨¹ýÒÔÉÏÁ½²½£¬¾ÍÄÜ˳ÀûµØÍê³É°²×°¹ý³Ì¡£

¡¡¡¡ÅäÖÃÎļþ½éÉÜ

¡¡¡¡ÅäÖÃÎļþµÄ·¾¶Îª /etc/vsftpd.conf¡£ºÍLinuxϵͳÖеĴó¶àÊýÅäÖÃÎļþÒ»Ñù£¬vsftpdµÄÅäÖÃÎļþÖÐÒÔ#¿ªÊ¼×¢ÊÍ£¬ÏÂÃæ¶ÔÅäÖÃÎļþµÄÖØÒªÄÚÈÝÑ¡Ïî½øÐÐÏêϸµÄ½éÉÜ£¬ºÏÀíµÄʹÓÃÅäÖÃÎļþÊDZ£Ö¤FTP°²È«´«ÊäµÄǰÌá¡£

¡¡¡¡²é¿´ÅäÖÃÎļþ£º

#vi /etc/vsftpd.conf


¡¡¡¡ÉèÖÃÊÇ·ñÔÊÐíÄäÃû·ÃÎÊ£º

# Anonymus FTP-access permitted? YES/NO

anonymous_enable=NO



¡¡¡¡ÉèÖÃÊÇ·ñÔÊÐíÄäÃûÉÏ´«Îļþ£º

# Permit anonymus upload? YES/NO

anon_upload_enable=NO



¡¡¡¡ÉèÖÃÊÇ·ñÔËÔÊÐíÄäÃû½¨Á¢Ä¿Â¼£º

# Permission for anonymus users to make new directories? YES/NO

anon_mkdir_write_enable=NO



¡¡¡¡ÉèÖÃÊÇ·ñÔÊÐíÄäÃûÓû§½øÐÐɾ³ý»òÕ߸ÄÃûµÈ²Ù×÷£º

# Permission for anonymus users to do other write operations - like renaming or deleting? YES/NO

anon_other_write_enable=NO



¡¡¡¡ÉèÖÃÊÇ·ñÔÊÐí±¾µØÓû§µÇ¼£º

# Log on by local users permitted? YES/NO

local_enable=YES



¡¡¡¡ÉèÖÃÊÇ·ñ½«±¾µØÓû§Ëø¶¨ÔÚÖ÷Ŀ¼£º

# Shall local users be locked into their home directory? YES/NO

chroot_local_user=YES



¡¡¡¡ÉèÖÃ×î¸ß´«ÊäËÙ¶È£º

# Highest permitted data transfer rate in bytes per second for local logged on users. Default = 0 £¨unlimited£©

local_max_rate=7200



¡¡¡¡ÉèÖÃÊÇ·ñÔÊÐíͨ³£µÄд²Ù×÷£º

# General write permission? YES/NO

write_enable=YES



¡¡¡¡ÉèÖÃÊÇ·ñÔڸıäĿ¼ºó·¢ËÍÏûÏ¢£º

# Enable messages when changing directories? YES/NO

dirmessage_enable=YES



¡¡¡¡ÉèÖ÷þÎñÆ÷ÏòµÇ¼¿Í»§¶Ë·¢Ë͵϶ӭÐÅÏ¢£º

# Welcome banner at users logon.

ftpd_banner="Welcome to neo5k's FTP service."



¡¡¡¡ÉèÖÃÊÇ·ñ¼¤»îÈÕÖ¾¹¦ÄÜ£º

# Activate logging? YES/NO

xferlog_enable=YES



¡¡¡¡ÉèÖÃÊÇ·ñ¶ÔËùÓеÄFTP²Ù×÷×÷ÈÕÖ¾£¬Èç¹ûÉèÖÃÊÇ£¬Ôò¿ÉÄܲúÉú¾Þ´óµÄÊý¾Ý£º

# Logging of all FTP activities? YES/NO

# Careful! This can generate large quantities of data.

log_ftp_protocol=NO



¡¡¡¡ÉèÖÃÊÇ·ñÖ»ÔÊÐíÔÚ¶Ë¿Ú20½¨Á¢Á¬½Ó£º

# Confirm connections are established on port 20 £¨ftp data£© only. YES/NO

connect_from_port_20=YES



¡¡¡¡ÉèÖÃÎÞÈκβÙ×÷µÄ³¬Ê±Ê±¼ä£º

# Timeout during idle sessions

idle_session_timeout=600



¡¡¡¡ÉèÖÃÊý¾ÝÁ¬½ÓµÄ³¬Ê±Ê±¼ä£º

# Data connection timeout

data_connection_timeout=120



¡¡¡¡ÉèÖ÷ÃÎÊËùʹÓõÄPAM£º

# Access through Pluggable Authentication Modules £¨PAM£©

pam_service_name=vsftpd



¡¡¡¡ÉèÖù¤×÷ģʽÊÇ·ñΪ¶ÀÁ¢Ä£Ê½:

# Standalone operation? YES/NO - depending on operation mode £¨inetd, xinetd, Standalone£©

# The author's FTP service is being startet with xinetd, therefore the value here is NO.

listen=YES



¡¡¡¡ÉèÖÃÊÇ·ñʹÓÃtcp_wrappers×÷ΪÖ÷»ú·ÃÎÊ¿ØÖÆ·½Ê½£º

tcp_wrappers =YES


¡¡¡¡Æô¶¯ FTP ·þÎñ

¡¡¡¡Æô¶¯vsftpd¿ÉÒÔ²ÉÓÃÈýÖÖ·½Ê½£ºinetd¡¢xinetdºÍstandalone(¶ÀÁ¢)¹¤×÷ģʽ¡£ÓÉÓÚĿǰʹÓõÄxinetdÀ©Õ¹ÁËinetd£¬Ëü±Èinetd¸ü¼Ó¸ßЧºÍʵÓ㬰üÀ¨ÖîÈçÇëÇó¼Ç¼¡¢·ÃÎÊ¿ØÖÆ¡¢½«ÒµÎñÓëÍøÂç½Ó¿Ú°ó¶¨µÈ¸Ä½ø£¬ËùÒÔͨ³£Ê¹ÓÃxinetd£¬±¾ÎĽ«½éÉÜxinetdÒÔ¼°standaloneÁ½ÖÖÆô¶¯·½Ê½¡£

¡¡¡¡1£® xinetd·½Ê½Æô¶¯

¡¡¡¡Ê¹ÓÃ¸ÃÆô¶¯·½Ê½£¬ÔÚÉÏÊöµÄÅäÖÃÎļþµ±ÖУ¬Ó¦¸Ã½«listen=YESÉèΪlist=NO£¬²¢ÇÒ½«tcp_wrappers=YESÉèΪtcp_wrappers=NO£¬²¢ÇÒʹÓÃÈçÏÂÃüÁvsftpdµÄÎĵµÄ¿Â¼¿½±´µ½/etc/xinetd.dĿ¼Ï£º

# cp /usr/share/doc/vsftpd-1.1.3/vsftpd.xinetd /etc/xinetd.d/vsftpd

# vi /etc/xinetd.d/vsftpd



¡¡¡¡½«disable=yesÉèΪdisable=no¼´¿É¡£Ò»¸ö¹ØÓÚ¸ÃÆô¶¯·½Ê½µÄµÄÅäÖÃÎļþÈçÏÂËùʾ£º

# cat /etc/xinetd.d/vsftpd

# default: on

# description: The vsftpd FTP server serves FTP connections. It uses \

# normal, unencrypted usernames and passwords for authentication.

service ftp

{

socket_type = stream

wait = no

user = root

server = /usr/sbin/vsftpd

nice = 10

disable = no

flags = IPv4

}



¡¡¡¡ÏÖÔÚ£¬¾Í¿ÉÒÔʹÓÃÈçÏÂÃüÁîÀ´Æô¶¯vsftpdÁË¡£

¡¡¡¡Í£Ö¹¶ÀÁ¢ÔËÐеÄvsftpd£º

# service vsftpd stop


¡¡¡¡ÖØÐÂÆô¶¯xinetdÊØ»¤½ø³Ì£º

# service xinetd restart


¡¡¡¡ÁíÍâÒ»µãÐèҪ˵Ã÷µÄÊÇ£ºÈç¹ûÏëÔÚϵͳÆô¶¯Ê±¾Í×Ô¶¯ÔËÐи÷þÎñ£¬ÄÇôÐèҪʹÓÃsetupÃüÁÔÚÍøÂç·þÎñÅäÖõÄÏîÄ¿ÖУ¬Ñ¡ÖÐvsftpdÊØ»¤½ø³Ì¼´¿É¡£

¡¡¡¡2£® ¶ÀÁ¢¹¤×÷ģʽÆô¶¯

¡¡¡¡vsftpdÒ²¿ÉÒÔ¹¤×÷ÔÚ¶ÀÁ¢¹¤×÷ģʽÏ¡£ÕâÑù£¬ÎÒÃÇÐèÒªÔٴδò¿ª¡°/etc/vsftpd.conf¡±×öÈçÏÂÐ޸ģº

# Shall the vsftp daemon run in standalone operation? YES/NO

listen=YES



¡¡¡¡ÔÚÕâÏîÉèÖÃÖ®ºó£¬ÊØ»¤½ø³Ì¿ÉÒÔÓÃÈçÏ·½Ê½Æô¶¯£º

# service vsftpd start


¡¡¡¡Í¬ÑùµØ£¬ÔÚ¶ÀÁ¢¹¤×÷ģʽÏ£¬ÎÒÃDZØÐë±£Ö¤vsftpdûÓб»xinetdÆô¶¯£¬Õâ¸ö¿ÉÒÔʹÓÃÈçÏÂÃüÁîÀ´½øÐмì²é£º

# pstree|grep vsftpd


¡¡¡¡²âÊÔÔËÐÐ

¡¡¡¡Ôڳɹ¦µØ°²×°ºÍÅäÖÃÖ®ºó£¬ÎÒÃǽ«¶Ô¸ÃFTP·þÎñÆ÷½øÐмòµ¥µÄ²âÊÔÔËÐУ¬Ê¾ýÈçÏ£?br>
# ftp liyang

Connected to liyang.

220 (vsFTPd 1.1.3)

Name (liyang:root): anonymous

331 Please specify the password.

Password:

230 Login successful. Have fun.

Remote system type is UNIX.

Using binary mode to transfer files.

ftp> ls -l

229 Entering Extended Passive Mode

150 Here comes the directory listing

drwxr-xr-x 20 500 100 400 Jun 04 16:14 mp3

drwxr-xr-x 3 500 100 464 Feb 09 21:28 test

drwxr-xr-x 57 500 100 5143 Jun 15 19:23 working

226 Directory send OK.
֪ʶÔÚÓÚ»ýÀÛ£¬»ý·ÖÔÚÓÚ¹àË®

TOP

֪ʶÔÚÓÚ»ýÀÛ£¬»ý·ÖÔÚÓÚ¹àË®

ÎÒÀ´¹àË®
ÄÜ×öµÃ¸üºÃ£¡

TOP


¸ÐлһֱÒÔÀ´Äú¶ÔÎÒÃǵÄÖ§³Ö£¡
µ±Ç°Ê±Çø GMT+8, ÏÖÔÚʱ¼äÊÇ 2008-10-6 22:03 ¾©ICPÖ¤060528 ºÅ

Designed By 17DST