NFS 服务器配置说明

NFS 服务器配置说明

测试环境OS:CentOS5.5

一、NFS 简介

NFS是Network File System的简写(网络文件系统).  

NFS允许一个系统在网络上与他人共享目录和文件.通过使用NFS,用户和程序可以像访问本地文件一样访问远端系统上的文件.

NFS至少有两个主要部分:一台服务器和一台(或者更多)客户机.客户机远程访问存放在服务器上的数据.


二、NFS 权限问题.

1.NFS没有登录用户的验证功能.当客户连接时服务端时,服务端回去匹配/etc/passwd里面的uid.

  a.当客户端的uid和服务端的uid相同时,如果用户有相应的权限读取这个文件夹,当然可以正常操作.

  b.当客户端的uid和服务端的uid相同时.但是客户端和服务器uid对应的用户名不同.其实,这样也能正常操作.因为Linux是根据uid来判断用户权限的.

    不过,操作时可能会有2种不同的用户名在上面显示.容易混乱.

  c.当服务端没有客户端的uid时.服务端会生成一个匿名用户uid=65534的nfsnobody用户来操作共享磁盘

    

  d.当客户端以root身份连接的时候,因为肯定都有uid=0,所以做了特殊处理.就算以root身份登录,也视为是匿名登录(nfsnobody).


三、NFS启动程序

1./etc/init.d/nfs   NFS主要的启动程序.

2./etc/init.d/portmap  这个是RPC程序,先一直搞不明白为什么要启动它,现在可以简略的讲解下了.

   因为NFS支持很多功能,不同程序启动时,传输数据的端口不一样.会随机产生一个小于1024的端口来传输.因为是随机的,所以客户端并不知道服务器的这个端口是多少.

   所以就有了RPC.RPC主要的功能就是,服务端把打开的端口注册到PRC里面(PRC默认固定端口是111).然后这个111端口监听客户端发送过来的NFS请求.回复给客户端.

   当然portmap要比nfs先启动. CentOS5.5中.portmap默认是自动启动的.(这个地方.客户端和服务端的portmap都需要启动哦.)

3./etc/init.d/nfslock 这个NFS锁是为了防止多个客户端同时对同一个文件进行操作而产生的锁机制.

四、NFS配置安装

NFS服务器IP:192.168.96.12

客户端1IP:192.168.96.50

客户端2IP:192.168.96.22

1.首先配置服务器端(192.168.96.12)

   a.加一块新的磁盘进来(当然不加也行).然后进行分区

     

     

   b.格式化成ext3.

     

   c. 挂载磁盘/dev/sdb 到 /mnt

      [root@localhost home]# mount /dev/sdb /mnt

     

  d. vim /etc/exports         # NFS主要的配置文件

   

 e.启动nfs

   

   

    因为/etc/init.d/portmap开机时就自动启动了.所以在这里我就没有启动.(但是protmap一定要比nfs先启动)

2.客户端连接服务端(192.168.96.50)

    mount -t nfs 192.168.96.12:/mnt /mnt

  

3.客户端连接服务端(192.168.96.22)

   mount -t nfs 192.168.96.12:/mnt /mnt

  

五 、NFS配置参数说明.

   ro只读访问

   rw读写访问

   sync所有数据在请求时写入共享

   asyncNFS在写入数据前可以相应请求

   secureNFS通过1024以下的安全TCP/IP端口发送

   insecureNFS通过1024以上的端口发送

   wdelay如果多个用户要写入NFS目录,则归组写入(默认)

  no_wdelay如果多个用户要写入NFS目录,则立即写入,当使用async时,无需此设置。

  hide在NFS共享目录中不共享其子目录

  no_hide共享NFS目录的子目录

  subtree_check如果共享/usr/bin之类的子目录时,强制NFS检查父目录的权限(默认)

  no_subtree_check和上面相对,不检查父目录权限

  all_squash共享文件的UID和GID映射匿名用户anonymous,适合公用目录。

  no_all_squash保留共享文件的UID和GID(默认)

  root_squashroot用户的所有请求映射成如anonymous用户一样的权限(默认)

  no_root_squasroot用户具有根目录的完全管理访问权限

  anonuid=xxx指定NFS服务器/etc/passwd文件中匿名用户的UID

  anongid=xxx指定NFS服务器/etc/passwd文件中匿名用户的GID


  


你可能感兴趣的:(linux)