使用AFS, Active Directory和SSSD搭建用于集成电路设计的分布式存储系统 【七】AFS的工作原理 5

本文深入探讨了AFS(Andrew File System)的访问控制机制,包括基本的权限类型如“l”(查询)、“i”(插入)、“d”(删除)等,以及如何使用这些权限来管理目录的访问。AFS通过ACL控制目录权限,并强调了“l”权限的重要性,它是其他所有权限的基础。此外,文章还介绍了AFS组的概念,以及它们在简化权限管理中的作用。
摘要由CSDN通过智能技术生成

AFS访问控制的基础知识

在之前的文章里我们已经介绍过 AFS 访问控制的工作原理。简要总结一下:

  • AFS 通过定义在目录上的 ACL 控制目录的访问权限。ACL 随目录存储在 Volume 里。
  • AFS 通过 Protection Database Server 存储用户和组的信息。
  • Cache Manager 访问一个目录时,File Server 从token里提取用户的身份信息,从 Protection Database Server 里查询用户所属的组,然后和目录的 ACL 比较,确定用户的访问权限。

为了给予某个用户访问一个文件的权限,可以将这个文件放入一个该用户可以访问的目录里。为了取消用户访问一个文件的权限,或者将该文件从用户可以访问的目录里移除,或者修改该文件所在目录的 ACL.

用户可以使用命令 “fs la” 来查询一个目录的ACL

fs la path

其中 “la” 是 “listacl” 的缩写。比如

ximeng@eda001:~$ fs la /afs/company.com/u1/ximeng
Access list for /afs/company.com/u1/ximeng is
Normal rights:
  system:administrators rlidwka
  system:authuser l
  ximeng rlidwka

上面这个例子里显示了目录 /afs/company.com/u1/ximeng 的 ACL。这个 ACL 里有三条记录。每一条记录由前后两部分做成,前部是记录适用的对象,比如 ximeng, 后部是记录的权限,比如 rlidwka.

AFS 用于标记权限的字母和 Linux/Unix mode bit 不太一样。ACL 里的权限更多。我们先用人类语言来解释一下上面三条记录的意义,然后再正式介绍权限编码的意义。

第一条记录

system:administrators rlidwka

给予了一个特殊组 AFS 定义的所有7种权限。这个组叫 system:adminstrators,它包含了 AFS 所有系统管理员的账号。这 7 种权限用字母编码形式记为 rlidwka.

第二条记录

system:authuser l

给予了另一个特殊组 “l” (查询)权限。这个组叫 system:authuser,它包含了AFS Cell 的所有注册用户。

第三条记录

ximeng rlidwka 

给予了用户 ximeng 系统定义的所有 7 种权限。这个授权很好理解,ximeng 应该对自己的个人目录有所有权限。

“l” 权限是什么意思呢?它给予了一个用户 “cd” 进入该目录的权限。也就是说它类似于Linux里目录的 ”x” 权限。仅仅拥有 ”l” 权限不足以读取目录下文件的内容,但可以查看目录下的文件名。

AFS 的一个重要规则:为了给予一个用户或组访问一个目录的权限,必须保证这个用户或组对该目录的所有父目录都至少有 “l” 权限,一直到第一级目录 /afs 为止。

比如,如果你希望给予用户 alice 访问你的个人目录下某个子目录 ~/a/b 的权限,那么你需要保证 alice 对 ~/ 和 ~/a 都至少有 “l” 权限。

正是因为存在上面这个规则,所以在大部分 AFS Cell 的部署策略里,系统管理员在创建用户个人目录时都会在其 ACL 里添加一条记录,给予system:authuser这个组 ”l” 权限,以便用户可以将其子目录进一步开放给其他用户。

如果采取了上述策略,系统管理员应该给予普通用户足够的提示。用户不应该将敏感信息包含在其个人目录下的文件名里。如果非要这样做,用户需要自己取消个人目录 ACL 里给予 system:authuser 的 ”l” 权限,或者将这些文件放入一个子目录里,然后在子目录的ACL里取消 system:authuser 的 ”l” 权限。

除了给予用户进入目录列举文件的权限,”l” 还给予用户列举 ACL 的权限。即用户需要有 “l” 权限,才能对一个目录使用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值