|
|
|
|
移动端

7.1.1 常规配置(2)

《Linux服务器配置全程实录》第7章使用NFS配置文件服务器。NFS(Network File System,网络文件系统)是1980年由SUN公司发展出来在UNIX/Linux系统间实现磁盘文件共享的一种方法。本章中讲解通过NFS配置文件服务器以及Windows客户端访问NFS配置的文件服务器的相关内容。本节为大家介绍常规配置。

作者:张勤/杨章明来源:人民邮电出版社|2011-08-10 20:22

7.1.1  常规配置(2)

(3)参数:对满足客户端匹配条件的客户端进行相关配置。可用参数如表7-2所示,其中匿名用户指的是nfsnobody用户。

表7-2 NFS参数

   

   

ro

设置共享为只读,这是默认选项

rw

设置共享为读写

root_squash

当源计算机(NFS客户端)当前用户是 root时,

将被映射为目标计算机(NFS服务器)匿名用户

no_root_squash

当源计算机(NFS客户端)当前用户是 root时,

将被映射为目标计算机(NFS服务器)root用户

all_squash

将所有用户映射为目标计算机(NFS服务器)

的匿名用户,这是NFS默认选项

anonuid

设置匿名用户的UID

anongid

设置匿名用户的GID

sync

保持数据同步,同时将数据写入内存和硬盘,这是默认选项

async

先将数据保存在内存,再回写入硬盘。这样可以

提高效率,但有可能造成数据丢失

secure

NFS客户端必须使用NFS保留端口

(通过1 024以下的端口),这是默认选项

insecure

允许NFS客户端不使用NFS保留端口

(通过1 024以上的端口)

wdelay

如果NFS服务器怀疑有另一个相关的写请求

正在处理或马上就要达到,NFS服务器将延迟

提交写请求到磁盘,这就允许使用一个操作提交

多个写请求到磁盘,这样可以改善性能,这是默认选项

nowdelay

设置了async时该选项无效,NFS服务器将

每次写操作写入磁盘

4.只读共享目录

配置NFS共享目录可直接编辑/etc/exports文件。下面的例子中将/home/tonyzhang目录通过NFS共享,但只有192.168.0.0/24、192.168.1.0/24网段的客户端以只读方式访问。

  1. /home/tonyzhang 192.168.0.*(ro) 192.168.1.*(ro) 

在定义客户端匹配条件及参数时,一定要注意在多个客户端匹配条件之间必须有空格分隔,而在客户端匹配条件与参数之间不能有空格。下面的例子中在"*"和"("之间有空格,这样定义的结果就是192.168.0.*及所有客户端均可以通过NFS访问。这主要是因为以下两个原因。

(1)参数中ro是默认值,NFS会认为客户端匹配条件192.168.0.*的参数是ro。

(2)客户端匹配条件是*,NFS会认为"ro"这个参数的客户端匹配条件为"*"。

  1. /home/tonyzhang 192.168.0.*  (ro) 

在配置NFS共享目录完成后,需要重新启动nfs服务或通过exportfs -ar命令使配置生效。最后也可以通过showmount -e查看配置情况,也可以通过查看/var/lib/nfs/etab文件显示NFS共享目录的所有参数(包括所有明确配置及未明确而使用默认值的参数),如图7-3所示。

 
(点击查看大图)图7-3  showmount

5.可写共享目录

下面的例子将/home/tonyzhang目录共享,192.168.0.*网段的客户端只写,而其他所有客户端以只读方式访问。

  1. /home/tonyzhang 192.168.0.*(rw) *(ro) 

与Samba一样,在NFS中配置可写权限后,能否写入还必须根据实际目录的系统权限才能最后决定是否可写。如果确定通过NFS访问共享时需要写权限最简单的方法就是将该目录的其他用户权限中加入可写,在上面的例子中,还需要运行以下命令后,192.168.0.0/24网段的客户端才真正具有写权限。

  1. chmod o+w /home/tonyzhang 

6.用户访问权限

NFS对访问用户控制没有Samba中的功能强大,但是基本也可满足日常工作对NFS的需要,与访问用户配置相关的参数主要有root_squash、no_root_squash、all_squash、anonuid、anongid。下面来看几个例子。

(1)当192.168.0.0/24网段的客户端通过NFS访问/home/tonyzhang时,不管客户端是以什么身份登录到自己的系统,NFS服务器会认为其拥有本机nsfnobody对该目录的权限(因为all_squash是默认选项)。

  1. /home/tonyzhang 192.168.0.*(ro)  

(2)当192.168.0.0/24网段的客户端通过NFS访问/home/tonyzhang时,如果有客户端是以root身份登录到自己的系统,那么NFS服务器会认为其拥有本机root对该目录的权限。

  1. /home/tonyzhang 192.168.0.*(ro, no_root_squash) 

(3)当192.168.0.0/24网段的客户端通过NFS访问/home/tonyzhang时,如果有客户端是以root身份登录到自己系统的,那么NFS服务器会认为其拥有本机nsfnobody对该目录的权限。all_squash与root_squash的区别在于,all_squash会将客户端所有用户映射为nfsnobody,而root_squash只将客户端root映射为nfsnobody。

  1. /home/tonyzhang 192.168.0.*(ro, root_squash) 

(4)当192.168.0.0/24网段的客户端通过NFS访问/home/tonyzhang时,不管客户端是以什么身份登录到自己系统的,那么NFS服务器会认为其拥有本机UID为509的用户及GID为510的用户对该目录的权限。anonuid、anongid不一定要同时出现在参数里。

  1. /home/tonyzhang 192.168.0.*(ro, anonuid=509,anongid=510

(5)当192.168.0.0/24网段的客户端通过NFS访问/home/tonyzhang时,如果有客户端是以root身份登录到自己的系统,那么NFS服务器会认为其拥有本机root对该目录的权限,如果客户端是以其他非root身份登录到自己系统的,那么NFS服务器会认为其拥有本机UID为509的用户及GID为510的用户对该目录的权限。

  1. /home/tonyzhang 192.168.0.*(ro, no_root_squash,anonuid=509,anongid=510

(6)当192.168.0.0/24网段的客户端通过NFS访问/home/tonyzhang时,不管客户端是以什么身份登录到自己系统的(包括root),那么NFS服务器会认为其拥有其本机UID为509的用户及GID为510的用户对该目录的权限。

  1. /home/tonyzhang 192.168.0.*(ro, root_squash,anonuid=509,anongid=510

这几个参数的作用在于可以利用系统的ACL提供更精细的权限控制。

【责任编辑:云霞 TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

系统分析师考试辅导(2007版)

《系统分析师考试辅导(2007版)》内容涵盖了最新的系统分析师考试大纲信息系统综合知识的所有知识点,分析了近3年信息系统分析与设计案例...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