• 文件共享服务NFS(服务名nfs,端口tcp/2049)


    目录

    前言

    配置文件

    工作原理

    NFS服务器的配置

    查看服务器是否安装

    查看服务器状态

    开启服务

    编写配置文件

    客户端挂载



    前言

    NFS(Network File System)是一种分布式文件系统协议,它允许网络中的不同计算机共享文件和目录,就像它们是本地存储的一部分一样。主要用于UNIX/Linux系统之间的文件共享。


    配置文件

    /etc/exports


    工作原理

    NFS的工作原理基于客户端-服务器架构。服务器端配置并启动相关服务进程,通过/etc/exports文件定义哪些目录可以被哪些客户端以哪种权限访问。客户端访问服务器端的共享资源时,会通过Portmapper(或rpcbind)服务查询到NFS服务器所监听的实际端口,并向这些端口发送挂载请求。一旦服务器验证并批准该请求,客户端就可以将远端的共享目录挂载到本机的一个指定路径下。这时,访问服务端的共享文件,就如同访问本地文件一样。


    NFS服务器的配置

    查看服务器是否安装

    rpm -qa | grep nfs

    查看服务器状态

    systemctl status nfs

    开启服务

    systemctl start nfs

    编写配置文件

    vim /etc/exports

    配置文件打开后,需要自己添加配置

    格式为:共享目录或文件的路径   客户端IP/IP段  (选项)

    下表为一些基本的选项和说明

    访问权限ro只读访问权限
    rw读写访问权限
    数据同步sync

    数据同步写入到内存与硬盘中

    async数据先暂存于内存当中,而非直接写入硬盘
    用户映射root_squash将客户端的 root 用户映射为匿名用户 nfsnobody
    no_root_squash保留客户端root用户的权限
    all_squash将所有用户映射为匿名用户
    anonuid设定匿名用户的UID
    anongid设定匿名用户的GID
    安全设置secure限制客户端仅能通过小于1024的TCP/IP端口连接
    insecure允许客户端从大于1024的端口连接
    写入延迟wdelay默认设置,归组写入,提高效率
    no_wdelay立即写入,应与 async 配合使用
    子目录检查subtree_check如果共享子目录,则检查父目录权限(默认)
    no_subtree_check不检查父目录权限,提高性能
    子目录共享hide不共享子目录
    no_hide共享子目录

    比如:服务端想要共享给客户端的目录为home目录下的files目录

    那么服务端配置文件应该根据具体情况添加类似如下的语句:

    1. #任意IP的客户端都可以以只读的形式访问/home/files:
    2. /home/files *(ro)
    3. #只允许IP为192.168.100.88的客户机访问/home/filws:
    4. /home/files 192.168.100.88(rw)
    5. #允许192.168.100.0这个网段的用户以读写从形式访问/home/files并且不限制用户身份:
    6. /home/files 192.168.100.0/24(rw,all_squash)
    7. #只允许uid和gid都为900且在192.168.100.0这个网段的用户以读写形式访问/home/files:
    8. /home/files 192.168.100.0/24(rw,anonuid=900,anongid=900)

    具体怎么配置,根据实际需求来,总之,结构都一样:目录或文件   ip(选项)

    这里我们演示允许192.168.100.0网段的用户已读写的方式访问/home/files

    /home/files 192.168.100.0/24(rw)

    编辑好配置文件后,需要配置防火墙允许nfs开启服务,然后重启防火墙,重启nfs服务,还可以看一下nfs状态(如果配置文件出错了,重启nfs并不会报错,但nfs状态可能会标红,影响nfs连接)

    1. firewall-cmd --add-service=nfs --zone=public --permanent
    2. setenforce 0
    3. systemctl restart firewalld
    4. systemctl restart nfs
    5. systemctl status nfs

    客户端挂载

    这里的挂载,只是一种映射,并不是实际的挂载到了客户端下面

    来到客户端,将服务端/home/files目录挂载到自己新建的一个目录:

    1. mkdir /home/guazai
    2. mount -t nfs 192.168.100.2:/home/files ./guazai

    值得注意的是NFS共享文件的最终访问权限取决于服务器端配置的共享权限和文件本身的权限。



  • 相关阅读:
    CSDN 技能树使用体验与产品分析(1)
    MQTT搭建(Windows和Linux)版
    MySQL 从一个表中查出数据并插入到另一个表处理方案(详细)
    顺序栈与链式栈
    数据库复习带答案
    《深度探索C++对象模型》阅读笔记 第六章 执行期语意学
    参加微软学生开发者峰会,了解Azure和GitHub……
    在Thymeleaf中使用th:href标记构建 URL
    gofs使用教程-基于golang的开源跨平台文件同步工具
    【数据结构与算法】二叉树的链式访问
  • 原文地址:https://blog.csdn.net/bunengyongzho666/article/details/140968743