工作中经常需要在Windows和CentOS之间,或Linux机器相互之间传递文件,通常习惯于在Linux Server上装一个FTP Server,但禁止匿名访问。
网上找了个vsftp tar包:vsftpd-2.1.2.tar.gz,下载到本地并解压:tar -zxvf vsftpd-2.1.2.tar.gz.
到解压目标下,打开INSTALL文本,并依照执行,但没对builddefs.h文件进行任何修改。
然后,直到“Step 4) Smoke test (without an inetd)”,按照推荐在/etc/vsftpd.conf中加了一行“listen=YES”,将FTP配置成Stand Alone方式,也就是说不被xinetd管理。手工运行FTP Server:/usr/local/sbin/vsftpd &,本地FTP连接测试顺利通过。
跳过Step 5,Step 6需要依照执行(对于非匿名FTP Server,它并非如INSTALL文档所说的Optional,否则,FTP只能工作在匿名方式)
下面修改/etc/vsftpd.conf的操作并没有在INSTALL中详细说明,但很重要:
#从缺省值YES,改成NO,因本FTP Server不打算允许匿名访问
anonymous_enable=NO
#下面两个从缺省NO改成YES,目的就是要在不同机器间Copy文件
local_enable=YES
write_enable=YES
#从缺省值YES改成NO,否则,只能匿名访问--这很重要,但文档中没说
one_process_model=NO
#将vsftp设成Stand Alone方式,这一项文档有描述
listen=YES
然后,手工重启:/usr/local/sbin/vsftpd,从另一台机器试试FTP,上传下载,目前切换一切OK。
每次手工启动当然麻烦,因没有用RPM包安装,自己编写放在/etc/rc.d/init.d/下的自启动脚本也麻烦,简单办法是在/etc/rc.d/rc.local中加一行:/usr/local/sbin/vsftpd &,搞定。