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

整个步骤大致上就是这样吶!加油喔!


原文: https://wizardforcel.gitbooks.io/vbird-linux-server-3e/content/94.html