1、VSFTP简介 VSFTP是一个基于GPL发布的类Unix系统上使用的FTP服务器软件,它的全称是Very Secure FTP 从此名称可以看出来,编制者的初衷是代码的安全。 安全性是编写VSFTP的初衷,除了这与生俱来的安全特性以外,高速与高稳定性也是VSFTP的两个重要特点。 在速度方面,使用ASCII代码的模式下载数据时,VSFTP的速度是Wu-FTP的两倍,如果Linux主机使用2.4.*的内核,在千兆以太网上的下载速度可达86MB/S。 在稳定方面,VSFTP就更加的出色,VSFTP在单机(非集群)上支持4000个以上的并发用户同时连接,根据Red Hat的Ftp服务器(ftp.redhat.com)的数据,VSFTP服务器可以支持15000个并发用户。 2、VSFTP安装及配置 安装该软件需要使用最高用户(root)进行安装,否则不能进行。 2.1 安装 首先用命令检查VSFTP是否已经安装。 chkconfig –list | grep vsftpd 显示结果如下,没有任何反应,说明没有安装VSFTP。 接着使用yum命令直接安装 yum –y install vsftpd 上图中表示正在下载,需要耐心等一下,如果网络不畅通,也可能需要下载失败,不过不要担心,只要在重新提交一次命令就行。 从上面的结果中看出,已经成功安装。然后为它创建日志文件: touch /var/log/vsftpd.log 这样简单的两个命令就完成了vsftp的安装,但是如果你现在想这样ftp://your_ip来访问的话,那还不行,还需要配置权限! 2.2 启动与配置自启动 再次使用"chkconfig –list | grep vsfpd"来查看vsftpd服务启动项情况; 如果看到的是如下显示的结果: 服务全部都是关闭(off)的,注意这里的关闭(off)表示的是服务器启动的时候是否会自启动服务,我们使用如下命令来配置其自启动: chkconfig vsftpd on 或者 chkconfig –level 2345 vsftpd on 执行结果如下: 查看与管理ftp服务: 启动ftp服务:service vsftpd start 查看ftp服务状态:service vsftpd status 重启ftp服务:service vsftpd restart 关闭ftp服务:service vsftpd stop 2.3 配置vsfpd服务编辑/etc/vsftpd/vsftpd.conf文件,配置vsftp服务: vim /etc/vsftpd/vsftpd.conf 上图中先显示出"/etc/vsftpd"下面有哪些文件,然后在用"vim"编辑器进行修改。 先按键盘上的"a"就可以进行编辑了,按照下面进行操作。
下面几个都是已经去掉的,只是写出来,明白其用意。 local_enable=YES //允许本地用户访问,默认就是YES,不用改 write_enable=YES //允许写入,默认是YES,不用改 local_umask=022 //上传后文件的权限掩码,不用改 dirmessage_enable=YES //开启目录标语,默认是YES,开不开无所谓,我是默认就行 xferlog_enable=YES //开启日志,默认是YES,不用改 connect_from_port_20=YES //设定连接端口20 xferlog_std_format=YES //设定vsftpd的服务日志保存路径,不用改 pam_service_name=vsftpd //设定pam服务下vsftpdd的验证配置文件名,不用改 userlist_enable=YES //拒绝登录用户名单,不用改 TCP_wrappers=YES //限制主机对VSFTP服务器的访问,不用改(通过/etc/hosts.deny和/etc/hosts.allow这两个文件来配置) 按照上面修改完之后,按键盘"Esc"退出编辑,再按":",并在后面输入"wq",进行保存并退出。 2.4 配置iptables防火墙 按照以上步骤还不能运行,用下面命令可以查看一下防火墙允许的端口号,我们知道ftp的端口号是"20、21",从结果中可以看出,并没有。 service ipstables status 这时需要对"/etc/sysconfig/iptables"进行配置: vim /etc/sysconfig/iptables 上图中先列出以"iptables"模糊比配的文件,然后在用上面的命名对"iptables"文件进行添加下面的内容。 -A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 20 -j ACCEPT 具体的添加操作命令和前面对"/etc/vsftpd/vsftpd.conf"的操作一样。 2.5 设置selinux问题 SELinux(Security-Enhanced Linux) 是美国国家安全局(NSA)对于强制访问控制的实现,是 Linux史上最杰出的新安全子系统。SELinux 是 2.6 版本的 Linux 内核中提供的强制访问控制 (MAC)系统。对于目前可用的 Linux 安全模块来说,SELinux 是功能最全面,而且测试最充分的,它是在 20 年的 MAC 研究基础上建立的。SELinux 在类型强制服务器中合并了多级安全性或一种可选的多类策略,并采用了基于角色的访问控制概念SELinux提供了比传统的UNIX权限更好的访问控制。 正式如此,所以此时还不能访问FTP服务器。用下面命令查询: getsebool -a | grep ftp 可以通过下面命令把上图中红色圈住的两个的值设置为"on"。 setsebool -P ftp_home_dir 1 setsebool -P allow_ftpd_full_access 1 2.6 重启相关服务 最后就是把"vsftpd"和"iptables"两个服务重新启动一下。 service vsftpd restart 如果出现下图,说明刚才没有把vsftpd服务启动起来。 service vsftpd start 最后把防火墙重新启动一下。 service iptables restart 到此为止FTP服务器就搭建完毕了,下面可以通过"FlashFXP.exe"软件进行访问了。 |