linux中nfs存储权限,NFS权限管理 - 麦苗的个人空间 - OSCHINA - 中文开源技术交流社区...

对于NFS中权限管理的理解,首先需要熟悉Linux中关于文件或文件夹的访问控制策略,其次要认识NFS中服务器如何控制客户端的访问。

默认情况下,Linux对于文件或文件夹的权限管理分为所属者(ownuser)、所属组(owngroup)和其他(other)三类用户,可以分别对上述三类用户执行不同的访问控制策略,所谓访问策略主要指是否可读、是否可写、是否可执行,如图 1所示。由于对于某一具体文件或文件夹,其所属用户和所属用户组只能存在唯一的一个,所以Linux对于文件或文件夹的权限控制策略,无法满足对于其他用户或用户组的灵活配置。通过安装部署ACL(访问控制列表),可以增加权限给其他用户或组,而不局限于上述三种类型的用户,如图 2所示。例如,利用ACL可以允许指定的用户A、B、C拥有写权限而不再是让他们整个组拥有写权限。

0cada39c4384fa26f64edfca6702c443.png

图1 Linux中默认的访问控制策略

9f8e17ed90e6d30a36cf06e2d8f27817.png

图2 ACL提供的灵活访问控制策略

NFS服务器利用配置文件(一般是/etc/exports)实现客户端对于共享文件的访问控制。通过配置文件可以指定访问共享文件客户端的IP、客户端对文件夹的读写权限、是否对客户端用户的访问进行降级(将客户端用户对于共享文件夹的权限压缩成匿名用户,即Noboby用户的访问权限)。

4ad9a5ddf0a31b29d15e9e4dad652e4d.png

图3 NFS的权限访问举例说明环境

符合配置文件中条件的客户端可以通过挂载来实现对文件的访问,但是能否真正的读写文件需要根据客户端中所登录用户的uid和gid是否在服务器端中存在一致用户来能决定。如图 3所示,假设NFS服务器端配置为只对root用户实施权限压缩,并且服务器端对于各个用户的文件访问权限如表格1所示,那么客户端中各个用户对于共享文件夹的访问权限如表格 2所示。

客户端中root用户对于共享文件夹没有读写的访问权限,是因为NFS服务器配置文件中添加了对root用户的权限压缩,导致root用户对于文件夹的访问权限与服务器端的Nobody用户一致。其他用户对于共享文件夹的访问权限是由其uid与gid决定的,而不是账号名称决定。客户端中的Tom账号的uid与服务器端的Tom账号的uid一致,所以客户端中Tom用户对于共享文件夹的访问权限与服务器端的Tom账户是一致。同理,由于客户端中的Gary与服务器端的Fred用户的uid一致,所以Gary对于共享文件夹的访问权限与服务器端的Fred用户对于共享文件夹的访问权限是一致的。

表格1 服务器端共享文件夹的访问权限

2485e6d11c2025e54951223a4bbfa8f7.png

表格2 客户端共享文件夹的访问权限

97cc7af0cf8ee2fd9b13514432d3feaa.png

在实际的应用中,无法保证客户端中账户、uid、gid与服务器端的一致性,所以无法仅仅通过账户名称来控制Linux中nfs客户端对于共享文件夹的访问。在必须要求使用账户名称来控制权限的环境,需要通过配置NIS服务器来保证多个Linux主机中账户的一致性。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值