Linux系统下NFS的配置及应注意的问题(2)

5.NFS server端的设定:

a)./etc/exports

分享的目录 主机名称1或IP1(参数1,参数2) 主机名称2或IP2(参数3,参数4)

b).参数

rw: 可擦写的权限

ro: 只读的权限

no_root_squash: 登入 NFS 主机使用分享目录的使用者,如果是 root 的话,那么对于这个分享的目录来说,他就具有 root 的权限!这个项目『极不安全』,不建议使用!

root_squash: 在登入 NFS 主机使用分享之目录的使用者如果是 root 时,那么这个使用者的权限将被压缩成为匿名使用者,通常他的 UID 与 GID 都会变成 nobody 那个身份;

all_squash: 不论登入 NFS 的使用者身份为何,他的身份都会被压缩成为匿名使用者,通常也就是 nobody 啦!

anonuid: 前面关于 *_squash 提到的匿名使用者的 UID 设定值,通常为 nobody,但是你可以自行设定这个 UID 的值!当然,这个 UID 必需要存在于你的 /etc/passwd 当中!

anongid: 同 anonuid ,但是变成 group ID 就是了

sync: 资料同步写入到内存与硬盘当中

async: 资料会先暂存于内存当中,而非直接写入硬盘

6.设置的实例:

a). /tmp *(rw,no_root_squash) //*号表示所有的IP都可以访问

b). /tmp *(rw)

/home/public 192.168.0.*(rw) *(ro) //下面两行作用一样

/home/public 192.168.0.0/24(rw) *(ro)

c). /home/test 192.168.0.100(rw) //只对某部机器设置权限

d). /home/linux *.linux.org(rw,all_squash,anonuid=40,anongid=40) //当*.linux.org登陆此NFS主机,并且在/home/linux下面写入档案时,该档案的所有人与所有组,就会变成/etc/passwd里面对应的UID为40的那个身份的使用者了.

7.权限问题

假设/etc/exports里面的内容为

#vi /etc/exports

/tmp *(rw,no_root_squash)

/home/public 192.168.0.*(rw) *(ro)

/home/test 192.168.0.100(rw)

/home/linux *.linux.org(rw,all_squash,anonuid=40,anongid=40)

假设我们在192.168.0.100这个client端登陆此NFS主机(192.168.0.2),那么

情况一:在192.168.0.100的帐号为test这个身份,同时,NFS主机上也有test这个帐号

a).由于NFS主机的/tmp权限为-rwxrwxrwt,所以我(test在192.168.0.100上)在/tmp下面具有存取的权限,并且写入档案的所有人为test.

b).在/home/public中,由于我有读写的权限,如果NFS主机在/home/public这个目录的权限对于test开放写入的话,那么就可以读写,并且写入档案的所有人是test。如果NFS主机的/home/public对于test这个使用者并没有开放写入权限时,那就无法写入,虽然/etc/exports里面是rw,也不起作用.

c).在/home/test中,权限与/home/public有相同的状态,需要NFS主机的/home/test对于test有开放的权限.

d).在/home/linux当中,不论是何种的user,身份都会被变成UID=40的这个帐号

情况二:如果我们在192.168.0.100的身份为test2,但是NFS主机却没有test2这个帐号时

a).在/tmp下还是可以写入,但是写入的档案所有人变成nobody.

b).在/home/public与/home/test里面是否可以写入,还需要看/home/public的权限而定,不过身份就被变成nobody了

c)/home/linux下的身份还是变成UID=40的帐号.

情况三:在192.168.0.100的身份为root

a).在/tmp里面可以写入,但是由于no_root_squash的参数,改变了预设的root_squash的设定值,所以在/tmp写入档案的所有人为root了.

b).在/home/public底下的身份被压缩成了nobody,因为预设的属性都具有root_squash,所以档案所有人就变成了nobody.

c)./home/test情况与/home/public相同.

d)./home/linux中,root的身份也被压缩成UID=40的那个使用者了.

8.启动服务portmap,nfs

#/etc/rc.d/init.d/portmap start (or:#service portmap start)

#/etc/rc.d/init.d/nfs start (or:#service nfs start)

可以到/var/log/messages里面查看是否正确激活

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/be779f3dc8075fd14f6ed3e0b9a3cb2d.html