您所在的位置:首页 - Linux - 正文Linux
Centos 8.2 搭建 FTP 服务和Firewalld 相关配置
萧何-Vincent
2022-05-12
【Linux】
1462人已围观
本文搭建 FTP 服务组成版本如下:
Linux 操作系统:本文以腾讯云公共镜像 CentOS 8.2 为例。
Vsftpd:本文以 vsftpd 3.0.3 为例。
Vsftpd(very secure FTP daemon)是众多 Linux 发行版中默认的 FTP 服务器。本文以 CentOS 8.2 64位操作系统的腾讯云服务器(CVM)为例,使用 vsftpd 软件搭建 Linux 云服务器的 FTP 服务。
步骤1:安装 vsftpd
1.执行以下命令,安装 vsftpd
dnf install -y vsftpd
2.执行以下命令,设置 vsftpd 开机自启动。
systemctl enable vsftpd
3.执行以下命令,启动 FTP 服务。
systemctl start vsftpd
4.执行以下命令,确认服务是否启动, 显示21 端口 vsftpd 服务已经开启。
[root@VM-0-3-centos firewalld]# netstat -ntlp|grep ftp tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN 8680/vsftpd
步骤2:配置 vsftpd
1.执行以下命令,为 FTP 服务创建一个 Linux 用户,本文以 ftpuser 为例。
useradd ftpuser
2.执行以下命令,设置 ftpuser 用户的密码。
passwd ftpuser
输入密码后请按 Enter 确认设置,密码默认不显示,本文以 AXq147258!
为例。
3.执行以下命令,创建 FTP 服务使用的文件目录,本文以 /var/ftp/test
为例。
mkdir /var/ftp/test
4.执行以下命令,修改目录权限。
chown -R ftpuser:ftpuser /var/ftp/test
5.执行以下命令,打开 vsftpd.conf
文件
vim /etc/vsftpd/vsftpd.conf
6.按 i 切换至编辑模式,根据实际需求选择 FTP 模式,修改配置文件 vsftpd.conf
:
重要提示:FTP 可通过主动模式和被动模式与客户端机器进行连接并传输数据。由于大多数客户端机器的防火墙设置及无法获取真实 IP 等原因,建议您选择被动模式搭建 FTP 服务。如下修改以设置被动模式为例,您如需选择主动模式,请附录部分参考 设置 FTP 主动模式。
i. 修改以下配置参数,设置匿名用户和本地用户的登录权限,设置指定例外用户列表文件的路径,并开启监听 IPv4 sockets。
anonymous_enable=NO local_enable=YES write_enable=YES chroot_local_user=YES chroot_list_enable=YES chroot_list_file=/etc/vsftpd/chroot_list listen=YES
ii. 在行首添加 #
,注释 listen_ipv6=YES
配置参数,关闭监听 IPv6 sockets。
#listen_ipv6=YES
iii. 在 vsftpd.conf 最后添加以下配置参数,开启被动模式,设置本地用户登录后所在目录,以及云服务器建立数据传输可使用的端口范围值。
local_root=/var/ftp/test allow_writeable_chroot=YES pasv_enable=YES pasv_address=xxx.xx.xxx.xx #请修改为您的 Linux 云服务器公网 IP pasv_min_port=40000 pasv_max_port=45000
7.按 Esc 后输入 :x 保存后退出。
8.执行以下命令,创建并编辑 chroot_list
文件。
vim /etc/vsftpd/chroot_list
9.按 i 进入编辑模式,输入FTP用户名 如: ftpuser, 占据一行,设置完成后按 Esc 并输入 :x 保存后退出。
设置的用户将不会被锁定在主目录,您若没有设置例外用户的需求,可跳过此步骤,输入 :x 退出文件
10.执行以下命令,重启 FTP 服务。
systemctl restart vsftpd
步骤3:设置相关安全组
1.搭建好 FTP 服务后,在阿里云或者腾讯云——安全组 入站规则 添加21端口 允许FTP 服务放行
2.添加firewalld FTP需要的放行的端口21 , 和FTP被动模式 需要放行的端口40000-45000(此端口不添加就踩坑,连上FTP一直获取列表错误) ,命令如下:
[root@VM-0-3-centos firewalld]# firewall-cmd --zone=public --add-port=21/tcp --permanent success [root@VM-0-3-centos firewalld]# firewall-cmd --zone=public --add-port=40000-45000/tcp --permanent success [root@VM-0-3-centos firewalld]# firewall-cmd --reload success [root@VM-0-3-centos firewalld]# firewall-cmd --zone=public --list-ports 80/tcp 8081/tcp 443/tcp 21/tcp 40000-45000/tcp
步骤4:验证 FTP 服务
使用FileZilla 来连接 文件——站点管理——新建站点 输入服务器地址和ftp 用户名,密码 ,端口21 点击连接 ,显示如下效果连接成功,即可上传及下载文件。。
附录
设置 FTP 主动模式
主动模式需修改的配置如下,其余配置保持默认设置:
anonymous_enable=NO #禁止匿名用户登录 local_enable=YES #支持本地用户登录 chroot_local_user=YES #全部用户被限制在主目录 chroot_list_enable=YES #启用例外用户名单 chroot_list_file=/etc/vsftpd/chroot_list #指定用户列表文件,该列表中的用户不被锁定在主目录 listen=YES #监听IPv4 sockets #在行首添加#注释掉以下参数 #listen_ipv6=YES #关闭监听IPv6 sockets #添加下列参数 allow_writeable_chroot=YES local_root=/var/ftp/test #设置本地用户登录后所在的目录
按 Esc 后输入 :wq 保存后退出,完成 以下步骤 vsftpd 配置。
执行以下命令,创建并编辑 chroot_list
文件
vim /etc/vsftpd/chroot_list
FTP 客户端上传文件失败 排错方法:
Linux 系统环境下,通过 vsftp 上传文件时,提示如下报错信息。
553 Could not create file
解决方法
执行以下命令,检查服务器磁盘空间的使用率。
df -h
如果磁盘空间不足,将会导致文件无法上传,建议删除磁盘容量较大的文件。
如果磁盘空间正常,请执行下一步。
2.执行以下命令,检查 FTP 目录是否有写的权限。
ls -l /var/ftp/test # /var/ftp/test 为 FTP 目录,请修改为您实际的 FTP 目录。
若返回结果中没有 w
,则表示该用户没有写的权限,请执行下一步。
3.执行以下命令,对 FTP 目录加上写的权限。
chmod +w /var/ftp/test # /var/ftp/test 为 FTP 目录,请修改为您实际的 FTP 目录。
4.执行以下命令,重新检查写的权限是否设置成功。
ls -l /var/ftp/test # /var/ftp/test 为 FTP 目录,请修改为您实际的 FTP 目录。
Tags: Linux
文章评论 (暂无评论,1462人围观)
站长推荐

思科、华为、H3C命令对照表
-
小程序实战:从入门到上线,手把手教你搭建天气预报微信小程序
PHP | 2022-07-05
-
【php算法】有一母牛,到4岁可生育,每年一头,所生均是一样的母牛...问n年后有多少头牛?
PHP | 2022-07-05
-
企业级域环境搭建实例——主域,辅域和子域,DNS配置实例
Network | 2022-07-01
-
MySQL + JSON = 王炸!!
DataBase | 2022-03-03
-
LVS(Linux虚拟服务)----服务器集群系统工作原理
Linux | 2022-03-01
-
元宇宙的来源是什么?涉及核心技术BIGANT
AI, Big Data | 2022-02-22
-
人工智能(Artificial Intelligence)、机器学习(Machine Learning)、深度学习(Deep Learning)三者区别
AI, Big Data | 2022-01-06
-
Redis 学习知识小记
DataBase | 2021-11-04
-
php面试常规问题主键索引和唯一索引有什么区别
DataBase | 2021-11-04
最新留言
-
世界末日我都挺过去了,看到楼主我才知道为什么上帝留我到现在!http://1r8.pistpyh.cn/
昵称:访客2024-07-04
-
这位作者的文笔极其出色,用词精准、贴切,能够形象地传达出他的思想和情感。http://oui.kblewwq.cn/
昵称:访客2024-07-04
-
坚持回帖!http://mqp.baishanct.com/
昵称:访客2024-07-04
-
在哪里跌倒,就在那里多爬一会儿!http://gx.baishanct.com/
昵称:访客2024-07-04
-
好东西,学习学习!http://mn7jf.xmona.com.cn/
昵称:访客2024-07-04
-
这么好的帖子,应该加精华!http://www.baishanct.com/
昵称:访客2024-07-04
-
昵称:微信用户2023-12-28
-
昵称:mm2023-12-12
-
昵称:微信用户2023-11-25
-
昵称:Tim2022-07-28
站点信息
- 文章总数:65
- 页面总数:1
- 分类总数:5
- 标签总数:12
- 评论总数:24
- 浏览总数:82970