NFS权限管理

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

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

linux中的默认访问控制策略

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

ACL的灵活访问控制

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

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

 

举例说明NFS中的权限控制

图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 服务器端共享文件夹的访问权限
服务端共享文件夹访问权限

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

客户端对于共享文件夹的访问权限

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

转载于:https://my.oschina.net/u/1383139/blog/878083

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值