原文链接:「链接」
Hello,大家好啊,今天给大家带来一篇实用技术教程 —— 在统信 UOS 桌面操作系统下,如何通过 Pure-FTPd 快速搭建一套安全可靠的 FTP 文件传输服务。本教程不仅支持虚拟用户管理,还启用了 TLS 加密传输,适合在日常办公、测试环境中构建轻量、安全的文件上传下载平台。欢迎大家点赞、转发、点个在看和关注哦!
1.查看系统信息
pdsyw@pdsyw1024:~/Desktop$ cat /etc/os-version
pdsyw@pdsyw1024:~/Desktop$ uname -a
作用:确认当前系统平台(如统信 UOS)和内核架构信息(如 ARM64),便于判断软件兼容性和安装策略。
2.安装pure-ftpd
pdsyw@pdsyw1024:~/Desktop$ sudo apt install pure-ftpd
作用:通过 APT 包管理器安装 pure-ftpd 服务端程序,它是一个轻量、高性能、安全的 FTP 服务软件。
3.启用虚拟用户支持
pdsyw@pdsyw1024:~/Desktop$ echo "yes" | sudo tee /etc/pure-ftpd/conf/ChrootEveryone
yes
pdsyw@pdsyw1024:~/Desktop$ echo "/etc/pure-ftpd/pureftpd.pdb" | sudo tee /etc/pure-ftpd/conf/PureDB
/etc/pure-ftpd/pureftpd.pdb
作用:
ChrootEveryone=yes:限制用户只能访问自己的主目录,防止跨目录访问,提高安全性;
PureDB:指定虚拟用户使用的数据库路径,用于虚拟用户身份验证。
4.创建系统用户及上传目录
pdsyw@pdsyw1024:~/Desktop$ sudo useradd -m ftpuser -s /usr/sbin/nologin
pdsyw@pdsyw1024:~/Desktop$ sudo mkdir -p /ftp/uploads
pdsyw@pdsyw1024:~/Desktop$ sudo chown -R ftpuser:ftpuser /ftp
作用:
ftpuser 是所有虚拟用户的宿主系统账号,不允许登录系统;
/ftp/uploads 是虚拟用户上传文件的目标目录;
设置该目录归属为 ftpuser,以确保文件权限和访问安全。
5.创建 Pure-FTPd 虚拟用户
pdsyw@pdsyw1024:~/Desktop$ sudo pure-pw useradd testftp -u ftpuser -d /ftp/uploads
Password:
Enter it again:
pdsyw@pdsyw1024:~/Desktop$ sudo pure-pw mkdb
作用:
创建一个名为 testftp 的虚拟 FTP 用户,绑定到 /ftp/uploads;
虚拟用户对应的实际文件访问由 ftpuser 系统用户来执行;
pure-pw mkdb 命令将虚拟用户信息写入数据库文件
/etc/pure-ftpd/pureftpd.pdb。
6.启用 TLS 加密
pdsyw@pdsyw1024:~/Desktop$ sudo openssl req -x509 -nodes -days 3650 -newkey rsa:2048 \
> -keyout /etc/ssl/private/pure-ftpd.pem \
> -out /etc/ssl/private/pure-ftpd.pem
Generating a RSA private key
................................+++++
........................+++++
writing new private key to '/etc/ssl/private/pure-ftpd.pem'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:CN
State or Province Name (full name) [Some-State]:ShangHai
Locality Name (eg, city) []:ShangHai
Organization Name (eg, company) [Internet Widgits Pty Ltd]:pdsyw
Organizational Unit Name (eg, section) []:pdsyw
Common Name (e.g. server FQDN or YOUR name) []:pdsyw
Email Address []:pdsyw@pdsyw.cn
作用:
创建自签名证书用于 TLS 加密;
使 FTP 登录和传输过程加密,防止明文账号密码泄露;
-nodes 表示不加密私钥,方便服务自动加载。
7.设置权限
pdsyw@pdsyw1024:~/Desktop$ sudo chmod 600 /etc/ssl/private/pure-ftpd.pem
作用:确保 TLS 私钥文件只有 root 可读,避免被非授权用户访问,从而保障通信安全。
8.生成 DH 参数
pdsyw@pdsyw1024:~/Desktop$ sudo openssl dhparam -out /etc/ssl/private/pure-ftpd-dhparams.pem 2048
pdsyw@pdsyw1024:~/Desktop$ sudo chmod 600 /etc/ssl/private/pure-ftpd-dhparams.pem
作用:DH 参数用于 TLS 会话中密钥交换的安全性增强,生成强度为 2048 位的密钥交换参数文件。
9.关闭pure-ftpd服务
pdsyw@pdsyw1024:~/Desktop$ sudo systemctl stop pure-ftpd
pdsyw@pdsyw1024:~/Desktop$ sudo systemctl disable pure-ftpd
作用:防止系统自带的默认配置干扰后续自定义配置。我们将通过 systemd 定义一个新的服务启动方式。
- 编辑systemd 服务
pdsyw@pdsyw1024:~/Desktop$ sudo vim /etc/systemd/system/pure-ftpd.service
pdsyw@pdsyw1024:~/Desktop$ cat /etc/systemd/system/pure-ftpd.service
[Unit]
Description=Pure-FTPd FTP Server (with PureDB and TLS)
After=network.target
[Service]
ExecStart=/usr/sbin/pure-ftpd \
-l puredb:/etc/pure-ftpd/pureftpd.pdb \
-j \
-E \
-Y 2 \
-8 UTF-8 \
-p 30000:30050 \
-P 10.211.55.148
Restart=on-failure
[Install]
WantedBy=multi-user.target
作用:定义了 Pure-FTPd 的运行参数、认证方式、加密策略和端口设置,让服务更灵活、受控。
11.启动 systemd 服务
pdsyw@pdsyw1024:~/Desktop$ sudo systemctl enable pure-ftpd.service
pdsyw@pdsyw1024:~/Desktop$ sudo systemctl restart pure-ftpd.service
pdsyw@pdsyw1024:~/Desktop$ sudo systemctl status pure-ftpd.service
作用:将自定义服务注册为开机启动,并立即启动该服务。status 用于确认是否启动成功。
12.查看ip
pdsyw@pdsyw1024:~/Desktop$ ip a
作用:用于确认 FTP 服务器的 IP 地址,客户端连接时需要填写这个地址。
13.filezilla客户端下载
14.使用filezilla客户端登录
15.确认证书
16.连接成功
本教程演示了如何:
在统信 UOS 上部署 Pure-FTPd;
配置虚拟用户及目录权限;
启用 TLS 加密保障数据安全;
使用 systemd 管理服务;
通过 FileZilla 测试连接;
无论你是运维新人,还是需要部署一套简洁高效的内部文件传输平台,这篇文章都能为你提供有力参考。欢迎点赞 | 在看 | 分享 | 关注我们,获取更多国产操作系统实用技巧!