Chinaunix首页 | 论坛 | 博客
  • 博客访问: 834868
  • 博文数量: 90
  • 博客积分: 766
  • 博客等级: 军士长
  • 技术积分: 1867
  • 用 户 组: 普通用户
  • 注册时间: 2011-12-18 08:42
个人简介

linux

文章分类

全部博文(90)

文章存档

2021年(2)

2020年(2)

2017年(1)

2015年(11)

2014年(1)

2013年(53)

2012年(16)

2011年(4)

分类: 系统运维

2013-03-14 08:58:12

        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等等。

        参考《鸟哥的linux私房菜》

阅读(5071) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~