Centos7Linux安装ftp组件
step1:在linux中先检查是否存在vsftpd
sudo yum list installed | grep vsftp
结果中有vsftpd字样的内容,说明已经安装过了,可以直接跳过第2步。
step2:安装vsftpd组件
安装完后,有/etc/vsftpd/vsftpd.conf 文件,是vsftp的配置文件。
yum -y install vsftpd
sudo yum list installed | grep vsftp
step3:添加一个ftp用户,并设置密码
此用户就是用来登录ftp服务器用的。(我起的用户名是ftpuser)
useradd ftpuser
这样一个用户建完,可以用这个登录,记得用普通登录不要用匿名了。登录后默认的路径为 /home/ftpuser.
passwd ftpuser
输入两次密码后修改密码。
step4:防火墙开启21端口
firewall-cmd --zone=public --add-port=21/tcp --permanent 备注:centos7适用
重启防火墙
systemctl restart firewalld
step5:修改selinux
外网是可以访问上去了,可是发现没法返回目录(使用ftp的主动模式,被动模式还是无法访问),也上传不了,因为selinux作怪了。
修改selinux:
执行以下命令查看状态:
getsebool -a | grep ftp
执行上面命令,再返回的结果看到两行都是off,代表,没有开启外网的访问
setsebool ftpd_full_access on
setsebool ftp_home_dir on
这样应该没问题了(如果,还是不行,看看是不是用了ftp客户端工具用了passive模式访问了,如提示Entering Passive mode,就代表是passive模式,默认是不行的,因为ftp passive模式被iptables挡住了,下面会讲怎么开启,如果懒得开的话,就看看你客户端ftp是否有port模式的选项,或者把passive模式的选项去掉。如果客户端还是不行,看看客户端上的主机的电脑是否开了防火墙,关吧)
FileZilla的主动、被动模式修改:
菜单:编辑→设置
step6:关闭匿名访问
修改/etc/vsftpd/vsftpd.conf文件:
vi /etc/vsftpd/vsftpd.conf
重启ftp服务:
service vsftpd restart
step7:开启被动模式(可选)
默认是开启的,但是要指定一个端口范围,打开vsftpd.conf文件,在后面加上
pasv_min_port=30000
pasv_max_port=30999
表示端口范围为30000~30999,这个可以随意改。改完重启一下vsftpd
由于指定这段端口范围,iptables也要相应的开启这个范围,所以像上面那样打开iptables文件。
也是在21上下面另起一行,更那行差不多,只是把21 改为30000:30999,然后:wq保存,重启下iptables。这样就搞定了。
关闭被动模式
打开vsftpd.conf文件,做如下配置即可关闭被动模式
关闭被动模式
connect_from_port_20=YES
#pasv_enable=NO
step8:设置开机启动vsftpd ftp服务(可选)
chkconfig vsftpd on
在window中fileZilla Client安装
下载https://filezilla-project.org/download.php
解压后安装
选中完下一步
修改安装路径
下一步
安装完成
连接虚拟机ip地址
看下面连接超时
如果你看到这个可以修改模式,还可以简单粗暴点关闭Linux的防火墙。注意你要在自己电脑上这样操作,
查看防火墙状态,如果开着就关了。
systemctl stop firewalld
这就连接上了。ftp成功