网上大部分的教程是NFS给LINUX访问,但是windows访问略有不同,主要是权限不同。
linux上NFS共享的文件夹权限最好是757.
window上显示nfs属性其他是可读写,才可以否则会出现只读不能写。
安装:
# yum -y install nfs-utils portmap
配置:
# vi /etc/exports
在exports文件中添加
/data 192.168.1.0/24(rw,sync,no_root_squash)
1、配置文件定义
NFS的配置文件为 /etc/exports,内容格式如下:
<共享目录> 客户端1(选项) [客户端2(选项) ...]
共享目录:NFS共享给客户机的目录。
客户端:网络中可以访问此目录的主机。多个客户端以空格分隔。
选项:设置目录的访问权限、用户映射等,多个选项以逗号分隔。
例如:
/opt/public 192.168.1.0/24(rw,insecure,sync,all_squash,anonuid= 65534,anongid=65534)
2、客户端的指定方式
指定ip地址的主机:192.168.0.100
指定子网中的所有主机:192.168.0.0/24 或 192.168.0.0/255.255.255.0
指定域名的主机:nfs.test.com
指定域中的所有主机:*.test.com
所有主机:*
3、选项说明
ro:共享目录只读;
rw:共享目录可读可写;
all_squash:所有访问用户都映射为匿名用户或用户组;
no_all_squash(默认):访问用户先与本机用户匹配,匹配失败后再映射为匿名用户或用户组;
root_squash(默认):将来访的root用户映射为匿名用户或用户组;
no_root_squash:来访的root用户保持root帐号权限;
anonuid=<UID>:指定匿名访问用户的本地用户UID,默认为nfsnobody(65534);
anongid=<GID>:指定匿名访问用户的本地用户组GID,默认为nfsnobody(65534);
secure(默认):限制客户端只能从小于1024的tcp/ip端口连接服务器;
insecure:允许客户端从大于1024的tcp/ip端口连接服务器;
sync:将数据同步写入内存缓冲区与磁盘中,效率低,但可以保证数据的一致性;
async:将数据先保存在内存缓冲区中,必要时才写入磁盘;
wdelay(默认):检查是否有相关的写操作,如果有则将这些写操作一起执行,这样可以提高效率;
no_wdelay:若有写操作则立即执行,应与sync配合使用;
subtree_check(默认) :若输出目录是一个子目录,则nfs服务器将检查其父目录的权限;
no_subtree_check :即使输出目录是一个子目录,nfs服务器也不检查其父目录的权限,这样可以提高效率;
NFS相关命令
1、exportfs
不重启nfs服务应用更新,相关选项如下:
-a 全部挂载或卸载 /etc/exports中的内容
-r 重新读取/etc/exports 中的信息 ,并同步更新/etc/exports、/var/lib/nfs/xtab
-u 卸载单一目录(和-a一起使用为卸载所有/etc/exports文件中的目录)
-v 在export的时候,将详细的信息输出到屏幕上。
2、nfsstat
查看NFS的运行状态。
3、rpcinfo
查看rpc服务注册情况。
相关选项:
-p 显示所有的端口与程序信息。
示例:
rpcinfo -p localhost #列出本机的RPC注册状况。
重启nfs 或者使用exportfs命令使设置生效
重启nfs:
service nfs restart
生效exportfs文件:
exportfs -rv
#exportfs用法
-a :全部mount或者unmount /etc/exports中的内容
-r :重新mount /etc/exports中分享出来的目录
-u :umount 目录
-v :将详细的信息输出到屏幕上
这样nfs的服务器端就设置好了。
开机启动portmap和nfs:
注意,一定要先启动portmap在启动nfs,否则会报错。
#service portmap start #service nfs start #chkconfig --level nfs 35 on #chkconfig --level protmap 35 on
参考文章:
http://www.j3j5.com/post-28.html
http://www.cnblogs.com/lykyl/archive/2013/06/14/3136921.html