栏目分类
首页 > 信息资讯
零基础搭建 FTP 文件传输服务|统信 UOS 下 Pure-FTPd 配置详解
零基础搭建 FTP 文件传输服务|统信 UOS 下 Pure-FTPd 配置详解

01

图片

查看系统信息

图片




pdsyw@pdsyw1024:~/Desktop$ cat /etc/os-version
pdsyw@pdsyw1024:~/Desktop$ uname -a

作用

确认当前系统平台(如统信 UOS)和内核架构信息(如 ARM64),便于判断软件兼容性和安装策略。



02

图片

安装pure-ftpd

图片



pdsyw@pdsyw1024:~/Desktop$ sudo apt install pure-ftpd

作用

通过 APT 包管理器安装 pure-ftpd 服务端程序,它是一个轻量、高性能、安全的 FTP 服务软件。





03

图片

启用虚拟用户支持

图片




pdsyw@pdsyw1024:~/Desktop$ echo "yes" | sudo tee /etc/pure-ftpd/conf/ChrootEveryoneyes
pdsyw@pdsyw1024:~/Desktop$ echo "/etc/pure-ftpd/pureftpd.pdb" | sudo tee /etc/pure-ftpd/conf/PureDB/etc/pure-ftpd/pureftpd.pdb

作用

ChrootEveryone=yes:限制用户只能访问自己的主目录,防止跨目录访问,提高安全性;

PureDB:指定虚拟用户使用的数据库路径,用于虚拟用户身份验证。





04

图片

创建系统用户及上传目录

图片



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,以确保文件权限和访问安全。





05

图片

创建 Pure-FTPd 虚拟用户

图片




pdsyw@pdsyw1024:~/Desktop$ sudo pure-pw useradd testftp -u ftpuser -d /ftp/uploadsPassword:Enter it again:
pdsyw@pdsyw1024:~/Desktop$ sudo pure-pw mkdb

作用

创建一个名为 testftp 的虚拟 FTP 用户,绑定到 /ftp/uploads;

虚拟用户对应的实际文件访问由 ftpuser 系统用户来执行;

pure-pw mkdb 命令将虚拟用户信息写入数据库文件 /etc/pure-ftpd/pureftpd.pdb。





06

图片

启用 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 表示不加密私钥,方便服务自动加载。





07

图片

设置权限

图片

pdsyw@pdsyw1024:~/Desktop$ sudo chmod 600 /etc/ssl/private/pure-ftpd.pem

作用

确保 TLS 私钥文件只有 root 可读,避免被非授权用户访问,从而保障通信安全。





08

图片

生成 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 位的密钥交换参数文件。





09

图片

关闭pure-ftpd服务

图片


pdsyw@pdsyw1024:~/Desktop$ sudo systemctl stop pure-ftpd
pdsyw@pdsyw1024:~/Desktop$ sudo systemctl disable pure-ftpd

作用

防止系统自带的默认配置干扰后续自定义配置。我们将通过 systemd 定义一个新的服务启动方式。





10

图片

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

此文章出处【鹏大圣运维】

地址:福州市晋安区福新中路89号时代国际广场917-918室

闽ICP备18013712号-2