FTP搭建与配置(centos7)

说明

参考网络上其他人文章。将他人技术文章亲自测试并总结补充。

本文需要开启服务器21端口

1
2
firewall-cmd --zone=public --add-port=21/tcp --permanent      #添加开启端口,要开启21;
systemctl restart firewalld.service #重启防火墙

FTP搭建与配置

1. 安装vsftpd

1
yum install -y vsftpd

2. 修改vsftpd的配置文件

本文使用/www目录为ftp根目录

1
2
mkdir /www            #创建/www目录
chmod -R 777 /www #更改/www目录权限

修改vsftpd文件

1
vi /etc/vsftpd/vsftpd.conf

参考如下配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
anonymous_enable=NO     #不允许匿名访问
local_enable=YES #允许使用本地帐户进行FTP用户登录验证
listen=YES #ip监听
#listen_ipv6=YES #前面加上#号禁用ipv6

#不在/etc/vsftpd.chroot_list文件中列出的用户不能切换根以外目录
#如果/etc/vsftpd/chroot_list不存在,自己创建(里面可以是空)。
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list

allow_writeable_chroot=YES #允许写入目录

#设定支持ASCII模式的上传和下载功能。
ascii_upload_enable=YES
ascii_download_enable=YES

local_root=/www #ftp访问目录

pasv_enable=YES //开启PASV模式
pasv_min_port=40000 //最小端口号
pasv_max_port=40080 //最大端口号
pasv_promiscuous=YES

ftp连接方式分为主动和被动,增加PASV模式端口区间

1
2
firewall-cmd --zone=public --add-port=40000-40080/tcp --permanent      #添加开启端口,要开启40000-40080;
systemctl restart firewalld.service #重启防火墙

启动(使用命令)

1
2
3
4
systemctl start vsftpd.service         #启动ftp服务
systemctl stop vsftpd.service #停止ftp服务
systemctl restart vsftpd.service #重启ftp服务
systemctl enable vsftpd.service #将ftp服务加入开机自启动

3. 新建用户

1
2
useradd -d /www -g ftp -s /sbin/nologin ftpuser     #新建用户名为ftpuser,不可登录
passwd ftpuser #修改密码

4. 客户端访问


扩展虚拟用户访问

有时候需求为多个用户访问不同的目录,这个时候就需要使用虚拟用户(下次再写。。。)