零基础搭建 FTP 文件传输服务|统信 UOS 下 Pure-FTPd 配置详解

原文链接:「链接」

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 定义一个新的服务启动方式。



  1. 编辑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 测试连接;

无论你是运维新人,还是需要部署一套简洁高效的内部文件传输平台,这篇文章都能为你提供有力参考。欢迎点赞 | 在看 | 分享 | 关注我们,获取更多国产操作系统实用技巧!

原文链接:,转发请注明来源!