SFTPGo配置指南
SFTPGo 是一种高效、可扩展且事件驱动的文件传输解决方案。它不仅支持多种传输协议,还提供了强大的统一管理面板。
- 多存储后端:支持本地磁盘、S3 兼容对象存储、Google Cloud Storage、Azure Blob 等。
- 多协议支持:SFTP, SCP, FTP/S, WebDAV, HTTP/S。
- 事件驱动:支持在文件上传、下载等事件触发时执行自定义操作。
- 统一管理:提供功能丰富的 Web 后端,用于管理用户、分组、虚拟目录及带宽配额。
2. 安装与管理
Section titled “2. 安装与管理”2.1. 操作系统安装
Section titled “2.1. 操作系统安装”2.1.1. Ubuntu (PPA)
Section titled “2.1.1. Ubuntu (PPA)”sudo add-apt-repository ppa:sftpgo/sftpgosudo apt updatesudo apt install sftpgo2.1.2. CentOS (Yum)
Section titled “2.1.2. CentOS (Yum)”ARCH=`uname -m`curl -sS https://ftp.osuosl.org/pub/sftpgo/yum/${ARCH}/sftpgo.repo | sudo tee /etc/yum.repos.d/sftpgo.repoyum updateyum install sftpgo2.2. 服务管理
Section titled “2.2. 服务管理”使用 systemctl 对服务进行常规操作:
systemctl start sftpgosystemctl status sftpgosystemctl restart sftpgo3. 核心配置
Section titled “3. 核心配置”3.1. 配置文件调整 (/etc/sftpgo/sftpgo.json)
Section titled “3.1. 配置文件调整 (/etc/sftpgo/sftpgo.json)”{ "httpd": { "bindings": [ { "port": 8080 // Web 管理后台与客户端端口 } ] }, "data_provider": { "driver": "sqlite", // 数据库驱动,默认为 sqlite,也可选择 mysql/pgsql "name": "/var/lib/sftpgo/sftpgo.db" }, "sftpd": { "bindings": [ { "port": 2022, // SFTP 服务监听端口 "address": "", "apply_proxy_config": true } ] }}3.2. 存储目录准备
Section titled “3.2. 存储目录准备”# 创建物理存储根目录mkdir -p /data/sftpgochown sftpgo:sftpgo /data/sftpgo/4. 用户管理初始化
Section titled “4. 用户管理初始化”- 管理员设置:访问
http://[IP地址]:8080/web/admin/setup初始化管理员账号。 - 创建主管理员用户:
- 用户名:
[管理员A] - 家目录:
/data/sftpgo/
- 用户名:
- 创建子用户:
- 用户名:
[用户X] - 家目录:
/data/sftpgo/home/[用户X]
- 用户名:
- 目录结构规范:
- 在主管理员账号下通过 Web 客户端创建
home/文件夹。 - 最终结构应为:
/data/sftpgo/home/[用户X],确保主管理员可统一审计,子用户仅访问其特定空间。
- 在主管理员账号下通过 Web 客户端创建