13.4 案例演练
让我们来做个实际演练,在练习之前,请将服务器的 NFS 设定数据都清除,但是保留 rpcbind 不可关闭。至于客户端的环境下, 先关闭 autofs 以及取消之前在 /etc/rc.d/rc.local 里面写入的开机自动挂载项目。同时删除 /home/nfs 目录呦! 接下来请看看我们要处理的环境为何:
模拟的环境状态中,服务器端的想法如下:
- 假设服务器的 IP 为 192.168.100.254 这一部;
- /tmp 分享为可擦写,并且不限制使用者身份的方式,分享给所有 192.168.100.0/24 这个网域中的所有计算机;
- /home/nfs 分享的属性为只读,可提供除了网域内的工作站外,向 Internet 亦提供数据内容;
- /home/upload 做为 192.168.100.0/24 这个网域的数据上传目录,其中,这个 /home/upload 的使用者及所属群组为 nfs-upload 这个名字,他的 UID 与 GID 均为 210;
- /home/andy 这个目录仅分享给 192.168.100.10 这部主机,以提供该主机上面 andy 这个使用者来使用,也就是说, andy 在 192.168.100.10 及 192.168.100.254 均有账号,且账号均为 andy ,所以预计开放 /home/andy 给 andy 使用他的家目录啦!
服务器端设定的实地演练:
好了,那么请你先不要看底下的答案,先自己动笔或者直接在自己的机器上面动手作作看,等到得到你要的答案之后, 再看底下的说明吧!
首先,就是要建立 /etc/exports 这个档案的内容啰,你可以这样写吧!
[root@www ~]# vim /etc/exports /tmp 192.168.100.0/24(rw,no_root_squash) /home/nfs 192.168.100.0/24(ro) *(ro,all_squash) /home/upload 192.168.100.0/24(rw,all_squash,anonuid=210,anongid=210) /home/andy 192.168.100.10(rw)
再来,就是要建立每个对应的目录的实际 Linux 权限了!我们一个一个来看:
# 1\. /tmp [root@www ~]# ll -d /tmp drwxrwxrwt. 12 root root 4096 2011-07-27 23:49 /tmp # 2\. /home/nfs [root@www ~]# mkdir -p /home/nfs [root@www ~]# chmod 755 -R /home/nfs # 修改较为严格的档案权限将目录与档案设定成只读!不能写入的状态,会更保险一点! # 3\. /home/upload [root@www ~]# groupadd -g 210 nfs-upload [root@www ~]# useradd -g 210 -u 210 -M nfs-upload # 先建立对应的账号与组名及 UID 喔! [root@www ~]# mkdir -p /home/upload [root@www ~]# chown -R nfs-upload:nfs-upload /home/upload # 修改拥有者!如此,则用户与目录的权限都设定妥当啰! # 4\. /home/andy [root@www ~]# useradd andy [root@www ~]# ll -d /home/andy drwx------. 4 andy andy 4096 2011-07-28 00:15 /home/andy
这样子一来,权限的问题大概就可以解决啰!
重新启动 nfs 服务:
[root@www ~]# /etc/init.d/nfs restart
在 192.168.100.10 这部机器上面演练一下:
# 1\. 确认远程服务器的可用目录: [root@clientlinux ~]# showmount -e 192.168.100.254 Export list for 192.168.100.254: /home/andy 192.168.100.10 /home/upload 192.168.100.0/24 /home/nfs (everyone) /tmp 192.168.100.0/24 # 2\. 建立挂载点: [root@clientlinux ~]# mkdir -p /mnt/{tmp,nfs,upload,andy} # 3\. 实际挂载: [root@clientlinux ~]# mount -t nfs 192.168.100.254:/tmp /mnt/tmp [root@clientlinux ~]# mount -t nfs 192.168.100.254:/home/nfs /mnt/nfs [root@clientlinux ~]# mount -t nfs 192.168.100.254:/home/upload /mnt/upload [root@clientlinux ~]# mount -t nfs 192.168.100.254:/home/andy /mnt/andy
整个步骤大致上就是这样吶!加油喔!