• [Linux]NFS文件共享服务


    一、NFS

    1.1 NFS的简介

    NFS(Network File System 网络文件服务),是一种基于 TCP/IP 传输的网络文件系统协议,最初由 Sun 公司开发。

    NFS 服务的实现依赖于 RPC(Remote Process Call,远端过程调用)机制,通过使用 NFS 协议,客户机可以像访问本地目录一样访问远程服务器中的共享资源。(远端过程调用:自己没有这种功能,调用别人的功能) NFS 也是 NAS 存储 设备必然支持的一种协议,以完成远程到本地的映射过程。

    1.2 linux中要使用NFS需要下载的软件包

     在 CentOS 7 系统中,需要安装 nfs-utils、rpcbind 软件包来提供 NFS 共享服务,前者用于 NFS 共享发布和访问,后者用于 RPC 支持。手动加载 NFS 共享服务时,应该先启动 rpcbind,再启动 nfs。

    软件包 (包括服务器端和客户端):

    • nfs-utils (nfs端口号 2049/tcp):共享服务
    • rpcbind (RPC端口号 111/tcp):远程共享调用

    检查软件包的下载:rpm -q rpcbind nfs-utils

    软件包下载:yum -y install nfs-utils.x86_64

    1.3 NFS相关配置文件及其配置作用 

    NFS 的配置文件为/etc/exports

    格式为: 共享的目录位置 客户机地址(权限选项)

    客户机地址可以是主机名、IP 地址、网段地址,允许使用“*”、“?”通配符。
    “rw”表示允许读写,“ro” 表示为只读。
    sync表示同步写入到内存与硬盘中。
    no_root_squash表示当客户机以root身份访问时赋予本地root权限(默认是root_squash)。
    root_squash表示客户机用root用户访问该共享目录时,将root用户映射成匿名用户。
    all_squash所有访问用户都映射为匿名用户或用户组
    async将数据先保存在内存缓冲区中,必要时才写入磁盘。
    subtree_check(默认)若输出目录是一个子目录,则nfs服务器将检查其父目录的权限。
    no_subtree_check即使输出目录是一个子目录,nfs服务器也不检查其父目录的权限,这样可以提高效率。

    二、NFS的实验 

    第一步:NFS服务器安装 nfs-utils、rpcbind 软件包

    第二步 :NFS服务器设置共享目录
    1. [root CXK ~] mkdir -p /opt/nfstest
    2. [root CXK ~] chmod 777 /opt/nfstest
    3. [root CXK ~]

    第三步:服务端更改NFS配置,对访问用户进行限制 
    1. vim /etc/exports
    2. /opt/nfstest 192.168.136.0/24(rw,sync,no_root_squash)

    第四步:服务端进行nfs服务启动 

    1. systemctl start nfs
    2. systemctl enable nfs

     

    查看本机发布的共享服务

    showmount -e  (后面可以跟指定的IP)

    第五步:客户端安装nfs服务,并且打开服务

     客户端查看服务端发布的共享服务(客户端和服务端实验前都需要关闭防火墙和seLinux)

     第六步:客户端挂载nfs共享目录
    1. 手动挂载
    1. mkdir /nfsshare
    2. mount 192.168.136.110:/opt/nfstest /nfsshare

    2. 自动挂载 
    1. [root CXK2 ~] vim /etc/fstab
    2. [root CXK2 ~] mount -a
    3. [root CXK2 ~]

    保存退出后,进行  mount -a  进行挂载刷新 

    三、进行共享文件的测试

     1.客户端写入文件

    2.服务端读取共享目录中的文件 

     总结:

    nfs是一种适合在局域网的共享目录服务,不适合跨网段使用(会存在极大的安全隐患)

  • 相关阅读:
    入门【网络安全/黑客】启蒙教程
    负载均衡原理分析与源码解读
    名词解释1
    记一次Emotet木马处理案例
    地图瓦片下载地址汇总(leaflet 百度地图等)
    Sql文件导入数据库-保姆级教程
    Linux 命令使用笔记【mapstat】
    kubectl 本地远程链接k8s多个集群,远程管控多集群,查看日志 部署服务(windows版)
    神经生物学博士就业前景,神经网络硕士就业前景
    睡眠管理
  • 原文地址:https://blog.csdn.net/Cnm_147258/article/details/134428430