硬件环境:

两台Ubuntu18.04服务器使用局域网连接,IP分别为192.168.11.66 和 192.168.11.206。

===============================================================

nfs的安装:

分别在192.168.11.66 和 192.168.11.206电脑上执行命令:

sudo apt-get install nfs-kernel-server

查看nfs运行状态,查看是否安装成功:

执行命令:

sudo service nfs-kernel-server status

在两台电脑上安装nfs成功后开始进行配置。

=====================================================

简单配置nfs:

首先我们需要从两台电脑192.168.11.66 和 192.168.11.206中选出一个作为服务端,另一个则为客户端。

这里我们选电脑192.168.11.206为服务端,电脑192.168.11.66为客户端。

由于nfs是网络文件系统,所以文件其实是存储在服务端上的,客户端是通过网络访问服务端上的文件的,由于在linux系统中我们可以挂载网络文件系统到本地文件上,因此对网络文件系统上的操作和本地文件系统上进行的操作均是一致的。

服务端配置(电脑  192.168.11.206):

在服务器上新建文件夹,该文件夹为提供给客户端访问的,这里我们假设新建的文件夹路径为: /data  ,该路径可以根据需要自己设定。

文件夹新建后以后需要更改权限(不更改服务端文件夹权限即使客户端挂载以后也是无权访问的):

sudo chown nobody:nogroup /data

解释说明下,用户nobody,用户组nogroup:

查看  /etc/passwd  和  /etc/group  ,可以看到

nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin

nogroup:x:65534:

也就是说为了linux系统中不管是哪一台电脑(不论客户端和服务端)都有一个相同的uid 和 gid, nfs默认也是将客户端的用户权限squash为65534:65534,即nobody用户,nogroup用户组。

编辑配置文件:

sudo vim /etc/exports

默认配置如下:

添加内容:

/data         192.168.11.66(rw,sync,fsid=0,crossmnt,no_subtree_check,root_squash,all_squash)

其中, /data是服务端的文件夹,  192.168.11.66为客户端IP。上面语句的意思就是把服务端192.168.11.206主机的/data 文件夹作为nfs的根目录。上面的配置除了权限配置以外都是默认配置这里就不多讲了。

我们同样可以配置 192.168.11.0/24这个网络下的所有主机均可以作为客户端访问服务端的  /data ,配置如下:

/data         192.168.11.0/24(rw,sync,fsid=0,crossmnt,no_subtree_check,root_squash,all_squash)

查看配置是否正确,服务端执行命令:

sudo exportfs -v

输出没报错,证明配置没有语法错误:

重启服务端的nfs服务:

sudo service nfs-kernel-server restart

服务端配置结束。

==========================================================

客户端配置:

指定客户端进行挂载网络文件系统的路径,这里我们假设路径为   ~/data

创建本地的挂载目录:

mkdir    ~/data

挂载nfs网络文件系统:

sudo mount   192.168.11.206:/data ~/data

查看挂载服务端文件系统情况:(下面的ip是服务端的)

showmount -e 192.168.11.206

显示结果不为空,证明客户端成功挂载服务端的文件系统。

在本地挂载的网络文件系统中创建文件,看下文件权限:

touch   ~/data/xxx.txt

ls  -al  ~/data/xxx.txt

可以看到本地用户在本地挂载的nfs文件系统中创建文件,该文件的用户显示为nobody,用户组显示为nogroup 。

(注意: nobody  ,   nogroup 在linux电脑上uid和gid均是一致的,就如何root用户,root组,在任何linux电脑上默认均为uid=0,gid=0)

还需要注意的一点是,这样配置的话客户端在挂载的nfs文件系统中创建的文件权限均为  nobody:nogroup   , 此时如果服务端不切换为nobody用户的话在服务端指定的共享路径(这里是  /data )中创建文件在客户端是无法读写的,具体参考nfs的权限设置。

卸载掉挂载的nfs文件系统:

sudo umount ~/data

需要注意的是卸载的时候不在挂载的文件夹中操作,需要先退出来,不然会提示busy,无法卸载。

==========================================================

参考:

https://www.cnblogs.com/devilmaycry812839668/p/15127755.html

