linux上的三种主要的文件服务  FTP, NFS   SAMBA
    先对前两者做基本介绍

NFS服务器:        NFS主程序; nfs-utils
     目的:是不同机器和不同服务器可以彼此共享文件,(目前linux中长用来作为文件服务) 
  比较适合的环境是: 小公司或学校内部unix机器共享文件
    它的启动需要 启动RPC服务才行,
  工作原理: 在NFSserver上设置好一个共享目录后,其他client 将其目录挂载到自己系统的某个
         挂载点上,只要权限够就可以做任何的操作
     
RPC:reemount procedure call. 远程过程调用     RPC主程序:portmap
     作用:指定每个NFS功能对应的端口号,并且传递信息给客户端,让客户端连接到正确的端口上。
          RPC 客户端和服务器端
     提供RPC服务的软件: portmap:  110/TCP   111/UDP
      启动NFS时 需要先启动RPC, 若RPC重新启动的话所有端口的数据都会消失
   工作原理:(NFS启动的时候会随机取用数个端口,并主动到RPC上注册, 因此RPC 知道每个端口对应的NFS功能,
      RPC在111端口上监听客户端请求,并应答客户端正确的端口)
          传输的格式: 二进制格式   文本格式(xmlrpc) 
   
守护进程: daemon
      rpc.nfsd:     主要是管理client的hi否登入主机, 和登入者ID判别
   rpc.mountd     主要是管理NFS的文件管理系统
  
所需主软件的介绍:
     NFS 主程序: 提供相关的说明文件和执行文件  NFS 的核心
         软件结构: /etc/exports   主配置文件, 没有默认,可能需要自己vim 建立一个
                    /usr/sbin/exportfs  维护NFS共享资源的命令,server端的
                    /usr/sbin/showmount   这个主要用与客户端来查看共享出来的资源
                    /var/lib/nfs/*tab      日志放置的地方,
                                        etab  记录共享出来的目录的完整权限设置值
                                         xtab    记录链接客户端数据          
 RPC 主程序:  提供端口映射的, 启动RPCserver之前都必须启动portmap
   
   

  
  
 NFS 服务器端: 组件 nfs-utils  只要安装 就可以配置成服务器端了
      先确保portmap status   已经running...  (端口映射已经打开)
   nfs启动三个进程
                   nfsd(nfs服务进程) 监听端口是  2049/tcp udp
       mount  和客户端挂载请求有关的
        quotod (磁盘配额,指定客户端在本地可用多大的空间)
  mountd  和 quotod  的端口会随时改变的(半随机,是RPC给它随机选取的)
      不向让那个其使用随机端口的话 去定义在固定端口
      /etc/sysconfig/nfs

配置文件的编辑 /etc/exports
  格式:  /path/to/somedir(共享独立的磁盘分区或者目录),CLTENT_ltist(客户端列表)
   例子:/tmp  192.168.1.0/24(ro)     loaclhost(rw)      *.ev.ncku.edu.tw(ro,sync)
        多个客户之间使用空白字符隔开   # 号开头的都是注释的内容
   每个客户端后面必须跟一个小括号,里面定义了此客户访问特性,  如访问权限等
   例子: 172.16.0.0、16(ro,async) 192.16.0.0/24

showmount -e NFE_SERVER   查看NFS服务器共享(导出)的各文件系统 
showmount -a NFE_SERVER   查看所有被挂载的文件系统极其挂载的客户端对应关系列表
showmount -d NFE_SERVER    显示所有导出的文件系统中被客户端挂载了文件系统列表


exportfs命令:
   -0 : 跟-r或-u 选项同时使用,表示重新挂载所有文件系统或取消导出所有文件系统
   -r    重新导出
   -u     取消导出
   -v    显示详细信息
 
客户端使用Mount命令挂载
    mount -t nfs NFS_SERVER:/PATH/TO/SOME_EXPORT / 
  文件系统导出属性
        ro:
     rw:
     sync:
     async:
     root_squash: 将root用户映射为来宾帐号
     no_root_squash
     all_aquash
     anonuid, anongud
         _rnetdev:  挂载的时候挂载不上就会取消