NFS网络文件系统

root的映射是nfsnobody

NFS:网络文件系统,主要是通过网络(一般情况是局域网)让不同主机的系统直接可以共享文件或目录。NFS客户端通过挂载的方式将NFS服务器端共享的目录挂载到客户端的某个挂载点下。服务器端看共享目录就相当于看自己的目录一样,而实际上是看的远端的NFS服务器。

客户端请求过程:

在这里插入图片描述

1、用户在NFS客户端上发出存取NFS文件的请求,这时NFS客户端的RPC服务(rpcbind)就会通过网络向NFS服务器端的rpc服务(rpcbind)的111端口发出NFS文件存取功能的询问请求。

2、服务器端的RPC服务找到对应的已注册的NFS端口后,通知客户端的RPC服务。

3、此时客户端获得了正确的端口,并与NFS daemon(进程)联机存取数据

4、客户端把数据存取成功后,返回前端访问程序,告诉用户存取结果。

对服务器端配置:

关闭防火墙以及SElinux:

[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# systemctl disable firewalld
[root@localhost ~]# vim /etc/sysconfig/selinux
设为disbaled

然后设置服务器端主机名并重新登陆:

[root@localhost ~]# hostnamectl set-hostname nfs01
[root@localhost ~]# su -l
Last login: Sun Sep 22 22:30:49 CST 2019 from 192.168.15.1 on pts/0
[root@nfs01 ~]#

查看rpcbind和NFS服务是否下载并下载:

[root@nfs01 ~]# rpm -qa nfs-utils rpcbind
[root@nfs01 ~]# yum install -y nfs-utils rpcbind

查看命令属于那个包:

[root@nfs01 ~]# rpm -qf `which showmount`

启动NFS服务并设为开机自启动

[root@nfs01 ~]# systemctl start rpcbind————放在nfs之前启动,要不然会导致nfs启动失败。
[root@nfs01 ~]# systemctl start nfs
[root@nfs01 ~]# systemctl enable nfs
[root@nfs01 ~]# systemctl enable rpcbind

查看配置文件:

[root@nfs01 ~]# ll /etc/exports
[root@nfs01 ~]# vim /etc/exports
/data 192.168.15.0/24(rw,sync)
共享目录 开放网段  (权限)

重启服务(必须):

[root@nfs01 ~]# systemctl reload nfs

创建共享目录并修改:

[root@nfs01 ~]# mkdir /data
[root@nfs01 /]# chown -R nfsnobody:nfsnobody /data/

客户端也需要下载服务并启动:

然后直接进行挂载:

[root@web01 ~]# mount 192.168.15.138:/data /mnt/
[root@nfs01 data]# ll
total 0
-rw-r--r--. 1 root      root      0 Sep 22 23:27 a
-rw-r--r--. 1 nfsnobody nfsnobody 0 Sep 22 23:27 b

此处,因为a是服务器端的创建的,b是客户端创建的。

设置为开机自挂载:

有两种方式:

1、将挂载的命令写进/etc/rc.local中。

缺点:偶尔开机挂载不上,工作中除了开机自启动配置,还要对是否挂载进行监控。

echo “mount -t nfs 192.168.15.138:/data /mnt” >> /etc/rc.local

​ -t:指定文件系统类型。

如果写在rc.local中不会存在服务端没有启动导致客户端启动不起来这种情况,但是如果客户端在加载rc.local文件之前有需要加载共享文件中本机系统启动所需要的文件,也能导致系统启动失败。

2、挂载到/etc/fstab中。

192.168.15.138:/data	/mnt	nfs	defaults	0	0

服务端没有启动(或者宕掉了),直接启动客户端,会导致客户端系统启动加载fstab文件失败(因为加载fstab文件中有服务端地址但是网络不通),导致系统启动失败。

参数说明:

ro:只读权限(客户端不能创建文件,但是可以编辑已存在文件)

[root@web01 mnt]# touch b
touch: cannot touch ‘b’: Read-only file system

async:异步写入,和同步写入的区别是:同步是一个一个排队带着U盘拷文件,异步是全部把U盘放在这你们人走,然后我给你们一个一个拷。

root_squash:

- 使用这个参数意味着root在共享目录里创建的任何文件都不受保护,任何人(所有用户都可以读取,修改,删除)。

no_root_squash:

- 使用这个参数意味着不对root进行降低身份的操作,也就是说root在共享目录里创建的文件的属主、属组仍旧为root(不能被普通用户修改和删除)。

- 非root用户同root_squash一样,并不降低权限。

all_squash:

- 使用这个参数意味着对所有访问NFS共享目录的用户进行降低身份的操作。也就是说,所有用户只要在共享目录里创建文件,那么文件的属主属组就是默认情况下的nfsnobody。

- 在这个模式下,任何nfs客户端的任何访问用户都可以对共享目录里的任何文件进行查看,修改,删

除操作

这几项是设置root在共享目录中创建的文件对于客户端用户的权限限制。

如果想要用户对文件不能修改,则设置为ro权限。

ceph: 分布式存储

/etc/hostname:修改主机名

rpm -qf 文件名:查看文件来源于哪个软件包

rpm -qf ` which showmount``

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【优质项目推荐】 1、项目代码均经过严格本地测试,运行OK,确保功能稳定后才上传平台。可放心下载并立即投入使用,若遇到任何使用问题,随时欢迎私信反馈与沟通,博主会第一时间回复。 2、项目适用于计算机相关专业(如计科、信息安全、数据科学、人工智能、通信、物联网、自动化、电子信息等)的在校学生、专业教师,或企业员工,小白入门等都适用。 3、该项目不仅具有很高的学习借鉴价值,对于初学者来说,也是入门进阶的绝佳选择;当然也可以直接用于 毕设、课设、期末大作业或项目初期立项演示等。 3、开放创新:如果您有一定基础,且热爱探索钻研,可以在此代码基础上二次开发,进行修改、扩展,创造出属于自己的独特应用。 欢迎下载使用优质资源!欢迎借鉴使用,并欢迎学习交流,共同探索编程的无穷魅力! 基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip 基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip 基于业务逻辑生成特征变量python实现源码+数据集+超详细注释.zip

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值