1、查看是否安装了vsftpd
vsftpd -version
2、安装vsftpd
yum -y install vsftpd
3、新建Ftp目录
mkdir /usr/local/localFTP
4、创建新用户并指定登录后访问的文件夹(ftpname就是你将要建立的用户名,可以自己起一个)
useradd -d /usr/local/localFTP -s /bin/bash ftpname
5、为新建的用户添加密码
passwd ftpname
6、添加用户组
groupadd ftpgroup
7、改变文件夹访问权限
chown -R ftpname:ftpgroup /usr/local/localFTP
8、防火墙添加ftp服务
firewall-cmd --permanent --zone=public --add-service=ftp
firewall-cmd --reload
9、修改配置文件
vim /etc/vsftpd/vsftpd.conf
修改内容
#去掉前面的注释 chroot_local_user=YES
chroot_list_enable=YES chroot_list_file=/etc/vsftpd/chroot_list
ascii_upload_enable=YES ascii_download_enable=YES
#文件末尾添加
allow_writeable_chroot=YES
/etc/vsftpd/chroot_list 这个文件不存在,就要自己手动创建!!!
保存,重启vsftpd
systemctl restart vsftpd.service
CentOS7.x自带firewall防火墙,FTP使用需要开启20 21 22 30000-35000几个端口.
操作命令如下:
firewall-cmd --zone=public --add-port=20/tcp --permanent
firewall-cmd --zone=public --add-port=21/tcp --permanent
firewall-cmd --zone=public --add-port=22/tcp --permanent
firewall-cmd --zone=public --add-port=30000-35000/tcp --permanent
firewall-cmd --zone=public --add-port=20/udp --permanent
firewall-cmd --zone=public --add-port=21/udp --permanent
firewall-cmd --zone=public --add-port=30000-35000/udp --permanent
添加成功后,重启防火墙,即可!
systemctl restart firewalld.service
注意:
1、如果看不到文件列表,关闭 SELinux
解决方法:关闭SELinux
查看SELinux状态:/usr/sbin/sestatus -v #如果SELinux status参数为enabled即为开启状态
方法一:临时关闭(不用重启机器)
setenforce 0 #设置SELinux 成为permissive模式
#setenforce 1 设置SELinux 成为enforcing模式
方法二:修改配置文件需要重启机器
修改/etc/selinux/config 文件
将SELINUX=enforcing改为SELINUX=disabled
重启机器即可
2、xftp连接报异常“无法显示远程文件夹”
把√去掉重新连接