VSFTP安装配置
VSFTP安装配置
eden-long 发表于3年前
VSFTP安装配置
  • 发表于 3年前
  • 阅读 24
  • 收藏 0
  • 点赞 0
  • 评论 0

移动开发云端新模式探索实践 >>>   

摘要: 在centos7下安装配置VSFTP的教程

参照文章:http://www.cnblogs.com/xia520pi/archive/2012/05/16/2503864.html

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是否已经安装。

 

systemctl list-unit-files  | grep vsftp

    

   接着使用yum命令直接安装

 

yum –y install vsftpd

 

 

  上图中表示正在下载,需要耐心等一下,如果网络不畅通,也可能需要下载失败,不过不要担心,只要在重新提交一次命令就行。

 

 

  从上面的结果中看出,已经成功安装。然后为它创建日志文件:

 

touch /var/log/vsftpd.log

 

 

  这样简单的两个命令就完成了vsftp的安装,但是如果你现在想这样ftp://your_ip来访问的话,那还不行,还需要配置权限!

 

2.2 启动与配置自启动

 设置vsftpd服务开机启动

systemctl enable vsftpd.service


      再次使用"systemctl list-unit-files  | grep vsftp"来查看vsftpd服务启动项情况;

  如果看到的是如下显示的结果:


 

2.3 配置vsfpd服务

  编辑/etc/vsftpd/vsftpd.conf文件,配置vsftp服务:

vim /etc/vsftpd/vsftpd.conf

 

 

  上图中先显示出"/etc/vsftpd"下面有哪些文件,然后在用"vim"编辑器进行修改。

 

   先按键盘上的"a"就可以进行编辑了,按照下面进行操作。

 

anonymous_enable=YES --> anonymous_enable=NO //不允许匿名用户访问,默认是允许

xferlog_file=/var/log/vsftpd.log #设定vsftpd的服务日志保存路径。注意,该文件默认不存在。必须要手动touch出来

#idle_session_timeout=600 --> idle_session_timeout=600 //会话超时,客户端连接到ftp但未操作,默认被注释掉,可根据个人情况修改

#async_abor_enable=YES --> async_abor_enable=YES //支持异步传输功能,默认是注释掉的,去掉注释

#ascii_upload_enable=YES --> ascii_upload_enable=YES //支持ASCII模式的下载功能,默认是注释掉的,去掉注释

#ascii_download_enable=YES --> ascii_download_enable=YES //支持ASCII模式的上传功能,默认是注释掉的,去掉注释

#ftpd_banner=Welcome to blah FTP service //FTP的登录欢迎语,本身是被注释掉的,去不去都行

#chroot_local_user=YES --> chroot_local_user=YES   //禁止本地用户登出自己的FTP主目录,本身被注释掉,去掉注释

allow_writeable_chroot=YES     //注意如果设置了禁止本地用户登出自己的FTP主目录,需要把allow_writeable_chroot设置为yes,否则登录不了FTP。

chroot_list_enable=YES    //是否设定例外,如果为YES,表示开启例外,在/etc/vsftpd/chroot_list设定例外用户。需要注意的是,如果chroot_local_user=YES,则/etc/vsftpd/chroot_list设定可以登出自己的FTP主目录的用户;如果chroot_local_user=NO,则/etc/vsftpd/chroot_list设定不能登出自己的FTP主目录的用户。

 

  下面几个都是已经去掉的,只是写出来,明白其用意。

 

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 //拒绝登录用户名单,不用改

userlist_deny=NO    //如果为NO,则/etc/vsftpd/user_list 为用户白名单;如果为YES,则/etc/vsftpd/user_list 为黑名单;无论设置为YES/NO,/etc/vsftpd/ftpusers 都为黑名单

local_root=/tmp/testftp/    //设置用户登录后的根目录


TCP_wrappers=YES //限制主机对VSFTP服务器的访问,不用改(通过/etc/hosts.deny和/etc/hosts.allow这两个文件来配置)

listen=yes    //采用ipv4  协议监听服务端口

listen_ipv6=no    //是否采用IPV6地址监听服务端口

 

    按照上面修改完之后,按键盘"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                //-P是把设置写入文件

setsebool -P allow_ftpd_full_access 1    

 

 

2.6 重启相关服务

  最后就是把"vsftpd"和"iptables"两个服务重新启动一下。

 

service vsftpd restart

 

 

  如果出现下图,说明刚才没有把vsftpd服务启动起来。

 

service vsftpd start

 

 

  最后把防火墙重新启动一下。

service iptables restart

 

 

  到此为止FTP服务器就搭建完毕了,下面可以通过"FlashFXP.exe"软件进行访问了。


标签: VSFTP centos7
  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 0
博文 1
码字总数 1708
×
eden-long
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: