NFS即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机中间通过TCP/IP网络共享资源。一般位于内网之中。企业级NFS网络文件共享服务_RPC

提到NFS 相关联的是 RPC服务 在centos5.x下叫portmap , 在centos6.x下角rpcbind


NFS的安装: yum -y install nfs-utils rpcbind 

在这里有一点  我们要先启动 rpc然后启动nfs   建议客户端同时安装nfs,必须安装rpc(可以不启动nfs服务)。

NFS 的配日志文件是   /etc/exports    有可能什么东西都没有需要自己创建。

例:/data        192.168.1.*(rw,sync,all_squash)

其中NFS配置文件 的参数(小括号里的内容)

1、rw     代表读写权限           ro代表只读权限

2、sync      请求或写入数据时,数据同步写入NFS server  的硬盘中(这样数据安全性增加,性能有一定影响)

3、async    异步写入,写入数据会先写到内存,等硬盘有空档的时候,再写入硬盘,会提升写入速率,但是数据有可能丢失。

4、all_squash    不管访问共享目录的用户身份如何,客户端访问都被压缩成匿名用户。

客户端mount 的参数

默认挂载     例: mount -t nfs 192.168.1.1:/data    /buyi(目录必须提前存在)

mount -o 后可加参数

noatime   不改变文件的访问时间

nodiratime   不改变目录的访问时间

nosuid    不希望在我们的文件系统上做suid

noexec   不能执行二进制文件

nodev    不可以创建一个类似的结构

可以按挂载分类为:

安全挂载参数:

例:mount -t nfs -o nosuid,noexec,nodev,rw     192.168.1.1:/data    /buyi

性能优化挂载参数:

例:mount -t nfs -o noatime,nodiratime,    192.168.1.1:/data    /buyi

安全加优化的挂载参数:

例:mount -t nfs -o noatime,nodiratime,nosuid,noexec,nodev,rw        192.168.1.1:/data    /buyi


其中rpc的固定端口是 111

      nfs的固定端口是2049 (还有一些随机端口)

      /var/lib/nfs/etab (可以查看分享出来目录的完整权限)

      解决客户端不能写的问题:在客户端创建文件会有这样的报错(touch: cannot touch `b.txt': Permission denied)提示没有目录权限。

这是只要在服务端将属主改成 uid是65534的用户名(nfsnobody)就可以解决了。