跳转至

用户主目录 (User Home) 深度指南:权限与陷阱

很多用户开启“用户主目录”只是为了用 Drive 或 Photos,但对 homehomes 的关系一知半解,导致权限混乱,甚至数据泄露。

1. home vs homes:傻傻分不清楚?

这是 DSM 最容易混淆的概念。

  • homes (物理文件夹)
    • 位置/volume1/homes
    • 性质:它是所有用户数据的总仓库
    • 权限只有管理员 (administrators) 能访问
    • 结构
      /volume1/homes/
      ├── admin/
      ├── zhangsan/
      ├── lisi/
      └── wangwu/
      
  • home (虚拟映射)
    • 位置:DSM 界面看到的“我的文件”。
    • 性质:它不是一个真实的文件夹,而是一个动态链接
    • 逻辑:当“张三”登录时,系统把 /volume1/homes/zhangsan 映射为 home 给张三看。
    • 权限只有用户自己 (Owner) 能访问

2. 致命权限陷阱 (Permission Trap)

千万不要手动修改 homes 的权限!

  • 错误操作:有些管理员觉得“我要把 homes 分享给大家”,于是右键 homes > 属性 > 赋予 users 组读取权限。
  • 后果灾难性的。张三登录后,不仅能看到自己的 home,还能进入 homes 看到李四、王五的所有私密照片和文档。
  • 修复:如果你已经手贱改了,请立即:
    1. 控制面板 > 用户与群组 > 高级设置 > 用户主目录。
    2. 取消勾选“启用用户主目录服务”,保存。
    3. 再次勾选“启用”,保存。
    4. 系统会重置 /volume1/homes 的默认权限(即 777 但限制 Sticky Bit,确保用户只能删自己的文件)。

3. 迁移主目录 (Move Homes)

你的存储空间 1 (HDD) 满了,想把几 TB 的用户数据迁移到存储空间 2 (SSD)?

  • 错误做法:在 File Station 里直接把 homes 文件夹剪切粘贴到另一个卷。这会导致数据库和服务崩溃
  • 正确做法
    1. 控制面板 > 用户与群组 > 高级设置 > 用户主目录。
    2. 存储位置:从“存储空间 1”下拉选择“存储空间 2”。
    3. 点击“应用”。
    4. 系统会自动在后台搬运数据。期间 Drive 和 Photos 服务会暂停。

4. SSH 下的家目录 (Shell Home)

对于玩 Docker 或脚本的高级用户:

  • 普通用户:SSH 登录后,默认位于 /var/services/homes/用户名
  • root 用户:SSH 登录后,默认位于 /root
    • 注意/root 目录在 DSM 升级时会被重置
    • 技巧:如果你写了脚本或存放了 docker-compose.yml千万别放在 /root
    • 建议:放在 /volume1/homes/admin/scripts/ 下,然后用软链接映射过来,或者每次 cd 过去。

5. 回收站策略 (Recycle Bin)

homes 文件夹的回收站逻辑很特殊。

  • 启用:控制面板 > 共享文件夹 > 编辑 homes > 启用回收站。
  • 可见性
    • 用户在自己的 home 里删了文件,去哪找?
    • 他需要在 File Station 里点击 home > #recycle
    • 注意:如果管理员在 homes 根目录启用回收站,并限制“仅管理员可访问”,那么普通用户删了文件自己是找不回的,必须求助管理员去 /volume1/homes/用户名/#recycle 里捞。
    • 建议:对于 homes不要勾选“仅限管理员访问回收站”,否则会增加管理员的工作量。

6. 清理残留数据 (Orphaned Data)

当你删除了用户“李四”后,他的数据去哪了?

  • 默认行为:DSM 会询问是否删除该用户的主目录文件。
  • 如果你选了保留
    • 文件依然在 /volume1/homes/lisi
    • 但是因为用户 ID (UID) 没了,这些文件的拥有者变成了数字(如 1026)。
    • 清理:管理员定期检查 /volume1/homes,手动删除这些离职员工的文件夹,释放空间。

7. home 目录下的隐藏文件

  • @eaDir:群晖的缩略图索引文件夹。每个有图片的目录下都有。
  • .SynologyWorkingDirectory:Drive 的工作目录。
  • .SSH:如果你配置了 SSH Key 免密登录,密钥就在这里。
    • 权限要求:SSH 对权限极度敏感。如果你发现免密登录失败,请检查:
      chmod 755 /volume1/homes/user
      chmod 700 /volume1/homes/user/.ssh
      chmod 600 /volume1/homes/user/.ssh/authorized_keys