FTP(File Transfer Protocol,文件传输协议)是互联网上广泛使用的文件传输服务,适用于在不同主机间共享文件,openEuler作为一款开源、免费的操作系统,凭借其稳定性和安全性,成为搭建服务器的热门选择,本文将详细介绍如何在openEuler操作系统上通过vsftpd(Very Secure FTP Daemon)软件搭建FTP服务器,包括环境准备、安装配置、用户权限管理及安全设置等步骤,帮助读者快速完成FTP服务的部署。
环境准备
在开始搭建FTP服务器前,需确保满足以下环境要求:
- 操作系统:openEuler 20.03 LTS或更高版本(本文以openEuler 22.03 LTS为例)。
- 网络配置:服务器已配置静态IP地址,确保客户端能访问到服务器(如IP地址为
168.1.100)。 - 权限要求:使用
root用户或具有sudo权限的用户执行操作。
更新系统
更新系统软件包以确保所有组件为最新版本,避免兼容性问题:

sudo dnf update -y
关闭防火墙(临时测试)
若为临时测试环境,可先关闭防火墙以简化配置(生产环境建议按后续步骤开放端口):
# 停止firewalld服务 sudo systemctl stop firewalld # 禁用firewalld开机自启 sudo systemctl disable firewalld
注意:生产环境中需开放FTP服务端口(默认21端口及被动模式端口),具体配置见“安全设置”部分。
安装FTP服务器软件
vsftpd是一款轻量级、高安全性的FTP服务器软件,是Linux系统下的主流选择,通过openEuler的包管理器dnf安装即可:
安装vsftpd
sudo dnf install vsftpd -y
安装完成后,vsftpd服务默认不会自动启动。
启动并设置开机自启
# 启动vsftpd服务 sudo systemctl start vsftpd # 设置开机自启 sudo systemctl enable vsftpd
检查服务状态,确保运行正常:
sudo systemctl status vsftpd
若输出显示active (running),则表示服务启动成功。
配置FTP服务器
vsftpd的配置文件位于/etc/vsftpd/vsftpd.conf,默认配置较为保守,需根据需求修改以实现文件上传、下载等功能。
备份原始配置文件
修改前建议先备份原始配置,以便出错时恢复:
sudo cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak
修改核心配置项
使用vi或nano编辑器打开配置文件:
sudo vi /etc/vsftpd/vsftpd.conf
按需修改以下关键参数(可根据实际需求调整):
(1)启用匿名访问(可选)
若允许匿名用户访问(无需用户名密码),修改:
anonymous_enable=YES # 允许匿名访问 anon_upload_enable=YES # 允许匿名用户上传(需配合write_enable) anon_mkdir_write_enable=YES # 允许匿名用户创建目录 anon_umask=022 # 匿名用户上传文件的默认权限掩码
注意:匿名访问存在安全风险,生产环境建议关闭。
(2)启用本地用户访问
允许系统本地用户通过FTP登录(推荐使用此方式):
local_enable=YES # 允许本地用户登录 write_enable=YES # 允许本地用户上传、修改文件
(3)限制用户访问目录(安全加固)
默认情况下,FTP用户可访问系统所有目录,需通过chroot限制用户只能访问自己的主目录:
chroot_local_user=YES # 将用户限制在主目录 allow_writeable_chroot=YES # 允许被限制在主目录的用户有写入权限(需配合write_enable)
注意:若chroot_local_user=YES但未设置allow_writeable_chroot=YES,用户可能无法登录(错误提示“500 OOPS: vsftpd: refusing to run with writable root inside chroot”)。
(4)配置被动模式(推荐)
主动模式(PORT)在客户端有防火墙时可能无法连接,被动模式(PASV)可解决此问题,需配置被动模式端口范围:

