注意:这个/etc/exports文件也是我们用来管理NFS共享目录的使用权限与安全设置的地方,特别强调,NFS本身设置的是网络共享权限,整个共享目录的权限还和目录自身的系统权限有关。
rpc.lockd (非必要)
用来锁定文件,用于多客户端同时写入
rpc.statd (非必要)
检查文件的一致性,与rpc.lockd有关。c、d两个服务雲要客户端,服务器端同时开启才可以;rpc.statd监听来自其他主机重启的通知,并且管理当本地系统重启时主机列表。
rpc.idmapd
表示用户映射或用户压缩(重要)
3.2 /etc/exports配置文件说明 3.2.1 /etc/exports文件说明
□ NFS共享目录:
为 NFS服务器端要共享的实际目录,要用绝对路径,如 (/data )。注意共享目录的本地权限,如果需要读写共享,一定要让本地目录可以被 NFS客户端的用户 (nfsnobody)读写。
□ NFS客户端地址:
为NFS服务器端授权的可访问共享目录的NFS客户端地址,可以为单独的IP地址或主机名、域名等,也可以为整个网段地址。还可以用来匹配所有客户端服务器,这里所谓的客户端一般来说是前端的业务的业务服务器,例如:web服务。
□权限参数集
对授权的NFS客户端的访问权限设置。
nfs权限(共享目录\借给你手机)nfs配置的/ etc/exports /data 172.16.1.0/24(rw)
本地文件系统权限(\手机密码不告诉你)挂载目录的权限rwxr- xr-x root root/data
3.2.2 指定 NFS客户端地址的配置详细说明客户端地址
具体地址
说 明
授权单一客户端访问NFS
10.0.0.30
一般情况,生产环境中此配置不多
授权整个网段可访问NFS
10.0.0.0/24
其中的24等同于255.255.255.0 ,指定网段为生产环境中最常见的配置。配置简单,维护方便
授权整个网段可访问NFS
10.0.0.*
指定网段的另外写法(不推荐使用)
授权某个域名客户端访问
nfs.oldboyedu.com
此方法生产环境中一般情况不常用
授权整个域名客户端访问
*.oldboyedu.com
此方法生产环境中一般情况不常用
3.2.3 常见案例
常用格式说明
要共享的目录客户端IP地址或IP段(参1,参2,)
配罝例一
/data10.0.0.0/24(ro,sync)
说明:允许客户端读写,并且数据同步写入到服务器揣的磁盘里
注意:24和"("之间不能有空格
配置例二
/data10.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/oldboy10.0.0.0/24(ro)
说明:只读共享
用途:例如在生产环境中,开发人员有查看生产眼务器日志的需求,但又不希罜
给开发生产服务器的权限,那么就可以给开发提供从某个测试服务器NFS客户端
上查看某个生产服务器的日志目录(NFS共享)的权限,当然这不是唯一的方法,
例如可以把程序记录的日志发送到测试服务器供开发查看或者通过收集日志等其
它方式展现
3.2.4 nfs客户端访问服务原理 3.2.5 nfs服务访问原理
客户端(无论用什么用户访问)---门---服务端(nfsnobody) rpc.idmapd
3.3 NFS服务端设置rpcbind nfs服务开机自启动
[root@nfs01 ~]# chkconfig rpcbind on
[root@nfs01 ~]# chkconfig nfs on
[root@nfs01 ~]# chkconfig |egrep "rpcbinf|nfs"
nfs 0:off 1:off 2:on 3:on 4:on 5:on 6:off
nfslock 0:off 1:off 2:off 3:on 4:on 5:on 6:off
3.4 NFS配置文件编写说明 3.4.1 官方举例配置
EXAMPLE
# sample /etc/exports file
/ master(rw) trusty(rw,no_root_squash)
/projects proj*.local.domain(rw)
/usr *.local.domain(ro) @trusted(rw)
/home/joe pc001(rw,all_squash,anonuid=150,anongid=100)
/pub *(ro,insecure,all_squash)
/srv/www -sync,rw server @trusted @external(ro)
/foo 2001:db8:9:e54::/64(rw) 192.0.2.0/24(rw)
/build buildhost[0-9].local.domain(rw)
3.4.2 /etc/exports文件配置格式为: