NFS是基于UDP/IP协议的应用,其实现主要是采用远程过程调用RPC机制,RPC提供了一组与机器、操作系统以及低层传送协议无关的存取远程文件的操作。RPC采用了XDR的支持。XDR是一种与机器无关的数据描述编码的协议,他以独立与任意机器体系结构的格式对网上传送的数据进行编码和解码,支持在异构系统之间数据的传送。

1、设置主机服务器

(1)安装NFS服务器

  root@ubuntu:~# apt-get update

  root@ubuntu:~# apt install nfs-kernel-server

(2)创建导出目录

  与客户端系统共享的目录称为导出目录。

  可以根据自己的选择来确定导出目录的路径及命名。

  root@ubuntu:~# mkdir -p /home/rabbit/NFS_SHARE

  删除文件夹的限制权限

  root@ubuntu:~# chown nobody:nogroup /home/rabbit/NFS_SHARE

  root@ubuntu:~# chmod 777 /home/rabbit/NFS_SHARE

  现在,客户端系统上的所有组的所有用户都可以访问导出目录。

(3)通过NFS导出文件为客户端分配服务器访问权限

  创建出导出目录后,需要为客户端提供访问主机服务器的权限。

  此权限通过位于系统的 /etc/exports 文件定义。

  root@ubuntu:~# vim /etc/exports

  • 单个客户端
  • /home/rabbit/NFS_SHARE clientIP(rw,sync,no_subtree_check)

  • 多个客户端(按IP)
  • /home/rabbit/NFS_SHARE clientIP_1(rw,sync,no_subtree_check)

    /home/rabbit/NFS_SHARE clientIP_2(rw,sync,no_subtree_check)
  • 多个客户端(整个子网)
  • /home/rabbit/NFS_SHARE 192.168.8.0/24(rw,sync,no_subtree_check)

    rw: 读写操作
    sync:
    no_subtree_check: 阻止子树检查

(4)导出共享目录

  在主机系统中完成上述配置后,可以通过以下命令将共享目录导出:

  root@ubuntu:~# exportfs -a

  为了使所有配置生效,重启NFS服务器:

  root@ubuntu:~# systemctl restart nfs-kernel-server

(5)为客户端打开防火墙

  ufw allow from [clientIP or clientSubnetIP] to any port nfs

  使用以下命令,访问客户端计算机的整个子网:

  root@ubuntu:~# ufw allow from 192.168.8.0/24 to any port nfs

  root@ubuntu:~# ufw status

2、设置客户端计算机

(1)安装 NFS Common

  更新系统的存储库索引和Internet的索引:

  root@ubuntu:~# apt-get update

  root@ubuntu:~# apt-get install nfs-common

(2)为NFS主机的共享文件夹创建安装点

  root@ubuntu:~# mkdir -p /home/rabbit/NFS_CLIENT

(3)在客户机上挂载共享目录

  mount serverIP:/shareFolder_server /home/rabbit/mountFolder_client

  root@ubuntu:~# mount 192.168.8.245:/home/rabbit/NFS_SHARE /home/rabbit/NFS_CLIENT

(4)测试连接

  在NFS主机服务器的导出目录中创建或保存文件。

  现在,打开客户端计算机上的 NFS_CLIENT 文件夹,可以在此文件夹中查看共享和访问的同一文件。

3、总结

  在 Ubuntu 系统上设置 NFS 服务器 - 客户端 环境已完成。

  学习了如何配置NFS服务器和客户端,以便可以共享文件夹,然后在没有任何防火墙或权限相关鼓掌的情况下顺利访问文件夹。

  现在,可以使用 NFS 协议轻松地将内容从一个 Ubuntu 系统共享到另一个系统。

