• Linux-NFS原理介绍


      NFS(network filesystem)是由sun公司开发的,其作用是在网络当中可以将想要开发的目录共享给别人,这样使得访问者访问nfs服务器上的东西就像访问本地的文件一样,在将文件公开给别人的时候就会引起数据安全问题,但nfs有其权限管理机制。只要将权限管理做好,文件划分清晰,对安全问题就高枕无忧了。

      NFS并不是单独存在的,它和另外2个模块共同存在,试想两台网络当中的主机如何进行通讯,当然只有通过ip+port来发送数据。

      包括NFS在内,这三个模块分别是NFS,RPC,PORTMAP。NFS只负责将数据通过以文件系统的方式共享出去,并进行登录管理和权限管理,并不负责数据的传输,而数据的传输则有RPC来完成。试想远程客户端在进行链接的时候需要知道哪个端口可用,以便将可用的端口用于NFS数据传输(NFS的数据传输方式有端口来完成),而负责维护可用端口与远程主机的映射关系则是有PORTMAP的完成的。

      NFS的两个子模块,登录管理和权限管理分别是由rpc.nfsd和rpc.mountd这两个子模块来完成的。在nfs的启动代码当中可以看到这两个程序的存在。

      不难想出,NFS的工作流程是,远程客户端进行nfs请求,RPC获得请求,通知PORTMAP来获取端口号,然后PORTMAP将可用的端口号传给NFS、RPC,然后NFS模块再进行权限检验,如果有足够的权限,RPC就通过PORTMAP给出的端口进行数据传输,并通过该端口到达客户端。

      nfs的几个模块大致是这样协调的,具体的权限管理,模块配置则可以通过具体的配置文件来完成,如/etc/exports,/var/lib/nfs/xtab等等。

  • 相关阅读:
    python中字符串 s[ : 4]是什么意思?字符串切片
    python找不到模块的问题解决方法(有空钻研一下具体的原因)
    解决CUDA error: no kernel image is available for execution on the device 测试cuda是否可用
    执行 shell 报错 source:not found,一行注释解决
    【项目】项目137
    【项目】项目134
    【项目】项目135
    【项目】项目139
    【项目】项目142
    【项目】项目141
  • 原文地址:https://www.cnblogs.com/JohnABC/p/5868674.html
Copyright © 2020-2023  润新知