为不同目录设置不同的用户权限

文件存储 CFS

  • 动态与公告
    • 功能发布记录
    • 产品公告
      • 关于CFS监控指标调整公告
  • 产品描述
    • 产品介绍
    • 基本概念
    • 产品特性
    • 产品规格
    • 使用限制与建议
    • 应用场景
    • 选型指导
      • 如何选择CFS和PFS
      • 如何选用CFS、BOS和CDS
  • 产品定价
    • 按需计费
    • 存储包计费
    • 余额不足提醒和欠费处理
    • 计费案例
  • 快速入门
    • 入门概述
    • 快速入门(Linux)
    • 快速入门(Windows)
  • 操作指南
    • 开通服务
    • 管理文件系统
      • 创建文件系统
      • 删除文件系统
      • 查看文件系统详情
      • 设置文件系统容量上限
    • 挂载访问
      • 添加挂载点
      • BCC挂载与卸载CFS
        • Linux系统挂载与卸载
          • 单台BCC挂载与卸载SMB协议CFS
          • 多台BCC批量挂载与卸载NFS协议CFS
          • 单台BCC挂载与卸载NFS协议CFS
        • Windows系统挂载与卸载SMB协议CFS
        • 新购BCC时挂载CFS文件系统
      • CCE使用CFS
    • 权限组管理
    • 多用户访问控制
    • 数据加密
    • 管理标签
    • 备份
    • 监控与报警
      • 查看监控
      • 报警管理
      • 指标含义
    • 云审计
  • 典型实践
    • 为不同目录设置不同的用户权限
    • 跨地域或账号使用文件系统
    • 使用SFTP上传下载CFS文件系统数据
    • 使用rsync从旧文件系统同步到CFS文件系统
    • 使用Terraform管理CFS最佳实践
    • 性能测试方法
      • Linux系统性能测试方法
      • Windows系统性能测试方法
  • API参考
    • API功能更新记录
    • API概述
    • 接口概览
    • 通用说明
    • 服务域名
    • 错误码
    • 文件系统相关接口
      • 创建文件系统
      • 更新文件系统
      • 查询文件系统
      • 查询挂载客户端
      • 释放文件系统
      • 更新文件系统标签
    • 挂载点相关接口
      • 创建挂载点
      • 查询挂载点
      • 删除挂载点
    • 数据类型
  • Go-SDK
    • 概述
    • 初始化
    • 文件系统
    • 挂载点
    • 错误处理
  • 常见问题
    • 常见问题总览
    • 一般类问题
    • 计费类问题
    • NFS协议问题
    • SMB协议问题
  • 服务等级协议SLA
    • CFS服务等级协议(SLA)
所有文档
menu
没有找到结果,请重新输入

文件存储 CFS

  • 动态与公告
    • 功能发布记录
    • 产品公告
      • 关于CFS监控指标调整公告
  • 产品描述
    • 产品介绍
    • 基本概念
    • 产品特性
    • 产品规格
    • 使用限制与建议
    • 应用场景
    • 选型指导
      • 如何选择CFS和PFS
      • 如何选用CFS、BOS和CDS
  • 产品定价
    • 按需计费
    • 存储包计费
    • 余额不足提醒和欠费处理
    • 计费案例
  • 快速入门
    • 入门概述
    • 快速入门(Linux)
    • 快速入门(Windows)
  • 操作指南
    • 开通服务
    • 管理文件系统
      • 创建文件系统
      • 删除文件系统
      • 查看文件系统详情
      • 设置文件系统容量上限
    • 挂载访问
      • 添加挂载点
      • BCC挂载与卸载CFS
        • Linux系统挂载与卸载
          • 单台BCC挂载与卸载SMB协议CFS
          • 多台BCC批量挂载与卸载NFS协议CFS
          • 单台BCC挂载与卸载NFS协议CFS
        • Windows系统挂载与卸载SMB协议CFS
        • 新购BCC时挂载CFS文件系统
      • CCE使用CFS
    • 权限组管理
    • 多用户访问控制
    • 数据加密
    • 管理标签
    • 备份
    • 监控与报警
      • 查看监控
      • 报警管理
      • 指标含义
    • 云审计
  • 典型实践
    • 为不同目录设置不同的用户权限
    • 跨地域或账号使用文件系统
    • 使用SFTP上传下载CFS文件系统数据
    • 使用rsync从旧文件系统同步到CFS文件系统
    • 使用Terraform管理CFS最佳实践
    • 性能测试方法
      • Linux系统性能测试方法
      • Windows系统性能测试方法
  • API参考
    • API功能更新记录
    • API概述
    • 接口概览
    • 通用说明
    • 服务域名
    • 错误码
    • 文件系统相关接口
      • 创建文件系统
      • 更新文件系统
      • 查询文件系统
      • 查询挂载客户端
      • 释放文件系统
      • 更新文件系统标签
    • 挂载点相关接口
      • 创建挂载点
      • 查询挂载点
      • 删除挂载点
    • 数据类型
  • Go-SDK
    • 概述
    • 初始化
    • 文件系统
    • 挂载点
    • 错误处理
  • 常见问题
    • 常见问题总览
    • 一般类问题
    • 计费类问题
    • NFS协议问题
    • SMB协议问题
  • 服务等级协议SLA
    • CFS服务等级协议(SLA)
  • 文档中心
  • arrow
  • 文件存储CFS
  • arrow
  • 典型实践
  • arrow
  • 为不同目录设置不同的用户权限