Ubuntu 18.04 LTS上安装NFS服务器和客户端的更多相关文章

  1. 10分钟学会在Ubuntu 18.04 LTS上安装NFS服务器和客户端

    https://www.linuxidc.com/Linux/2018-11/155331.htm

  2. 如何在Ubuntu 18.04 LTS上安装和配置MongoDB

    MongoDB是一款非关系型数据库,提供高性能,高可用性和自动扩展企业数据库. MongoDB是一个非关系型数据库,因此您不能使用SQL(结构化查询语言)插入和检索数据,也不会将数据存储在MySQL或 ...

  3. 在Ubuntu 18.04系统上安装Systemback的方法(抄)

    在Ubuntu 18.04系统上安装Systemback的方法 2018-12-26 21:39:05作者:林莉稿源:云网牛站 本文介绍如何在Ubuntu 18.04或者Ubuntu 18.10系统上 ...

  4. Ubuntu 18.04 Linux上安装Etherpad,基于Web的实时协作编辑器

    介绍 Etherpad是一个开源的,基于Web的实时协作编辑器(http://www.0834nanke.com) 它允许多个人使用他们的Web浏览器同时编辑文档. 它还提供了一些很酷的功能,如富文本 ...

  5. Ubuntu 18.04 Server上安装LAMP

    由于要进行渗透测试,所以这两天就在搭LAMP的环境(过程及其痛苦) 这里分享一些我遇到的问题. 首先介绍一下我的使用环境  VM虚拟机,ubuntu 与主机NAT连接 由于之前一直使用的是kali(默 ...

  6. unbuntu 18.04 LTS 版 安装Samba服务器

      首先需要注意的是,此时服务器的版本是乌班图18.04 LTS Server ,安装配置Samba服务器 . 首先来对当前的软件进行更新. 1 sudo apt-get upgrade 2 sudo ...

  7. 在Ubuntu 18.04系统上安装Pydio Cells详细图文教程

    前言   基于云的协作工具Pydio cell提供了一系列灵活的特性,包括应用内消息传递.文件共享和版本控制.下面逐步介绍安装过程. Pydio cell最初是一个简单的基于云的文件共享系统,但经过升 ...

  8. 在 Ubuntu 16.04 LTS 上安装 Python 3.6.0

    原文连接:https://segmentfault.com/a/1190000007912666 最近 Python 3 发布了新版本 Python 3.6.0,好像又加入了不少黑魔法!- 由于暂时不 ...

  9. 在 Ubuntu 18.04 /centos7上安装 Python 3.7

    扩展源安装 sudo apt update sudo apt install software-properties-common sudo add-apt-repository ppa:deadsn ...

随机推荐

  1. nginx篇最初级用法之三种虚拟主机基于域名\基于端口\基于IP地址端口的虚拟主机

    在nginx中虚拟主机的类型与apache一样也有三种 1.基于域名的虚拟主机 2.基于端口的虚拟主机 3.基于IP地址端口的虚拟主机 在nginx配置文件中每一个server为一个虚拟主机如果需要多 ...

  2. python学习之【第二篇】:Python中的数字及其所具有的方法

    1.前言 Python 数字(number)数据类型用于存储数值.数据类型是不允许改变的,这就意味着如果改变数字数据类型的值,将重新分配内存空间. 2.创建数字对象 以下实例在变量赋值时 Number ...

  3. 帝国cms7.5免登陆发布模块

    帝国cms7.5免登陆发布文章. 帝国cms增加了金刚模式,登录发布文章有难度.免登录发布模块配合火车采集器,完美解决你遇到的问题. 1.必备工具: 1.火车采集器 2.免登陆发布接口 3.帝国cms ...

  4. 1005 csp-s 60 凉凉

    T1 嘟嘟噜 上来一看数据范围1e9就蒙蔽,然后不知所措的打了一个 $ O(n)$的无脑算法,由于本人真的脑小,导致O(n)的柿子推了好长时间,导致心态崩了,然后........ 今天能明白了log的 ...

  5. Net Core Identity 身份验证:注册、登录和注销 (简单示例)

    一.前言 一般我们自己的系统都会用自己设置的一套身份验证授权的代码,这次用net core的identity来完成简单的注册.登录和注销. 二.数据库 首先就是创建上下文,我这里简单的建了Users和 ...

  6. mysql cpu使用率过高解决方法

    mysql cpu使用率过高解决方法 1 mysql查看正在运行的语句 并且查看运行最多的mysql语句 MySQL 打开 general log 后,所有的查询语句都会记录在 general log ...

  7. PHP Laravel 6.2 中用于用户登录的新密码确认流程

    Laravel 发布了 v6.2 版本,它添加了一个新的密码确认功能,该功能使你可以要求已登录的用户重新输入密码,然后才能访问路由. 在你执行敏感操作的时候,这个功能就类似GitHub确认对话框.在 ...

  8. __FILE__ basename() 作用

    __FILE__  basename() 作用 __FILE__ 获取当前文件或文件夹的绝对路径 basename(__FILE__) 获取当前文件或文件夹的名称 basename(__FILE__, ...

  9. hdu 1171 Big Event in HDU (01背包, 母函数)

    Big Event in HDU Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others ...

  10. [转]shell 特殊字符

    下面这篇博文对特殊字符总结的非常齐全.这里做一下mark.另外补充一些例子. https://blog.csdn.net/K346K346/article/details/51819236 假设我们定 ...