NFS 服务器

yum install nfs-utils* rpcbind

先启动rpcbind 再启动nfs

/etc/init.d/rpcbind start
/etc/init.d/nfs start


开机启动服务

chkconfig --level 345 rpcbind on
chkconfig --level 345 nfs on

配置文件

vim /etc.exports

/opt/mntdir 192.168.30.0/24(rw)
/opt/mntdir2 192.168.30.0/24(rw)

如果是rw,首先要保证nfs服务器上的共享目录的写权限。


备注:

例如 /opt/mntdir 是共享目录,不管其归属者,nfs服务器有ribble的账户,那么在客户机如果存在ribble的账户,且id一样。ribble的登录mntdir的时候,创建的文件会继承ribble的权限。

所以最好 /opt/mntdir的归属者也改为ribble

如果客户端没有ribble或者服务器没有ribble。就会以默认的nobody身份(相对于在nfs服务器上)访问访问/opt/mntdir 里的文件。

几个参数:

all_squash:将远程访问的所有普通用户及所属组都映射为匿名用户或用户组(nfsnobody);
no_all_squash:与all_squash取反(默认设置);
root_squash:将root用户及所属组都映射为匿名用户或用户组(默认设置);
no_root_squash:与rootsquash取反;
anonuid=xxx:将远程访问的所有用户都映射为匿名用户,并指定该用户为本地用户(UID=xxx);
anongid=xxx:将远程访问的所有用户组都映射为匿名用户组账户,并指定该匿名用户组账户为本地用户组账户(GID=xxx);
其它选项
secure:限制客户端只能从小于1024的tcp/ip端口连接nfs服务器(默认设置);
insecure:允许客户端从大于1024的tcp/ip端口连接服务器;
sync:将数据同步写入内存缓冲区与磁盘中,效率低,但可以保证数据的一致性;
async:将数据先保存在内存缓冲区中,必要时才写入磁盘;
wdelay:检查是否有相关的写操作,如果有则将这些写操作一起执行,这样可以提高效率(默认设置);
no_wdelay:若有写操作则立即执行,应与sync配合使用;
subtree:若输出目录是一个子目录,则nfs服务器将检查其父目录的权限(默认设置);
no_subtree:即使输出目录是一个子目录,nfs服务器也不检查其父目录的权限,这样可以提高效率;



客户端操作

showmount -e 192.168.1.75

mount -t nfs 192.168.30.129:/opt/mntdir/ /opt/