Centos 搭建Ftp服务器

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连接报异常“无法显示远程文件夹”

 把√去掉重新连接



原文地址:https://www.cnblogs.com/niuniu0108/p/12416723.html