Admin 用户 SOP
本部分适用于
如果你负责后台配置、用户、部门的管理,这一章就是为你准备的。
你的工作重点:
- Virtual Folder 的定义(把服务器路径映射成用户看到的路径)
- Group 的结构与权限(部门权限管理)
- User 与 Group 的绑定关系(用户属于哪个部门)
你不负责:
- 服务器目录是否存在(这是服务器运维人员的工作)
- Linux 权限问题(这也是服务器运维人员的工作)
- 系统级维护操作(这是 System 用户的工作)
Admin 的职责边界(必须明确)
Admin 负责的是:
✅ Virtual Folder 的定义
- 创建 Virtual Folder,定义服务器路径到用户路径的映射
- 配置 Virtual Folder 的基本权限(list、upload、download 等)
✅ Group 的结构与权限
- 创建和管理 Group(部门)
- 将 Virtual Folder 绑定到 Group
- 配置 Group 对 Virtual Folder 的权限(可以覆盖 Virtual Folder 的权限)
✅ User 与 Group 的绑定关系
- 创建用户账号
- 将用户添加到相应的 Group
- 用户通过 Group 自动继承 Virtual Folder 权限
Admin 不负责:
❌ 服务器目录是否存在
- 如果服务器上目录不存在,你需要联系服务器运维人员创建
- 你只负责在 SFTPGo 后台配置,不负责服务器层面的目录创建
❌ Linux 权限问题
- 如果用户反映权限问题,而你的配置看起来都对,可能是 Linux 权限的问题
- 这种情况下需要联系服务器运维人员检查
❌ 系统级维护
- 系统初始化、服务重启等操作,需要联系 System 用户或服务器运维人员
SFTPGo 权限模型(快速回顾)
SFTPGo 的权限其实有三层,缺一层都不行:
- Linux 文件系统权限(服务器层面)
- Virtual Folder 配置(你负责)
- Group 权限(你负责)
任意一层不允许 = 用户无法访问
如果你在后台配置得再完美,但 Linux 权限不对,用户还是访问不了。反之,如果 Linux 权限正常,但你的配置有问题,用户也访问不了。
详细说明请参考 权限模型与核心概念。
推荐工作流:新部门上线标准流程
这是最重要的部分。当你需要为一个新部门创建共享目录时,按照这个流程走,不容易出错。
标准流程(5 步法)
第 1 步:确认服务器目录已创建
做什么:
- 联系服务器运维人员,确认服务器端目录已创建
- 获取完整的目录路径(如:
/srv/sftpgo/data/departments/tech/shared)
如何确认:
- 直接问服务器运维人员:"目录路径是什么?权限设置好了吗?"
- 如果目录还没创建,让运维人员先创建并设置权限
这一步完成后,你应该有:
- ✅ 完整的服务器目录路径
- ✅ 确认目录已创建且权限正确
第 2 步:创建 Virtual Folder
做什么:
- 登录 SFTPGo Admin UI
- 创建一个新的 Virtual Folder
操作步骤:
-
进入 Virtual Folders 页面
-
点击"新建 Virtual Folder"
-
设置配置项:
- Virtual Path:用户看到的路径(如:
/tech/shared)- 这是用户登录后在网盘中看到的路径
- 建议使用简洁、有意义的路径
- Mapped Path:服务器真实路径(如:
/srv/sftpgo/data/departments/tech/shared)- 这是第一步获得的服务器目录路径
- 必须完全一致,不要写错
- Virtual Path:用户看到的路径(如:
-
配置允许的操作(根据需求勾选):
list- 列出文件(通常必选)upload- 上传文件create_dirs- 创建目录delete_files- 删除文件(按需)delete_dirs- 删除目录(按需)rename- 重命名(按需)download- 下载文件(通常必选)
-
保存配置
重要提示:
- ⚠️ 创建完成 ≠ 用户可见
- Virtual Folder 创建后,用户还看不到
- 必须绑定到 Group,用户加入 Group 后才能看到
这一步完成后,你应该有:
- ✅ Virtual Folder 已创建
- ✅ Virtual Path 和 Mapped Path 配置正确
- ✅ 基本权限已设置
第 3 步:创建 Group(部门)
做什么:
- 创建一个新的 Group,代表这个部门
操作步骤:
-
进入 Groups 页面
-
点击"新建 Group"
-
设置 Group 名称(如:
tech-department)- 建议使用清晰的命名,便于识别
- 可以用部门名称或功能名称
-
绑定 Virtual Folder:
- 在 Group 配置中找到 Virtual Folders 部分
- 添加刚才创建的 Virtual Folder
- 选择这个 Virtual Folder
-
配置 Group 权限(可选):
- 可以再次限制 Virtual Folder 的操作权限
- 例如:Virtual Folder 允许 upload,但 Group 可以设置为只读
- 注意:Group 权限优先级高于 Virtual Folder
- 如果不需要特殊限制,保持默认即可
-
保存配置
这一步完成后,你应该有:
- ✅ Group 已创建
- ✅ Virtual Folder 已绑定到 Group
- ✅ Group 权限已设置(如果需要)
第 4 步:将 Virtual Folder 绑定到 Group
这一步其实在第 3 步已经完成了。但为了流程清晰,这里再强调一下:
做什么:
- 确保 Virtual Folder 已经添加到 Group 中
- 如果第 3 步已经完成,可以跳过
如何确认:
- 在 Group 配置页面,查看 Virtual Folders 列表
- 确认你创建的 Virtual Folder 在列表中
第 5 步:将用户加入 Group
做什么:
- 将需要访问这个目录的用户添加到 Group
- 用户加入 Group 后,会自动继承 Group 的所有 Virtual Folder 权限
操作步骤:
- 进入 Users 页面
- 找到需要配置的用户
- 编辑用户配置
- 在 Groups 部分,添加刚才创建的 Group
- 保存配置
批量添加用户:
- 如果有多个用户需要加入同一个 Group
- 可以逐个编辑用户,添加 Group
- 或者使用批量编辑功能(如果 SFTPGo 支持)
这一步完成后,你应该有:
- ✅ 用户已加入 Group
- ✅ 用户现在应该能看到 Virtual Folder
验证配置
完成上述 5 步后,建议验证一下配置是否正确:
-
让用户重新登录 SFTPGo
- 配置更新后,用户可能需要重新登录才能看到新目录
-
检查用户能否看到目录
- 用户登录后,应该能看到 Virtual Path 对应的目录(如:
/tech/shared)
- 用户登录后,应该能看到 Virtual Path 对应的目录(如:
-
检查用户权限是否正确
- 根据配置的权限,测试用户能否执行相应操作(上传、下载等)
-
如果有问题,查看 故障排查速查表
Virtual Folder 管理详解
Virtual Folder 的定位
Virtual Folder 说白了就是"映射",不是真正的目录。
它把服务器上的真实路径,映射成用户看到的一个虚拟路径。
举个例子:
- 服务器真实路径:
/srv/sftpgo/data/departments/tech/shared - 你创建 Virtual Folder,Virtual Path 设置为
/tech/shared - 用户登录后,看到的路径是
/tech/shared,但实际上访问的是服务器上的真实路径
Virtual Folder 不会做什么?
很多人会误以为 Virtual Folder 能自动创建目录,这是不对的:
- ❌ Virtual Folder 不会创建目录(需要在服务器层面先创建)
- ❌ Virtual Folder 不会修改服务器权限(这是 Linux 层面的工作)
- ❌ Virtual Folder 不会自动让用户看到(必须绑定到 Group 或 User)
Virtual Folder 创建流程
-
确认服务器目录已创建
- 联系服务器运维人员确认服务器端目录已创建
- 确认目录路径正确
-
进入 Admin UI
- 登录 SFTPGo 管理后台
-
新建 Virtual Folder
- 点击创建 Virtual Folder
-
设置配置项
- Virtual Path:用户看到的路径(如:
/tech/shared) - Mapped Path:服务器真实路径(如:
/srv/sftpgo/data/departments/tech/shared)
- Virtual Path:用户看到的路径(如:
-
配置允许操作
list- 列出文件upload- 上传文件create_dirs- 创建目录delete_files- 删除文件(按需)delete_dirs- 删除目录(按需)rename- 重命名(按需)download- 下载文件
-
保存配置
⚠️ 创建完成 ≠ 用户可见
必须绑定到 Group 或 User 才会生效。
Group 管理详解
Group 的核心作用
Group 是 权限与共享的唯一推荐管理入口。
推荐的关系结构:
Virtual Folder → Group → User
为什么不直接 Virtual Folder → User?
虽然技术上可以,但不推荐:
- 难以批量管理:如果部门有 20 个人,你就要给 20 个用户分别配置
- 容易出错:人工操作多了,漏掉谁、加错权限都是常见的事
- 不好扩展:新人加入部门,还要记得给他单独配置
用 Group 的好处:
- 一次配置,自动继承:Virtual Folder 绑定到 Group,用户加入 Group,自动获得权限
- 批量管理:改一个 Group 的权限,所有成员都生效
- 清晰的结构:一个 Group = 一个部门,一目了然
Group 创建流程
-
进入 Admin UI
- 登录 SFTPGo 管理后台
-
新建 Group
- 点击创建 Group
- 设置 Group 名称(如:
tech-department)
-
绑定 Virtual Folder
- 在 Group 配置中添加 Virtual Folder
- 选择已创建的 Virtual Folder
-
配置 Group 权限
- 可以再次限制 Virtual Folder 的操作权限
- 设置只读 / 可写
- Group 权限优先级高于 Virtual Folder
-
保存配置
User 与 Group 绑定
推荐方式:
- Virtual Folder 绑定到 Group
- User 加入 Group
- User 自动继承 Group 的所有 Virtual Folder 权限
操作步骤:
-
进入用户管理
- 选择需要配置的用户
-
添加到 Group
- 在用户配置中添加 Group
- 用户将自动继承 Group 的所有 Virtual Folder 权限
-
保存配置
Group 权限优先级
重要:Group 的权限优先级高于 Virtual Folder。
这是什么意思?
- Virtual Folder 可能允许
upload(上传) - 但 Group 可以覆盖这个权限,设置为"只读"
- 最终用户受到的限制,以 Group 的配置为准
这个设计很合理:Virtual Folder 定义"这个目录能做什么",Group 决定"这个部门在这个目录能做什么"。
User 可见目录规则
用户登录后可看到:
- 自己的
home_dir(用户个人目录) - 所属 Group 绑定的 Virtual Folder(部门共享目录)
- Linux 实际允许访问的路径
用户只能看到:
- 自己个人目录
- 自己所属 Group 绑定的 Virtual Folder
- Linux 层面允许访问的路径
如果用户看不到某个目录,检查:
- 用户是否加入了相应的 Group?
- Virtual Folder 是否绑定到了这个 Group?
- Linux 权限是否正常?
常见问题快速排查
情况 1:用户能看到目录但无法上传
检查顺序:
-
服务器目录是否可写
- 联系服务器运维人员检查 Linux 文件系统权限
- 确认 SFTPGo 运行用户对目录有写权限
- ✅ 如果这里有问题,后面都不用看了,先解决这个
-
Virtual Folder 是否允许 upload
- 检查 Virtual Folder 的权限配置
- 确认
upload权限已勾选
-
Group 是否限制了写权限
- 检查 Group 配置中是否覆盖了 Virtual Folder 的权限
- Group 权限优先级更高,如果 Group 设置为只读,即使 Virtual Folder 允许上传也不行
更多排查信息请参考 故障排查速查表。
情况 2:Virtual Folder 创建成功但用户看不到
检查顺序:
-
是否已绑定 Group
- 确认 Virtual Folder 已添加到 Group 中
-
用户是否加入该 Group
- 检查用户配置中是否包含该 Group
-
Virtual Path 是否填写正确
- 确认 Virtual Path 配置无误
-
让用户重新登录
- 配置更新后,可能需要重新登录才能看到新目录
更多排查信息请参考 故障排查速查表。
操作检查清单
完成配置后,可以用这个清单检查:
- 服务器目录是否已创建?(已联系运维确认)
- Virtual Folder 是否已创建?
- Virtual Path 和 Mapped Path 是否配置正确?
- Virtual Folder 的权限是否设置正确?
- Group 是否已创建?
- Virtual Folder 是否已绑定到 Group?
- Group 权限是否设置正确(如果需要)?
- 用户是否已加入 Group?
- 用户是否能正常访问目录?(已测试)
常见错误(避免这些错误)
- ❌ Virtual Folder 直接绑定到 User,不使用 Group
- ❌ 忽略服务器目录是否存在,直接创建 Virtual Folder
- ❌ 只配置 SFTPGo 权限,忽略 Linux 文件系统权限
- ❌ Group 权限配置过于宽松,导致安全风险
- ❌ 忘记将 Virtual Folder 绑定到 Group
- ❌ 未定期检查用户 Group 归属关系
- ❌ 在 Virtual Folder 创建前就配置 Group 和 User
- ❌ 不按照推荐流程操作,随意配置
风险提示
⚠️ 管理员操作影响系统安全和用户访问,请谨慎配置用户权限。
⚠️ 权限配置必须同时考虑 Linux 文件系统权限和 SFTPGo 内部权限,缺一不可。
⚠️ Group 权限优先级高于 Virtual Folder,配置时需注意。
⚠️ 修改权限配置后,建议测试验证用户实际访问情况。