NFS服务6---四种情况的权限实验
我们在《NFS服务2—权限说明》中提到过这四种权限,本篇就具体演示这个效果。
一、 客户端和服务器都有相同的UID、用户名、用户组、密码
这种情况下,客户端是什么用户登陆,服务器端就是什么。
1、服务器
首先在服务器上添加一名用户:useradd -u 2000 test1
更改密码:passwd test1
实验环境下为了让所有人都有w的权限,我把这两个NFS共享目录的权限设置为777。
2、客户端
创建用户
查看服务器nfs的共享
挂载
切换用户test1,创建文件abc
回头看看服务器的权限
证明客户端是什么用户,服务器就映射为什么用户,验证成功。
二、客户端和服务器拥有相同的uid,但是用户名不同。
这是比较容易出现的一种情况,比如客户端有用户为a1(UID:1000),服务器有用户为b1(UID:1000),在Client上访问Server共享目录时,身份被识别为b1,因为权限绑定在UID上。比如说服务器共享的NFS目录是/nfs_share,客户端需要挂载共享目录才能正常使用,假设这个挂载目录为/s_nfs,客户端查看/s_nfs目录下文件权限时所有者所属组为a1,而在服务器上查看/nfs_share目录下文件,身份为b1。
1、服务器
服务器这边不改变任何配置
2、客户端
把原先的用户删除:userdel -r test1
重新建立uid为2000的用户tk:useradd -u 2000 tk
更改密码:passwd tk
挂载:mount -t nfs 10.1.2.69:/home/test /home/client
切换用户,创建文件tk1,文件的所有者和所属组是tk。
服务器这边,tk1文件的所有者和所属组是test1,验证成功。
三、服务器没有客户端对应的uid,自动映射为nfsnobody(uid:65534)用户。
1、服务器
服务器不更改任何配置
2、客户端
新建uid为3000的t1用户,如下图:
服务器这边则会找不到UID为3000的所有者和所属组
一般情况下是映射为nfsnodody或者是nobody,但我这个是属于特殊的情况,也就是客户端创建文件的身份还是没有改变,服务器没有对应的用户。
四、客户端root的映射
1、服务器
配置文件如下:
在/home/test会被映射为nobody或者nfsnobody,而/home/soft会被映射为root。
2、客户端
直接用root登陆,达到了最终的效果。
服务器的则如下: