2、使用NFS共享目录
NFS同样是由Sun Microsystem开发一用于UNIX系统之间共享文件的网络服务系统,与NIS一样,它也得到大多数的UNIX系统的支持。
在文章最开始的时候,我们提到用户需要每次都从FTP下载文件的问题,现在我们就可以用NFS来解决这个问题了,我们可以将某台机器的某个文件文件夹)共享出来供其它机器使用。
在上面讲NIS的时候我们注意到,当我们使用NIS主服务器上的用户登录到其它UNIX机器的时候会被提示找不到用户的HOME目录,那么我们就利用NFS来将NIS主服务器上的/home目录共享出来,然后在每个UNIX客户端将其mount到本机的/home上,这样就可以解决找不到用户HOME目录问题了,并且无论用户在哪台机器登录,都可以直接进入自己的工作环境,使用自己的文件。
下面就让我们来实施具体的工作。
首先根man nfsd我们可以知道nfsd(8)只是处理NFS协议,真正的远程mount共享)功能是由mountd(8)来完成的,而mountd是通过/etc/exports来设置共享目录的。exports(5)里的每一行表示第一个共享设置,第一行中都有以下三个部分:
第一部分是设置要共享出去的目录或目录列表,当要共享多个目录的时候使用空格分隔每个目录。
第二部分是共享参数,比如设置只读共享,对帐号的映射等。
第三部分是设置可以访问该共享的主机或主机列表,多个主机使用空格分隔。
我们就以共享NIS服务器dog.mydomain.nis)上的/home目录为例,向大家说明exports的配制方法:
dog# cat /etc/exports
/home -maproot=daemon -network 192.168.7.0 -mask 255.255.255.0其中/home为我们要共享出来的目录,-maproot=daemon是共享参数,表示当本地UNIX系统使用远程的/home目录时,将本地的root帐号的uid映射为远程机器上的daemon,gid映射为空,也就是说当我们以root身份访问dog上的/home目录时,我们的身份会被转换成远程主机dog上的daemon的身份。后面的-netmask=192.168.7.0 -mask=255.255.255.0设置可能访问该些共享资源的主机为192.168.7.0/255.255.255.0这个子网内的所有机器。
还有很多共享参数可以设置,比较有用的有:-mapall=将所有的本地帐号映射为远程主机上的某个指定帐号,-ro以只读共享该文件夹默认为可读写)其它参数你可以通过man exports得到,这里就一一列举了。
现在我们的共享资源已经通过/etc/exports设置好了,接下来就是启动NFS守户进程nfsd和远程共享进程mountd了,由于NFS同NIS一样也使用RPC,所以要在启动NFS之前行启动portmap进程:
dog# portmap 如果已经启动就不再需要这一步了
dog# nfsd -n 5
dog# mountd
其中nfsd -n 5中的-n参数是指定同时建立多少个服务副本,可能选择4-6,这有助于提供NFS系统性能,但也不过太高,否则会占用大量资源。现在NFS就已经启动成功了,你可以通过showmount(8)来查询你的共享资源:
dog# showmount -e localhost
/home 192.168.7.0这表明我们的NFS服务器已经正确启动了,接下来就要在客户端设置了。
在客户端我们使用mount_nfs来将远程主机共享的目录mount到本地上,因为在本例中我们是希望将远程主机dog)上的/home目录mount到客户端cat)的/home目录以保证系统用户的数据同步,所以我们进行以下操作:
cat# mount_nfs dog:/home /home现在远程的共享目录/home就已经mount到本地的/home目录中了,我们可以看到mount_nfs与其它mount命令不同,它不是使用设备名如/dev/ad0s1)而是使用hostname:/sharedir的方式来表示mount源,其中hostname是远程主机的主机名或IP地址。
现在我们再次使用matthew这个帐号该帐号在NIS服务器dog.mydomain.nis上存在),在cat.mydomain.nis登录:
FreeBSD (i386)
Login: matthew
Passwd:
matthew $ pwd
/home/matthew现在我们可以看到,我们在dog这台机器上的文件,现在在cat上全部可以看到了,当然以前的那个找不到用户HOME目录的错误信息现在也没有了。
可以看到,通过NIS和NFS可以使管理员管理UNIX网络中的用户帐号等信息非常方便,因为所有的修改都只需要在一台机器上进行,而其它机器自动的就会改变。同时对用户来说,他们可以只使用一个帐号而在任何一台主机上登录,而且不用再使用麻烦的FTP在不同的主机间传递文件,用户在每台机器上的文件都会自动保持更新。

  1. 在RHEL 5中配置NIS服务器端及客户端
  2. RHEL上NIS网络信息服务配置实例讲解
  3. RHEL5.1主/从NIS服务器配置及测试 


相关内容