Linux系统nfs服务

一、NFS

NFS(Network File
System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。
组成: NFS体系至少有两个主要部分: 一台NFS服务器和若干台客户机,如右图所示。
客户机通过TCP/IP网络远程访问存放在NFS服务器上的数据。 在NFS服务器正式启用前,需要根据实际环境和需求,配置一些NFS参数
这里写图片描述


server
安装配置
1 yum install nfs-utils                ##安装nfs-utils
--> systemctl start nfs-server         ##开启nfs服务
--> systemctl enable nfs-server        ##设置开机启动
实验
2 mkdir /helloshare                    ##创建helloshare目录     
-->touch /helloshare/hellofile{1..3    ##在该目录下创建三个文件
-->chmod 777 /helloshare               ##给该目录满权限
3 vim /etc/exports              ##编辑nfs的配置文件
/helloshare 172.25.254.254.27(sync) 172.25.254.227(ro) 
                                ##27主机可以同步刷新数据,227只能读
4 exportfs -r                   ##刷新nfs服务,服务内容不可看
           -v                   ##列出服务内容,但不刷新
           -rv                  ##既刷新又列出服务内容

安装nfs
这里写图片描述

建立共享目录,载共享目录里创建文件,编辑nfs配置文件,并刷新配置。
注意:不能重启服务,因为重启服务,服务器会对所有共享目录的主机进行更新同步,过程会相当相当慢的。
这里写图片描述

刷新并列出
这里写图片描述

client测试
client1 172.25.254.27               
1 showmount -e 172.25.254.127 ##查看127主机的共享目录内容
2 mount 172.25.254.127:/helloshare /mnt/    
                     ##挂载127主机的共享目录,到client1主机的/mnt上
-->df                ##查看挂载信息
client2 172.25.254.227              
1 showmount -e 172.25.254.127 #查看127主机的共享目录内容
2 mount 172.25.254.127:/helloshare /mnt/       
                     ##挂载127主机的共享目录,到client2主机的/mnt上
-->df                ##查看挂载信息
-->rm -fr *          ##删除失败,只能读

227主机可以查看,但挂载失败,因为只有读的权限,没有同步刷新的权限
这里写图片描述

27主机可以查看,也可以挂载,但不可以写,没有写的权限
这里写图片描述

服务主机给了227主机sync权限,可以进行挂载
这里写图片描述

二、共享目录的权限开放

以client2为例

server127端

1 vim /etc/exports
-->/helloshare 172.25.254.227(sync,rw)->wq->exportfs -rv)                   ##共享目录可写
-->/helloshare 172.25.254.227(sync,rw,no_root_squash)->wq->exportfs -rv)     ##匿名用户建立文件系统是以roots身份
-->/helloshare 172.25.254.227(sync,rw,anonuid=1000)->wq->exportfs -rv)       ##匿名用户建立文件系统是以id1000用户身份
-->/helloshare 172.25.254.227(sync,rw,anonuid=1000,anongid=1001)->wq->exportfs -rv)
             ##匿名用户建立文件系统是以id1000用户身份,id1001用户组身份

指定27主机匿名用户在共享目录进行相应操作时,使用的root身份权限
这里写图片描述

指定27主机匿名用户在共享目录进行相应操作时,是所有者和用户都是用id1000的身份
这里写图片描述

刷新服务
这里写图片描述

client1测试:以27主机为例

在共享目录可以使用写的权限
这里写图片描述

匿名用户建立文件和目录时,系统默认是,nfsnobady用户,nfsnobody组
这里写图片描述

建立是kiosk用户,第二次修改是1001用户组
这里写图片描述

三、client端自动挂载

1 yum install autofs.x86_64         ##安装autofs.x86_64
-->systemctl start autofs.service   ##开启autofs服务
-->systemctl enable autofs.service  ##设置开机启动
2 cd /net                           ##切换到/net
-->cd 172.25.254.127->ls            ##可以直接切换到127主机的共享目录
-->cd helloshare/                   ##切换的共享目录
-->df                               ##查看,已经直接挂载了

安装autofs自动挂载插件
这里写图片描述

切换到/net目录,到127主机共享目录,自动挂载
这里写图片描述

改变挂载目录

server
1 cp -rp /home/student/ /helloshare/
##将student用户的家目录复制到共享目录下,-r递归,目录及目录里面的所有内容,-p复制权限,必须加-p,不然实验会出现很多麻烦,导致实验结果失败
  cp -rp /home/hello/ /helloshare/            
                                ##将hello用户的家目录复制到共享目录下
2 vim /etc/exports              ##编辑nfs的配置文件
/helloshate/student 172.25.254.0/24(sync,rw,anonuid=1000,anongid=1000)  
##student用户家目录,向172.25.254.ip段开放,同步刷新可写,创建文件系统使用id1000的用户和用组身份
/helloshate/hello 172.25.254.0/24(sync,rw,anonuid=1001,anongid=1001)    
##hello用户家目录,向172.25.254.ip段开放,同步刷新可写,创建文件系统使用id1001的用户和用组身份
3 exports -rv                   ##既刷新并列出服务内容

将student,hello用户的家目录带权限递归复制到共享目录下
这里写图片描述

编辑共享目录的配置文件
这里写图片描述

client

1 vim /etc/sysconfig/autofs             ##编辑auto.nfs配置文件
#
/misc /etc/auto.misc
/nfs  /etc/auto.nfs     ##默认挂载目录是/nfs,看的文件的/etc/auto.nfs
#
2 vim /etc/auto.nfs                     ##编辑默认文件的挂载读取规则
* 172.25.254.127:/helloshare/&          
3 vim /etc/auto.master                  ##编辑auto.master文件
#
TIMEOUT=3                               ##退出3秒后自动取消挂载
#
4 systemctl restart autofs.srevice      ##重启autofs服务

进行如图操作
这里写图片描述

编辑auto.nfs文件
这里写图片描述

编辑autofs配置文件
这里写图片描述

编辑auto.master文件
这里写图片描述

测试,切换到指定的挂载目录,自动挂载,默认是退出后300妙取消挂载,修改默认为3秒
这里写图片描述

测试
client
1 cd /nfs                   ##切换到默认挂载目录
--> cd hello                ##切换到hello用户
-->df                       ##已经挂载
-->touch file               ##建立文件
-->ls -l                    ##建立文件是id1000用户和用户组
-->cd                       ##退出
-->df (3秒后)               ##自动取消挂载
2 cd /nfs                   ##切换到默认挂载目录
--> cd student              ##切换到hello用户
-->df                       ##已经挂载
-->touch nihao              ##建立文件
-->ls -l                    ##建立文件是id1001用户和用户组
-->cd                       ##退出
-->df (3秒后)               ##自动取消挂载

测试成功
切换到指定共享目录,切换到student用户,建立文件是student用户,student用户组
这里写图片描述

切换到指定共享目录,切换到hello用户,建立文件是1001用户,1001用户组
这里写图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值