NFS

来源:互联网 发布:mac 10.12.6 编辑:程序博客网 时间:2024/06/06 11:40

插话:

这里写图片描述

1.安装

服务端(IP:172.25.254.108):yum install nfs-utils -y systemctl start nfssystemctl enable nfs-serversystemctl stop firewalld
客户端(IP:172.25.254.208):

2.基础测试

服务端:mkdir /westosshare    ##将此新建目录作为共享目录进行测试touch /westosshare/westosfile{1..3}   ##便于实验效果
vim /etc/exports               ##NFS强大之处在于他的使用相当的简单,直接编辑配置文件,将所想要共享的目录,按照格式将接受方的个人用户(具体IP)或者群体用户(某一网段或者*)及其接受方式直接写进去即可##下面我们将共享本机/westosshare目录/westosshare   *(sync)                   ##访问权限给任意用户/westosshare   172.25.254.0/24(sync)     ##访问权限给172.25.254.0/24此网段的用户/westosshare   172.25.254.208(sync)      ##访问权限给指定208用户

这里写图片描述

至此,服务端便完成了所有的配置,我们可以在客户端进行查看共享是否真的成功:showmount -e 172.25.254.108

这里写图片描述

查看共享成功后,便可以在客户端进行挂载了~mount 172.25.254.108:/westosshare /mnt/##将服务端(172.25.254.108)的共享目录/westosshare挂载到客户端(172.25.254.208)的/mnt/##注意:此时在客户端(172.25.254.208),挂载成功后,进入到挂载点/mnt下,查看可知,确实为服务端共享的目录文件

这里写图片描述

至此,客户端便可以进行查看了!然而,也仅仅只是如此而已。毕竟,上面实验中服务端在编辑/etc/exports文件的操作中,并没有给客户端更多的权限,只有,sync:同步数据不信?那不妨来操作一下~
vim /mnt/westosfile1                      ##此文件类型为readonly

这里写图片描述

即使强制执行保存(wq!)也是无济于事的~
这里写图片描述

rm -rf /mnt/westosfile2                    ##无法删除,提示为readonly

这里写图片描述

所以,接下来,我们就要在服务端进行一些配置文件的修改,以保证客户端可以进行某些特定操作。在此之前,你不需要取消挂载。因为,在服务端执行的exportfs -r : reload可以允许在线挂载

服务端:vim /etc/exports          ##在权限设置中,加上rw (ro:只读 rw:读写)

这里写图片描述

此时的客户端在进行之前的编辑、删除等操作,便不会再受影响了~

这里写图片描述
第一次编辑文件的时候,可能依然会显示为readonly,直接忽略,需要执行wq!
往后的编辑则不会受到任何的影响了~
这里写图片描述

  那么,又有新的问题了,创建的新的文件的所属权到底属于谁,如果时客户端的执行者。那么,在服务端进行查看时,没有这个用户的话,那又该如何解释?我想,唯一的解决方案就是用ID来锁定用户,有此ID,则将文件所有人赋给此用户,每台主机都遵循自己的原则,没有此ID,则显示为nobody之类的区别于已经存在的用户的标志性   下面就让我们用事实说话,验证我们的猜想:
 为了保证实验的操作不受目录权限的限制,我们第一步要做的是:   chmod 777 /westosshare              ##在服务端进行操作   exportfs -rv                        ##刷新共享记录

这里写图片描述

服务端以root身份新建文件/mnt/westosfile2:cd /mnt/touch /westosfile2              ls -l                                   ##查看用户身份为nfsnobody

这里写图片描述

   事实结果否定了我们之前的猜想,在NFS文件共享的过程中,不论你是谁,文件所有人所有组均显示为:nfsnobody。   这样的操作可是很不爽啊~ 文件谁建的都不知道,听着都有些害怕。   所以,我们要继续在服务端进行配置文件的修改~   其中,anonuid=1000表示以当前主机中ID为1000的用户身份进行

这里写图片描述

创建新的文件,查看文件所属人,所属组是否发生变化模板如下:no_root_squash         ##root身份执行时,显示root身份anonuid=1000           ##以本机所有人ID为1000的用户身份进行anongid=1000           ##以本机所有组ID为1000的用户身份进行

具体实验如下:
这里写图片描述

这里写图片描述

这里写图片描述

3.高级测试

上面的基础测试中,所有的挂载都是手动的下面的高级测试中实现的是自动挂载
客户端先安装自动挂载的软件:yum install autofs -y  systemctl start autofs.service     ##重启成功后,/下会生成一个net目录

此配置文件根据安装包的不同,可能有所差异,修改之前进行必要的查询

这里写图片描述

vim /etc/sysconfig/autofs      ##挂载后会自动取消挂载,为了实验效果更加明显,在这块,将timeout设置为3秒,默认为300秒

这里写图片描述

实现进到哪个目录就自动挂载到哪个目录服务端:cp -pr /home/student /westossharecp -pr /home/lee /westossharevim /etc/exports/westosshare/student 172.25.254.208(rw,sync)/westosshare/lee 172.25.254.208(rw,sync)客户端:vim /etc/auto.master/home /etc/auto.nfsvim /etc/auto.nfs* 172.25.254.108:/westos/ &systemctl restart autofs.service

进入到相应的用户,则自动挂载
这里写图片描述

原创粉丝点击