通过设置 主配置文件里的 映射方式 使得客户端访问服务端时, 文件对应的账户映射的对
象,有时是 nobody ,有时 是 root 有时也可以是普通用户; UID,GID 也还、可以改 ~!!
[root@server ~]# vim /etc/exports
/nfsfile 192.168.229.128/24(rw,sync,all_squash)
修改为
===>>>
/nfsfile 192.168.229.128/24(rw,sync,root_squash)
我们 把前面的实验里稍微修改了一下, 把 映射账户里 all_squash 改为 root_squash
( 为本实验做准备 )
注意 :
上示操作的背后,就隐藏一个小问题,我们刚才是对 配置文件 进行了修改,那修改完
后,会不会生效呢 ??
===>>>
答案是不会的, 按照一般的常理,我们对配置文件进行了修改后,是需要重启服
务的( 或者就是,断开连接,重新连接上 )
但是,使其生效的方法也不是这样, 这里,是牵扯到挂载,所以,又有点不一样
我们在服务端对主配置文件进行了修改, 而之前呢( 之前的实验 ) 客户端已经将
服务端的远程目录挂载到本地了( 就代表着 客户端此时 正在使用服务端的远程目
录 ) 而你服务端现在把主配置文件修改了,那是不会生效的,因为客户端正在使
用这个主配置文件,所以是不能生效的~!!
那咋办?? 按照常理推
===>>>
那就是客户端卸载掉,重新在挂载下,这样 修改了主配置文件,就会生效了 ~!!
但是呢 , 这太麻烦了,
所以就引入 了要讲的 命令
===>>>
exportfs
该命令的作用就是
===>>>
修改了 主配置文件,但是有不需要卸载,直接就会使 主配置文件生效 ~!!
即 不卸载设备的情况下来更新配置文件使其生效 ~!!!!!
我们进行的操作就是
[root@server ~]# exportfs -arv
exporting 192.168.229.128/24:/nfsfile
我们待会儿再对 exportfs 命令进行讲解
[root@node1 ~]# cd /nfsfile_khd/
[root@node1 nfsfile_khd]# ll
total 4
-rwxrwxrwx 1 root root 15 Jul 11 00:45 readme
-rwxrwxrwx 1 nobody nobody 0 Jul 14 23:40 t1.txt
上示,即 使用 root 账户访问共享目录时,新建的文件会被映射为 nobody 账户
这里的新建文件就是 ( t1.txt ) 这是上个实验客户端所创建的文件~!!!
[root@node1 nfsfile_khd]# su rhce9
[rhce9@node1 nfsfile_khd]$ touch t2.txt
[rhce9@node1 nfsfile_khd]$ ll
total 4
-rwxrwxrwx 1 root root 15 Jul 11 00:45 readme
-rwxrwxrwx 1 nobody nobody 0 Jul 14 23:40 t1.txt
-rw-rw-r-- 1 rhce9 rhce9 0 Jul 17 23:17 t2.txt
这时,我们在客户端,切换成 普通用户 ( 即 从 root 用户 切换为 普通账户 rhce9 )
我们以 普通账户 的身份 创建了一个文件 t2.txt
我们再使用 LL 命令,来查看下 账户的映射关系
这时,就发现 对于 t2.xtxt 文件来说 , 其文件会被映射成 rhce9 账户
即 当客户端以普通账户的身份访问共享目录时,所创建的文件被映射的账户就是 普通账
户了 ~!
客户端访问服务端,默认使用 服务端 的映射账户为 nobody 账户( UID 与 GID 为 65534 )
可以修改映射 ID 值 , 实验如下 :
[root@server ~]# vim /etc/exports
/nfsfile 192.168.229.128/24(rw,sync,all_squash,anonuid=3000,anongid=3000)
[root@server ~]# exportfs -arv
exporting 192.168.229.128/24:/nfsfile
我们将 UID ,GID 进行了 修改,修改成我们想要指定的, 然后使用了 exportfs 进行生效
[rhce9@node1 nfsfile_khd]$ touch t3.txt
[rhce9@node1 nfsfile_khd]$ ll
total 4
-rwxrwxrwx 1 root root 15 Jul 11 00:45 readme
-rwxrwxrwx 1 nobody nobody 0 Jul 14 23:40 t1.txt
-rw-rw-r-- 1 rhce9 rhce9 0 Jul 17 23:17 t2.txt
-rw-rw-r-- 1 3000 3000 0 Jul 17 23:34 t3.txt
定位客户端,我们创建一个新文件,此时使用 LL 命令 列出来,就可以看到我们新建的 t3.txt 文
件其 账户映射即是 UID 和 GID 都是 3000 了~!
注 : 虽然,我们可以自定义 UID 或 GID ,但是建议 NFS 服务端 与 客户端 的UID 和 GID 最
好相同。
作用 : 在服务端上修改了 NFS 配置参数,此时需要重启服务,若此时客户端已经挂载,且
正在读写文件,若重启服务则会对数据产生影响,使用 exportfs 命令可以使得不用重
启服务,不用卸载设备,即可重新加载 NFS 的配置文件使其生效
格式 : exportfs -参数
参数 | 作用 |
-a | 全部挂载 |
-r | 重新挂载 |
-u | 卸载指定目录 |
-v | 显示已经共享目录 |
常用命令 : exportfs -arv