千家信息网

CentOS8搭建FTP服务器

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,1 概述文章主要讲了CentOS8如何利用vsftpd搭建一个FTP服务器,然后进行简单的匿名上传/下载与用户上传/下载测试,还有使用了wget测试.2 安装vsftpdyum install -y
千家信息网最后更新 2026年11月03日CentOS8搭建FTP服务器

1 概述

文章主要讲了CentOS8如何利用vsftpd搭建一个FTP服务器,然后进行简单的匿名上传/下载与用户上传/下载测试,还有使用了wget测试.

2 安装vsftpd

yum install -y vsftpd

3 开启服务

service httpd start

4 设置开机启动

可以用

systemctl list-unit-files | grep vsftpd

查看是否开机启动.显示disabled.

通过

chkconfig vsftpd on

开启自启,再次执行systemctl,可以看到变成了enabled.

5 修改/etc/vsftpd/vsftpd.conf

sudo vim /etc/vsftpd/vsftpd.conf

首先修改

为YES.
再添加一行anon_upload_enable=YES

第一行的意思是允许匿名登录,第二行的意思是允许匿名上传.
重启服务.

service vsftpd restart

6 创建测试文件

cd /var/ftp/pubsudo vim test

7 测试

7.1 浏览器测试

7.1.1 匿名测试

ifconfig获取内网ip,在浏览器中输入ftp://ip.

可以看到有一个pub文件夹,里面有刚才新建的test文件.


右键保存即可下载文件.

下载完成.

去终端看看.

7.1.2 用户登录测试

输入

ftp://username@ip


再输入用户密码.
默认访问的是用户根目录下的文件,这里显示出来了.

下载的话同上,右键选择即可.

7.2 ftp命令测试

首先安装ftp:

sudo yum install ftp

7.2.1 匿名测试

ftp ip

这里用户名选择ftp,密码为空,表示匿名登录.ftp为默认的匿名登录用户名,至于密码,可以在/etc/vsftpd/vsftpd.conf中设置一个

no_anon_password=YES

这样匿名用户可以不用密码登录.

7.2.1.1 上传测试

直接使用put命令,后面接上文件,这里的upload.txt是执行ftp之前的所在文件夹下的upload.txt

这里提示不能创建文件,是权限的原因,要确保/var/ftp/pub对"other"用户有写权限.

默认的/var/ftp/pub的权限是644,修改成647.

sudo chmod 647 /var/ftp/pub

同时修改上传文件的权限,允许other用户可读.

sudo chmod 644 /root/upload.txt

如果不行,使用selinux设置.

getsebool -a | grep ftp


把ftpd_full_access开启:

setsebool ftpd_full_access on


再进入upload.txt所在的文件夹,执行ftp,再次put.

成功!

7.2.1.2 下载测试

直接get文件即可,由于上面已经设置好了权限,所以不会出现问题.


若出现权限问题可从三方面入手:

  • (1)/var/ftp/pub的对other用户的可读权限:因为是下载,而且匿名,所以只需要对other用户的可读权限
  • (2)被下载文件的对other用户的可读权限
  • (3)selinux的问题,设置ftpd_full_access为on

7.2.2 用户登录测试

执行ftp时用对应用户名与密码登录.

默认进入了用户根目录.

7.2.2.1 上传测试

直接put即可.


若出现权限问题参照上面7.2.1.2的那三条方法.

7.2.2.2 下载测试

随便在用户根目录新建一个文件,这里是kr.

直接get即可.

7.3 wget测试

wget用来下载文件,初始下载的目录与ftp登录时的目录一致,比如匿名登录ftp,登录的是/var/ftp目录,则wget会从这个/var/ftp目录下载文件,下载到执行wget命令所在的目录.使用用户"kr"登录ftp,则登录的是/home/kr目录,wget会从/home/kr下载文件.

7.3.1 匿名测试

注意,请确保被下载文件对other用户有可读权限.

sudo chmod o+w xxxxxx

然后使用wget

wget ftp://ip/pub/xxxx


7.3.2 用户登录测试

使用--ftp-user,--ftp-password指定用户名与密码,其余同上.

wget ftp://ip/xxx --ftp-user=xxxx --ftp-password=xxxx


成功.

8 总结

呃....简单来说,就是先安装好ftp与vsftpd,然后修改/etc/vsftpd/vsftpd.conf添加相应权限,对于不能上传与下载的原因,基本上都是权限的问题,主要就是三方面:

  • (1)ftp目录的权限:比如可以是/var/ftp/pub没有对应的写权限导致上传失败,没有对应读权限导致下载失败.
  • (2)被上传文件的权限:比如上传的文件没有读权限导致上传失败.
  • (3)selinux:使用setsebool设置为on.

解决权限问题后,基本就可以通过ftp或wget顺利地使用这个ftp服务器上传/下载文件了.

文件 用户 权限 测试 登录 目录 密码 问题 服务 用户名 命令 所在 文件夹 根目录 输入 服务器 成功 一行 再次 原因 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 咖啡豆 互联网科技工作委员会 广州百单互联网科技有限公司 互联网下的科技发展 期待互联网科技 安徽鑫晟辉互联网科技 互联网科技公司有哪些 互联网科技公司介绍 承德科技产业互联网发展 重庆威客帮互联网科技 河南猎农互联网科技有限公司 杭州壁岐互联网科技有限公司 坤平互联网科技 乌苏新华互联网科技做什么的 互联网公司黑科技创始人 济南小医互联网科技有限公司招聘 互联网科技平台产品运营 张家口科技产业互联网平台 银川新华互联网科技学校原画 承德科技产业互联网平台 保险科技 互联网保险 广东万易互联网科技有限公司惠州分公司 广东猪兼强互联网科技有限公司 苏州找大状互联网科技有限公司 互联网电商科技 承德科技产业互联网发展 移动互联网科技股 互联网科技创新的路径 35岁以上互联网科技行业 互联网科技的前景
0