Ubuntu18.04系统下网络文件系统nfs的安装及简单配置的更多相关文章

  1. ubuntu18.04系统下用devstack安装openstack(最新版)

    ubuntu18.04系统下用devstack安装openstack(最新版) 2018年12月14日 16:34:14 Cherls 阅读数:427   前期准备: 安装git,升级pip,其他 s ...

  2. Linux下网络文件系统NFS服务搭建易错点总结

    一.环境准备: 1 [root@czh ~]# cat /etc/redhat-release 2 CentOS release 6.7 (Final) 3 [root@czh ~]# uname - ...

  3. Ubuntu18.04系统下安装Pycharm&vim设置自动缩进及默认显示行号

    Ubuntu18.04系统自带python3.6及python2.7,Pycharm是一款非常强大的IDE.目前Pycharm有两个版本:专业版和Community社区,区别是专业版是收费,而且功能更 ...

  4. ubuntu18.04系统下无外部显示问题解决

    记录一下自己作死过程. 由于学习的需要,在windows10下装了ubuntu18.04系统,第一次装这个系统时,也出现了无外部显示,那时候是老师帮忙搞好的,当时没太在意,只是走马关花的看了老师操作了 ...

  5. Linux nfs下载安装与简单配置

    1.什么是NFS? 全称 network file system 网络文件系统 通过网络存储和组织文件的一种方法或机制. 2.为什么要用共享存储? 前端所有的应用服务器接收到用户上传的图片.文件.视频 ...

  6. ubuntu18.04系统下RealTek RTL 8852BE网卡没有WiFi驱动

    1 打开终端:sudo apt-get update2 安装必要的包:sudo apt-get install make gcc linux-headers-$(uname -r) build-ess ...

  7. 深入理解linux系统下proc文件系统内容

    深入理解linux系统下proc文件系统内容 内容摘要:Linux系统上的/proc目录是一种文件系统,即proc文件系统. Linux系统上的/proc目录是一种文件系统,即proc文件系统.与其它 ...

  8. ubuntu 12.04 "系统的网络服务与此版本的网络管理器不兼容

    ubuntu 12.04 "系统的网络服务与此版本的网络管理器不兼容“ 2013-05-10 21:18 2271人阅读 评论(0) 收藏 举报 今天上午在实验室一顿乱整,不知道整坏了什么, ...

  9. 64位系统下System32文件系统重定向

    前言 因为一次偶然的机会,需要访问系统目录“C:/Windows/System32“文件夹下的内容,使用的测试机器上预装了win7 64系统.在程序运行中竟然发生了该文件路径不存在的问题!!通过查看网 ...

  10. Ubuntu18.04环境下melodic安装gmapping

    Ubuntu18.04 环境下melodic中很多包没有提供sudo apt install的安装方式,需要通过源代码安装,安装方法如下: 1.先安装依赖库: sudo apt--dev sudo a ...

随机推荐

  1. ZynqMP PL固件通过U-BOOT从指定位置加载FPGA BIT

    原因 PL固件可能经常修改,而BOOT.BIN和文件系统.内核实际上基本不会变,在一个平台上可以用同一份.如果每次修改都要重新打包PL 固件到BOOT.BIN,操作起来非常麻烦.所以希望PL 的固件可 ...

  2. uniapp iphone 6s获取时间戳失败

    上代码 时间格式:2023-10-11 00:00:00 var ms = new Date(item.content.goodsList[0].end_time).getTime() 使用iphon ...

  3. Jupyter QtConsole 配置,2023 年了你还在使用 QtConsole 吗?

    目录 Jupyter QtConsole 配置,2023 年了你还在使用 QtConsole 吗? Jupyter QtConsole 的安装 设置字体 启动时自动加载需要的库包 更新:2023 年 ...

  4. kong网关部署

    软件版本: Postgresql:9.6 (不使用最新版,是因为 konga 不支持) Kong:3.4.2 konga:0.14.7 (UI管理界面) ### Postgresql部署 ## doc ...

  5. EthernetIP IO从站设备数据 转opc ua项目案例

    1 案例说明 设置网关采集EthernetIP IO设备数据 把采集的数据转成opc ua协议转发给其他系统. 2 VFBOX网关工作原理 VFBOX网关是协议转换网关,是把一种协议转换成另外一种协议 ...

  6. .NET 认识日志系统-2

    .NET 日志系统2 上一篇文章是将日志打印到控制台,这篇文章将日志写入到文本文件中. 文本日志一般按照日期区分 如何避免文本日志把磁盘撑爆? 限制日志总个数或者总大小 如何避免一个日志文件太大? 限 ...

  7. .NET 个人博客-首页排版优化

    个人博客-首页排版优化 优化计划 置顶3个且可滚动或切换 推荐改为4个,然后新增历史文章,将推荐的加载更多放入历史文章,按文章发布时间降序排列. 标签功能,可以为文章贴上标签 推荐点赞功能 本篇文章优 ...

  8. jsp---------------------复选框,全选按钮

    js部分:注意:<script type="text/javascript" ></script>内不能有其他内容,否则会无效,若有则另起一对<scr ...

  9. python3 安装pymssql失败 pip3 install pymssql

    python3 安装pymssql失败 报错信息: AttributeError: module 'platform' has no attribute 'linux_distribution' 解决 ...

  10. Java中的栈、堆和常量池

    Java程序是运行在JVM(Java虚拟机)上的,因此Java的内存分配是在JVM中进行的,JVM是内存分配的基础和前提. Java程序的运行会涉及以下的内存区域: 寄存器:JVM内部虚拟寄存器,存取 ...