NFS网络文件结构(1)


在Linux系统中,我们通常讨论NFS组建的使用。这里我们来了解一下NFS网络文件的一些知识。包括他的系统和结构。如果在Red Hat Enterprise Linux 5安装时已经默认安装了NFS组件,接下来的工作主要是配置相关文件使服务器提供NFS服务,步骤如下。

1)设定某台计算机为NFS服务器,并在后台启动相关的守护进程在"服务配置"中启动)。一般来说,如果NFS服务器要提供服务,必须启动inet、portmap、nfs和mount这4个守护进程并保持在后台运行。

2)规划服务器分区,从安全等方面定义哪些分区作为要共享的文件系统。

3)在客户端列表中定义每一台客户机的参数。

4)修改/etc/exports。

5)重新启动NFS服务器,启动方法可采用命令行的方式,即/etc/rc.d/init.d/nfs restart。服务器端文件系统的共享设置有3种方法,一是直接修改/etc/exports文件;二是用exports命令来增加和删除目录;三是图形化的配置方法。

1、 了解NFS网络文件的系统结构

NFS网络文件的系统结构包括如下目录结构:

1./etc/exports

这个文件是NFS的主要配置文件,不过系统并没有默认值,所以这个文件不一定会存在。可能要使用vi主动建立起这个文件,接下来的设定也仅仅是这个文件。

2./usr/sbin/exportfs

这是维护NFS共享资源的命令,我们可以用其重新分享/etc/exports变更的目录资源,并将NFS Server分享的目录卸载或重新分享等。这个命令是NFS系统中相当重要的一个,至于命令的用法在后面章节再介绍。

3./usr/sbin/showmount

showmount命令主要用在Client端,可以用来查看NFS共享出来的目录资源。

4./var/lib/nfs/*tab

在NFS服务器的登录文件都放置到/var/lib/nfs/目录中,在该目录下有两个比较重要的登录文件,一个是etab,主要记录了NFS网络文件所分享出来的目录的完整权限设定值;另一个是xtab,记录曾经连接到此NFS主机的相关客户端数据。

2、  配置/etc/exports文件

用户可以把需要共享的文件系统直接编辑到/etc/exports文件中,这样当nfs网络文件的服务器重新启动时系统就会自动读取/etc/exports文件,从而告诉内核要输出的文件系统和相关的存取权限.在下面的例子中显示了/etc/exports文件中几个条目项的内容,被挂载在/pub目录下的文件系统具有只读访问权限,所有的计算机在访问文件系统的时候不必经过安全检查.编辑/etc/exports文件:

# vi /etc/exports

/usr/sys/src -maproot=daemon host2

/usr/ports -ro -network 192.168.1.0

从上面这个例子中可以看出exports文件的格式,首先是定义要共享的文件目录.必须使用绝对路径,而不能使用符号链接.然后设置对这个目录进行访问限制的参数,用于保证安全性.在第1行设置中,将/usr/sys/src目录共享出去.但限制客户机上的root用户等价于本机上的daemon用户,以避免客户机上的root用户拥有这个服务器上的root权限进行非法操作.此后的host2参数是主机名,从而限制只有host2才能共享这个/usr/sys/src目录;第2行设置共享/usr/ports目录,但限制为只允许读取,并且也只有网络上的192.168.1.0计算机才能访问这个共享目录.

1)rw:可读写权限.

2)ro:只读权限.

3)no_root_squash:当登录NFS主机使用共享目录的使用者是root时,其权限将被转换成为匿名使用者,通常它的UID与GID都会变成nobody身份.

4)root_squash;如果登录NFS主机使用共享目录的使用者是root,那么对于这个共享的目录来说,它具有root的权限.

5)all_squash:忽略登录nfs网络文件系统使用者的身份,其身份都会被转换为匿名使用者,通常即nobody.

6)anonuid:通常为nobody,也可以自行设定这个UID的值,UID必须存在于/etc/passwd中.

7)anongid:同anonuid,但是变为Group ID.

8)sync:同步写入资料到内存与硬盘中.

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

主机可以使用以下格式.

1)单个机器:一个全限定域名能够被服务器解析)、主机名能够被服务器解析)或IP地址.

2)使用通配符来指定的机器系列,使用 * 或 ?字符来指定一个字符串匹配.IP地址中不使用通配符.如果反向DNS查询失败,它们可能会碰巧有用.在完整域名中指定通配符时,点.)不包括在通配符中.例如,*.example.com包括one.example.com,但不包括one.two.example.com..

3)IP网络:使用a.b.c.d/z,a.b.c.d是网络,z是子网掩码中的位数如192.168.0.0/24).另一种可以接受的格式是a.b.c.d/netmask,a.b.c.d是网络,netmask是子网掩码如192.168.70.8/255.255.255.0).

3、  激活服务portmap和nfsd

命令如下:

# /etc/rc.d/init.d/portmap  start

# /etc/rc.d/init.d/nfs  start

portmap激活之后,就会出现一个端口号为111的sunrpc的服务.至于nfs则会激活至少两个以上的系统守护进程,然后就开始监听Client PC的需求.使用cat/var/log/messages可以查看操作是否成功:

#cat /var/log/messages

Nov 16 15:04:45 cao portmap: portmap startup succeeded

Nov 16 15:04:53 cao nfs: Starting NFS services:  succeeded

Nov 16 15:04:54 cao nfs: rpc.rquotad startup succeeded

Nov 16 15:04:54 cao nfs: rpc.mountd startup succeeded

Nov 16 15:04:54 cao nfs: rpc.nfsd startup succeeded


相关内容

    暂无相关文章