本页目录
  • 问题背景
  • 统一用户的 UID 和 GID
  • 创建初始目录

为不同目录设置不同的用户权限

更新时间:2025-08-21

问题背景

在很多情况下,一个公司或组织内部的不同职能部门、业务需要共享数据,同时赋予不同的权限以保证数据的安全性。这个时候,用户希望像使用本地文件系统那样,为不同的用户设置不同的访问权限。

NFS 协议支持 UNIX 风格的权限认证机制,是以 UID、GID,而不是用户名、组名来进行权限验证的。因此,如果从两个不同的虚拟机访问 CFS 文件系统,根据用户的 UID 在这些虚拟机上是相同还是不同,会有不同的体验:

  • 如果两个虚拟机上同一用户的 UID 相同,CFS 会将其视为同一用户;
  • 如果两个虚拟机上同一用户的 UID 不相同,则 CFS 会将其视为不同的用户;
  • 如果不同虚拟机上,两个不同用户的 UID 相同,则 CFS 会将其视为同一个用户。

除了极个别特殊的用户(如 root),不同机器上同一用户的 UID、GID 大概率是不一样的。所以,需要做一些特别的设置,以使访问权限能够正确工作。

统一用户的 UID 和 GID

您可以按照以下方法在每个虚拟机上设置 UID 和 GID:

方法一:使用 usermode 和 groupmode 修改 UID 和 GID

  1. 如果用户不存在,创建用户,假设要创建的用户名字为 cfs,并通过 id 命令查看 UID 和 GID。命令和示例输出如下:
Shell
1[root@test-cfs ~]# useradd cfs
2[root@test-cfs ~]# id cfs
3uid=500(cfs) gid=500(cfs) groups=500(cfs)
  1. 通过 usermode 和 groupmode 命令修改 cfs 账户的 UID 和 GID 到一个预先设定的值,例如 888。命令和示例输出如下:
Shell
1[root@test-cfs ~]# usermod -u 888 cfs
2[root@test-cfs ~]# groupmod -g 888 cfs
3[root@test-cfs ~]# id cfs
4uid=888(cfs) gid=888(cfs) groups=888(cfs)

方法二:直接修改 /etc/passwd 和 /etc/group 文件

第一个步骤和方法一一样,创建用户,创建完之后,分别打开 /etc/passwd 和 /etc/group 编辑。

vi /etc/passwd,找到其中 cfs 用户所在的行,修改 UID 和 GID。

修改前:

Snipaste_2019-07-24_15-24-21.jpg

修改后:

Snipaste_2019-07-24_15-25-14.jpg

输入 :wq 退出编辑模式并保存修改。

vi /etc/group,找到其中 cfs 用户所在的行,修改其所在的组。

修改前:

Snipaste_2019-07-24_15-30-58.jpg

修改后:

Snipaste_2019-07-24_15-31-25.jpg

输入 :wq 退出编辑模式并保存修改。

创建初始目录

默认情况下,只有 ROOT 用户可以创建目录和文件。所以,还需要以 root 账户为创建每个用户设置自己的根目录,并 chown 修改权限后,用户才能以自己的身份才能使用。示例代码如下(假设挂载点为 /mnt):

Shell
1[root@test-cfs ~]# mkdir /mnt/cfs
2[root@test-cfs ~]# chown -R cfs:cfs /mnt/cfs
3[root@test-cfs ~]# ls -l /mnt/
4total 8
5drwxr-xr-x 2 cfs  cfs  4096 Jul 24 15:38 cfs
6drwxr-xr-x 2 root root 4096 Jul 24 15:39 root

内核禁止使用非 root 用户挂载文件系统,所以在用户使用之前,仍然需要先以 root 账号挂载文件系统。这个步骤可以通过“自动挂载”来实现自动化。同时挂载的时候,可以直接以用户的根目录路径挂载,将使用范围局限到用户自己。

上一篇
操作指南
下一篇
跨地域或账号使用文件系统