Linux---NFS文件系统基本配置及autofs的挂载

什么是NFS服务?

网络文件系统 (NFS) 是 Unix 系统和网络附加存储文件管理器常用的网络文件系统 , 允许多个客户端通过网络共享文件访问。它可用于提供对共享二进制目的访问 , 也可用于允许用户在同一工作组中从不同客户端访问其文件NFS 协议有多个版本 :Linux 支持版本 4 、版本 3 和版本 2, 而大多数系统管理员熟悉的是 NFSv3 。默认情况下 , 该协议并不安全 , 但是更新的版本 ( 如 NFSv4) 提供了对更安全的身份验证的支持 , 甚至可以通过 kerberos 进行加密

NFS原理介绍

这里写图片描述
首先:NFS包括两部分,服务端及客户端

由于NFS服务功能很多,会有很多端口,这些端口还有可能不固定,那么客户端就无法与服务器进行通信,因为程序间通信必须通过端口(tcp/udp都是端到端通信),那么就需要一个中间的桥接机制,RPC进程即充当这样一个角色,RPC的端口是一定的(111),当NFS启动时,会向RPC进行注册, 那么客户端PRC就能与服务器RPC进行通信, 从而进行文件的传输。

当客户端用户打开一个文件或目录时,内核会判断,该文件是本地文件还是远程共享目录文件,如果是远程文件则通过RPC进程访问远程NFS服务端的共享目录,如果是本地文件,则直接打开。

一、NFS的基本配置

配置yum源

1.只读访问

在服务端:

[root@server ~]# yum install nfs-utils -y  ##安装nfs
[root@server ~]# systemctl start nfs  ##开启nfs服务
[root@server ~]# systemctl stop firewalld  ##关闭防火墙
[root@server ~]# systemctl disable firewalld  ##开机自动关闭火墙
[root@server ~]# vim /etc/exports
写入: /mnt    *(sync,ro)    ##对/mnt有只读权限
[root@server ~]# exportfs -rv   ##刷新共享目录并输出详细信息
exporting *:/mnt

在客户端:测试

[root@client ~]# showmount -e 172.25.254.228
[root@client ~]# umount /mnt
[root@client ~]# mount 172.25.254.228:/mnt/ /mnt/
[root@client ~]# df

这里写图片描述

[root@client ~]# cd /mnt
[root@client mnt]# ls
[root@client mnt]# touch file  ##对文件管理只有只读权限

这里写图片描述

2.读写访问

在服务端:

[root@server ~]# vim /etc/exports
  /mnt    *(sync,rw)    ##对/mnt有读写权限
[root@server ~]# exportfs -rv  ##刷新共享目录并输出详细信息
[root@server ~]# ls -ld /mnt
[root@server ~]# chmod 777 /mnt/
[root@server ~]# ls /mnt
[root@server ~]# touch /mnt/file

这里写图片描述
在客户端:

[root@client ~]# cd /mnt
[root@client mnt]# touch /mnt/file1

在服务端:
这里写图片描述

3.root用户的访问权限

在服务端:

[root@server ~]# vim /etc/exports
  /mnt    *(sync,rw,no_root_squash)  ##root用户具有根目录的完全管理访问权限(使用nfs时,如果用户是root,不进行权限压缩,即root用户在nfs上创建的文件   属组和属主仍然是root)
[root@server ~]# exportfs -rv
exporting *:/mnt

在客户端:

[root@client ~]# cd /mnt
[root@client mnt]# ls
file  file1
[root@client mnt]# touch file2
[root@client mnt]# ll

这里写图片描述

4.指定IP权限

在服务端:

[root@server ~]# mkdir /westos
[root@server ~]# vim /etc/exports
/mnt    *(sync,rw,anonuid=1000,anongid=1000)  ##anonuid,anongid指匿名用户映射的UID,GID
/westos 172.25.254.128/24(sync,ro) 172.25.254.28(sync,rw,no_root_squash)  ##指定前面的IP是只读权限,后面IP为可读可写权限
[root@server ~]# exportfs -rv

这里写图片描述
这里写图片描述

在客户端:
这里写图片描述
此时客户端只有只读的权限172.25.254.128/24(sync,ro)
在真机上:
这里写图片描述
此时真机有读写权限172.25.254.28(sync,rw,no_root_squash)
并且用户是root,不进行权限压缩,即root用户在nfs上创建的文件 属组和属主仍然是root

二、autofs自动挂载

在服务端上:

[root@server ~]# vim /etc/exports
删除之前写进去的内容
写入:/westos  172.25.254.128/24(sync,rw,no_root_squash)  
[root@server ~]# exportfs -rv   ##刷新共享目录并输出详细信息
exporting 172.25.254.128/24:/westos
[root@server ~]# systemctl start nfs

在客户端:

[root@client ~]# yum install autofs -y  ##安装autofs
[root@client ~]# systemctl start autofs
[root@client ~]# showmount -e 172.25.254.228  ##查看nfs共享状态
Export list for 172.25.254.228:
/westos 172.25.254.128/24
[root@client ~]# cd /net
[root@client net]# ls   ##此时查看为空
[root@client net]# cd 172.25.254.228  ##进入挂载点
[root@client 172.25.254.228]# pwd
/net/172.25.254.228
[root@client 172.25.254.228]# ls
westos
[root@client 172.25.254.228]# cd westos  ##只有cd进入到nfs共享目录westos下,会立马激活,自动挂载
[root@client westos]# ls

这里写图片描述
挂载路径是在两个配置文件里写入的目录路径。

[root@client westos]# df
[root@client westos]# cd
[root@client ~]# vim /etc/sysconfig/autofs
13 TIMEOUT=5    ##5秒钟后自动卸载
[root@client ~]# systemctl restart autofs.service
[root@client ~]# df

这里写图片描述
系统默认时间为300秒,为了能看难道实验结果,我们改为5秒自动卸载。


三、autofs的指定挂载点

在客户端:

[root@client ~]# vim /etc/auto.master8行写入:  /nfs    /etc/auto.westos    ##最终挂载点的上层目录
[root@client ~]# vim /etc/auto.westos
   westos -ro 172.25.254.228:/westos  ##最终挂载点的名称
[root@client ~]# systemctl restart autofs.service
[root@client ~]# cd /nfs
[root@client nfs]# ls
[root@client nfs]# cd westos
[root@client westos]# df   ##查看挂载点
[root@client westos]# mount

这里写图片描述
这里写图片描述

[root@client ~]# vim /etc/auto.westos
  westos -rw,vers=3 172.25.254.228:/westos  
[root@client ~]# systemctl restart autofs.service
[root@client ~]# cd /nfs
[root@client nfs]# cd westos
[root@client westos]# mount

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值