上云无忧 > 文档中心 > 百度智能云文件存储CFS为不同目录设置不同的用户权限
文件存储CFS
百度智能云文件存储CFS为不同目录设置不同的用户权限

文档简介:
在很多情况下,一个公司或组织内部的不同职能部门、业务需要共享数据,同时赋予不同的权限以保证数据的安全性。这个时候,用户希望像使用本地文件系统那样,为不同的用户设置不同的访问权限。
*此产品及展示信息均由百度智能云官方提供。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠

问题背景

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

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。命令和示例输出如下:
[root@test-cfs ~]# useradd cfs [root@test-cfs ~]# id cfs uid=500(cfs) gid=500(cfs) groups=500(cfs)
  1. 通过 usermode 和 groupmode 命令修改 cfs 账户的 UID 和 GID 到一个预先设定的值,例如 888。命令和示例输出如下:

[root@test-cfs ~]# usermod -u 888 cfs [root@test-cfs ~]# groupmod -g 888 cfs [root@test-cfs ~]#
 id cfs uid=888(cfs) gid=888(cfs) groups=888(cfs)

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

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

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

修改前:

修改后:

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

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

修改前:

修改后:

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

创建初始目录

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


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


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

相似文档
  • 一些情况下,用户有跨账号、区域使用文件系统的需求。典型的场景如下: 用户有好几个百度云账号,一个账号购买了 CFS,想要共享给另外一个用户使用; 用户在一个地域购买了文件系统,想从另外一个地域访问。
  • 本文档介绍如何使用SFTP上传和下载CFS文件系统上的数据。 前提条件: 在CFS文件系统所在地域,已购买云服务器BCC实例(以下介绍将以CentOS操作系统为例),详细请参见创建BCC实例。
  • 本文档提供了一种基于rsync的数据同步方案,帮助用户将存储在本地机房、其它云厂商的文件系统数据备份或迁移到百度智能云CFS中。 以下假设被同步的文件系统已经挂载在一台或者多台服务器上,路径为/old_fs。
  • 欢迎使用百度智能云文件存储CFS,您可以使用API对CFS做灵活的操作。如果您对CFS还不太了解,请参考核心概念和应用场景。 如果您是初次调用百度智能云产品的API,可以观看API入门视频指南,快速掌握调用API的方法。
  • API调用遵循HTTP协议,各Region采用不同的域名,具体域名为cfs.{region}.baidubce.com。 数据交换格式为JSON,所有request/response body内容均采用UTF-8编码。URL参数中所使用的fsId为文件系统唯一资源标识
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部