安装vsftpd的服务器相关软件
1、安装vsftpd服务器和客户端
[root@localhost ~]#sudo yum install ftp vsftpd
2、然后该yes的地方yes就行了
添加一个ftp用户
此用户就是用来登录ftp服务器用的。
[root@localhost ~]#useradd ftpuser(如果提示已有这个用户,不用管)
ftp用户添加密码
[root@localhost ~]#passwd ftpuser防火墙开启21端口
因为ftp默认的端口为21,而centos默认是没有开启的,所以要修改iptables文件
[root@localhost ~]#vim /etc/sysconfig/iptables
(如果提示这个iptables文件不存在,参见我另一篇博客点击打开链接,centOS7的防火墙需要单独设置)
其中一行写有
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
在这行下面插入一行(键盘按下i即是insert模式~~)输入
-A INPUT -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT
是的,就把22改成21 ,其他的一模一样,然后esc,退出insert模式。然后:wq保存退出。
重启iptables
[root@localhost ~]#service iptables restart
修改selinux
[root@localhost ~]#getsebool -a |grep ftp
显示:
ftpd_anon_write --> off
ftpd_connect_all_unreserved --> off
ftpd_connect_db --> off
ftpd_full_access --> on
ftpd_use_cifs --> off
ftpd_use_fusefs --> off
ftpd_use_nfs --> off
ftpd_use_passive_mode --> off
httpd_can_connect_ftp --> off
httpd_enable_ftp_server --> off
tftp_anon_write --> off
tftp_home_dir --> on
检查变红色的两条是否是on状态
如果不是on,代表没有开启外网的访问
[root@localhost ~]#setsebool -P allow_ftpd_full_access on
[root@localhost ~]#setsebool -P tftp_home_dir on
关闭匿名访问
[root@ localhost ~]#vim /etc/vsftpd/vsftpd.conf# Allow anonymous FTP? (Beware - allowed by default if you comment this out).
anonymous_enable=NO
修改这一条,默认是YES,改成NO。然后:wq保存退出。
重启ftp服务
[root@localhost ~]#service vsftpd restart
开启被动模式
[root@localhost ~]#vim /etc/vsftpd/vsftpd.conf
文件的最后加上这两条
pasv_min_port=30000
pasv_max_port=30999
然后:wq保存退出。
重启ftp服务
[root@localhost ~]#service vsftpd restart
由于指定这段端口范围,iptables也要相应的开启这个范围,所以像上面那样打开iptables文件。也是在21上下面另起一行,跟那行差不多,只是把21 改为30000:30999,
-A INPUT -p tcp -m state --state NEW -m tcp --dport 30000:30999 -j ACCEPT然后:wq保存,重启下iptables。
重启iptables
[root@localhost ~]#service iptables restart
这样就搞定了。设置开机启动vsftpd ftp 服务
[root@localhost ~]#chkconfig vsftpd on