服务端:
查询有没有装rpm -qa rpcbind nfs-utils
如未安装则安装 yum install nfs-utils rpcbind
/etc/init.d/rpcbind start
检查rpc是否启动 netstat -luntp|grep 111
ps -ef |grep rpc
rpcinfo
配置nfs共享路径 /etc/exports
内容参考:
/data 192.168.56.0/24(rw,sync) #共享路径,允许访问网段,配置读写或其他设置
以上配置还会增加默认其他配置,实际配置可以cat /var/lib/nfs/etab查看,获取信息如下
/data 192.160.56.0/24(rw,sync,wdelay,hide,nocrossmnt,secure,root_squash,no_all_squash,no_subtree_check,secure_locks,acl,anonuid=65534,anongid=65534,sec=sys,rw,root_squash,no_all_squash)
配置完成后将/data目录设置用户和用户组,可以设置为nfsnobody
重新读取NFS配置文件,exportfs -rv或者/etc/init.d/rpcbind reload
查看是否有挂载信息 showmount -e localhost
客户端:
挂载nfs
mount -t nfs 192.168.56.101:/data /mnt
如失败可以使用showmount -e 192.168.56.101查看是否成功
记得服务器端selinux,iptables,data属性等可能会导致无法读取或写入
- #:允许ip地址范围在192.168.0.*的计算机以读写的权限来访问/home/work 目录。
- /home/work 192.168.0.*(rw,sync,root_squash)
- /home 192.168.1.105 (rw,sync)
- /public * (rw,sync)
- 配置文件每行分为两段:第一段为共享的目录,使用绝对路径,第二段为客户端地址及权限。
- 地址可以使用完整IP或网段,例如10.0.0.8或10.0.0.0/24,10.0.0.0/255.255.255.0当然也可以地址可以使用主机名,DNS解析的和本地/etc/hosts解析的都行,支持通配符,例如:*.baidu.com
- 权限有:
- rw:read-write,可读写; 注意,仅仅这里设置成读写客户端还是不能正常写入,还要正确地设置共享目录的权限,参考问题7
- ro:read-only,只读;
- sync:文件同时写入硬盘和内存;
- async:文件暂存于内存,而不是直接写入内存;
- no_root_squash:NFS客户端连接服务端时如果使用的是root的话,那么对服务端分享的目录来说,也拥有root权限。显然开启这项是不安全的。
- root_squash:NFS客户端连接服务端时如果使用的是root的话,那么对服务端分享的目录来说,拥有匿名用户权限,通常他将使用nobody或nfsnobody身份;
- all_squash:不论NFS客户端连接服务端时使用什么用户,对服务端分享的目录来说都是拥有匿名用户权限;
- anonuid:匿名用户的UID值,通常是nobody或nfsnobody,可以在此处自行设定;
- anongid:匿名用户的GID值。