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. day 2 下午 骑士 基环树+树形DP

    #include<iostream> #include<cstdio> #include<cstring> #include<cstdlib> #inc ...

  2. 『题解』Codeforces446C DZY Loves Fibonacci Numbers

    更好的阅读体验 Portal Portal1: Codeforces Portal2: Luogu Description In mathematical terms, the sequence \( ...

  3. access,trunk,hybrid端口分析

    1.access 接收:当数据没有tag时打上pvidtag进入,若有则看是否与pvid相等,相等则接收,不想等则丢弃. 转发:看tag是否等于pvid,若等则去tag发送,否则不处理. 2.trun ...

  4. 创建windows系统下的虚拟机

    创建新的虚拟机  添加映像(windows系统下必须先添加映像) 选择相应的镜像文件:网上查找密钥输入:版本按要求选择:单击 下一步:设置虚拟机名称  位置 :下一步 默认的磁盘大小(不用管)——下一 ...

  5. SpringBoot Web篇(二)

    摘要 继上一篇 SpringBoot Web篇(一) 文件上传 当我们服务器需要接收用户上传的文件时,就需要使用MultipartFile作为参数接收文件.如下: @PostMapping(" ...

  6. 基于docker实现redis高可用集群

    基于docker实现redis高可用集群 yls 2019-9-20 简介 基于docker和docker-compose 使用redis集群和sentinel集群,达到redis高可用,为缓存做铺垫 ...

  7. 高性能Web动画和渲染原理系列(5)合成层的生成条件和陷阱

    目录 一. 硬件加速相关的几个概念 二. 合成层的生成条件 显式提升 隐式提升 三. 硬件加速的权衡 四. 动画实现的一些建议 示例代码托管在:http://www.github.com/dashno ...

  8. 如何设置HTML页面中文本的字体

    字体属性介绍 CSS中的字体属性是干什么的呢?字体字体肯定和字体有关咯,就是设置HTML页面中文本的字体, CSS中常用的字体属性有几种呢,笔者给大家梳理了下,比较常用的一共有5种,今天我们就看看这5 ...

  9. SparkSQL--数据源Parquet的加载和保存

    一.通用的load和save操作 对于Spark SQL的DataFrame来说,无论是从什么数据源创建出来的DataFrame,都有一些共同的load和save操作.load操作主要用于加载数据,创 ...

  10. lqb 基础练习 十六进制转八进制 (字符串进行进制转化)

    基础练习 十六进制转八进制 时间限制:1.0s   内存限制:512.0MB     问题描述 给定n个十六进制正整数,输出它们对应的八进制数. 输入格式 输入的第一行为一个正整数n (1<=n ...