Linux下NFS的远程共享

网络文件系统(NFS)

NFS是Unix系统和网络附加存储文件管理器常用的网络文件系统, 允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。
Cifs挂载samba共享文件,是永久挂载,这样会浪费资源,我们想实现用的时候自动挂载,不用的时候自动卸载,nfs就应运而生了。

 exportfs [-aruv]参数说明如下:
 -a           # 全部挂载(或卸载)/etc/exports文件内的设定。
 -r           # 重新挂载/etc/exports中的设置,此外同步更新/etc/exports及/var/lib/nfs/xtab中的内容。
 -u           # 卸载某一目录。
 -v           # 在export时将共享的目录显示在屏幕上。



 NFS共享的常用参数:
ro                       # 只读访问 
rw                       # 读写访问  
sync                     # 所有数据在请求时写入共享  
async                    # NFS在写入数据前可以相应请求  
secure                   # NFS通过1024以下的安全TCP/IP端口发送  
insecure                 # NFS通过1024以上的端口发送  
wdelay                   # 如果多个用户要写入NFS目录,则归组写入(默认)  
no_wdelay                # 如果多个用户要写入NFS目录,则立即写入,当使用async时,无需此设置。  
hide                     # 在NFS共享目录中不共享其子目录  
no_hide                  # 共享NFS目录的子目录  
subtree_check            # 如果共享/usr/bin之类的子目录时,强制NFS检查父目录的权限(默认)  
no_subtree_check         # 和上面相对,不检查父目录权限  
all_squash               # 共享文件的UID和GID映射匿名用户
no_all_squash            # 保留共享文件的UID和GID(默认) 
root_squash              # root用户的所有请求映射成如anonymous用户一样的权限(默认)  
no_root_squash           # root用户具有根目录的完全管理访问权限  
anonuid=xxx              # 指定NFS服务器/etc/passwd文件中匿名用户的UID  
anongid=xxx              # 指定NFS服务器/etc/passwd文件中匿名用户的GID 

实验操作:
在服务端

yum install nfs-utils -y #安装nfs文件系统软件
systemctl start nfs-server #开启服务
mkdir /westos  #创建目录
vim /etc/exports #编辑nfs配置文件
    /westos         *(sync,ro)      ---sync表示服务端更改数据后,客户端可以看到 ,/westos表示共享的目录,*表示所有人
exportfs -rv              ---重新读取nfs配置文件,立即读取/etc/exports

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在客户端

 yum install nfs-utils  #安装nfs文件系统软件【服务可以不开启】
 showmount -e 172.25.254.101   # 识别共享
 mount 172.25.254.101:/westos  /mnt   # 使用共享

在这里插入图片描述
连接失败,查看服务端的防火墙。
如果开启防火墙,那么需要添加三个服务,缺一不可。【也可以直接关闭防火墙】
防火墙设置

firewall-cmd --permanent --add-service=nfs #添加允许该服务
firewall-cmd --permanent --add-service=rpc-bind #添加允许进行服务动态端口分配
firewall-cmd --permanent --add-service=mountd #添加允许进行远程挂载
firewall-cmd --reload #重新加载防火墙配置

在这里插入图片描述
在客户端测试如下:
在这里插入图片描述
挂载访问共享目录
在这里插入图片描述

自动挂载autofs服务【客户端实现】

在以上设置完成之后,共享目录被挂载在客户端本地目录中,但是一直是处于挂载状态,不论客户端是否使用该共享目录挂载。此实验实现该共享目录在使用的时候自动挂载在指定的本地目录中,不使用的时候自动卸载。
该功能由服务软件autofs实现,自动挂载器由autofs服务脚本管理,自动挂载器由auto.master配置文件进行配置 /etc/auto.misc
实验操作:
在客户端
yum install autofs.x86_64 -y #安装autofs服务
systemctl start autofs #启动服务
systemctl enable autofs.service #设置服务开机启动
vim /etc/sysconfig/autofs #编辑autofs配置文件 设定空闲等待时间
systemctl restart autofs.service —重启自动挂载服务

在这里插入图片描述
在这里插入图片描述
autofs服务未开启的时候,/net这个目录不存在
当启动自动挂载服务后,/net目录自动生成
在这里插入图片描述
/net/172.25.254.101/westos —当客户端切换到这个地址,服务器共享的目录172.25.254.101/westos 自动在客户端挂载
在这里插入图片描述
在这里插入图片描述
7.0
在这里插入图片描述
7.3
在这里插入图片描述
将自动挂载保持时间设置为10秒(系统默认300秒),当不使用挂载设备(不能df或者处于挂载目录中)超过10秒,自动卸载
在这里插入图片描述
cd —切换到其他路径
等待10秒
df —查看到无挂载信息,自动卸载
在这里插入图片描述

自定义挂载点及挂载参数

自定义挂载点
 vim /etc/auto.master
      /westos            /etc/auto.jing  
最终挂载点的上层目录    挂载信息指定的文件

自定义挂载参数
vim /etc/auto.jing
  nfshare        -ro           172.25.254.101:/westos
 最终挂载点  挂载参数(只读挂载)     挂载设备

systemctl restart autofs.service #重启服务使得设置生效

cd /westos/redhat #直接进入指定的挂载点 实现共享目录的指定挂载点挂载

上面两个文件可以实现 把172.25.254.101;/westos 只读挂载 /westos/nfshare 上
在这里插入图片描述
在这里插入图片描述

共享目录的参数设定

在这里插入图片描述
mount可以看到只读挂载,版本是4
在这里插入图片描述

1、修改版本

【注意:这里要先cd出,再设置】
在这里插入图片描述
在这里插入图片描述

2、读写挂载

1)设置客户端读写挂载

vim /etc/auto.jing    
nfshare    -rw     172.25.254.101:/westos
systemctl restart autofs.service

但是此时还是不能进行写操作
2)设置服务器读写挂载

vim /etc/exports     
   /westos         *(sync,rw)     
exportfs -rv

此时客户端还是无法进行写操作,但是报错发生了变化,报错内容看下面的实验操作

 chmod 777 /westos  #服务端的共享目录对其他用户具有写权限

在这里插入图片描述
在这里插入图片描述 在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
此时的报错发生了变化—>权限被拒绝。
在服务端对共享目录设置权限
在这里插入图片描述
在这里插入图片描述

3、对特定的客户端设置共享参数

vim /etc/exports
 /westos    *(sync,rw)   172.25.254.201(sync,ro)    #指定特定的主机进行只读共享

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4、指定客户端以root用户的身份创建文件

在这里插入图片描述
在这里插入图片描述

5、以指定用户的身份以及所属组进行创建文件

实现的效果是客户端挂载之后创建文件的所有人以及所属组均为指定的:
这里设置的uid和gid可以分开设置。
注意
【指定root身份和指定用户身份不可兼得】
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值