下面是一些NFS共享的常用参数:
ro 只读访问
rw 读写访问
sync 所有数据在请求时写入共享
async NFS在写入数据前可以相应请求
secure NFS通过1024以下的安全TCP/IP端口发送
insecure NFS通过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_squash root用户的所有请求映射成如anonymous用户一样的权限(默认)
no_root_squas root用户具有根目录的完全管理访问权限
anonuid=xxx 指定NFS服务器/etc/passwd文件中匿名用户的UID
例如可以编辑/etc/exports为:
/tmp *(rw,no_root_squash)
/home/public 192.168.0.*(rw) *(ro)
/home/test 192.168.0.100(rw)
/home/linux *.the9.com(rw,all_squash,anonuid=40,anongid=40)
NFS共享文件系统用户映射过程说明
NFS共享文件系统配置文件案例说明
配置例一 /data 10.0.0.0/24(rw,sync)
说明:允许客户端读写,并且数据同步写入到服务器端的磁盘里
注意:24和“(”之间不能有空格
配置例二 /data 10.0.0.0/24(rw,sync,all_squash,anonuid=2000,anongid=2000)
说明:允许客户端读写,并且数据同步写到服务器端的磁盘里,并且指定客户端的用户UID和GID。
早期生产环境的一种配置,适合多客户端共享一个NFS服务单目录,
如果所有服务器的nfsnobody账户UID都是65534,则本例没什么必要了。
早期centos5.5的系统默认情况下nfsnobody的UID不一定是65534,此时如果这些服务器共享一个NFS目录,
就会出现访问权限问题。
配置例三 /home/oldboy 10.0.0.0/24(ro) <– 是为开发人员想查看线数据准备配置方式
说明:只读共享
用途:例如在生产环境中,开发人员有查看生产服务器日志的需求,但又不希望给开发生产服务器的权限,
那么就可以给开发提供从某个测试服务器NFS客户端上查看某个生产服务器的日志目录(NFS共享)的权限,
当然这不是唯一的方法,
例如可以把程序记录的日志发送到测试服务器供开发查看或者通过收集日志等其它方式展现
客户端权限用户显示nobody解决办法
把指定用户要创建出来
解决方法: useradd ftpuser
处理思路:客户端和服务端都要启动一个”rpcidmapd”的服务
服务端:/etc/init.d/rpcidmapd start
客户端:/etc/init.d/rpcidmapd start
查看客户端
提示:如果客户端显示还有问题,等待一会儿,就会显示正常。
如果显示部分正确,需要reload服务端和客户端的’rpcidmapd’ 服务