上一节说到了SMB/CIFS一般是Windows和Linux之间的访问协议;那么Linux系统之间互相访问则是通过NFS来实现。这一节学习如何配置NFS的服务器端,客户端以及autofs的使用。
服务器端:
首先创建一个测试的共享目录,修改(新建)一个exports文件,内容如下所示,然后关掉防火墙 (或者在firewalld里面打开nfs,rpc-bind和mounted3个服务),重启nfs服务。一个初步的设置就完成了,稍后会对这个文件做一点点修改。
客户端
可以使用showmount来查看远端的NFS共享
例如
本地创建一个目录,然后加载远端的共享
修改fstab文件开机实现自动加载
然后试着往里面写点东西。
输入 touch /nfs/aaa 试试看。
Biang !! 提示没有权限。这是为什么呢
这是因为默认的权限选项是root_squash,禁止远端用户具有root权限
可以查看各种选项配置
修改一下 exports文件,增加 no_root_squash
再试试,客户端就成功了
再做个测试,服务器再新建一个nfs共享
注意 修改nfs的时候不要轻易重启nfs服务,不然客户端那头会卡一会; 用exportfs来重新加载;
客户端看看已经更新了
然后和前面问题一样,没有权限写入
服务器端给other 组分配一个写的权限
客户端就能写入了,可以看见,客户端是以nfsnobody的身份登录的
第二个知识点是关于autofs的使用。我们可以使用fstab来实现自动加载;还有一种方式则是autofs。当我们访问一个目录的时候,他会自动挂载预先配置的外部设备(CD,NFS等等)
首先安装autofs
然后编辑 /etc/auto.master 文件。
默认的样本是指向 /misc /etc/auto.misc 意思是挂载点在/misc 下面,具体的挂载内容去/etc/auto.misc里面看。
依葫芦画瓢,我写了个 /mnt /etc/auto.aa
然后把那个示范的配置文件拷贝一份
自己修改一下,添加了两行数据,第一个是自动挂载本地光盘到 /mnt/dvd, 第二个是自动挂载远端nfs共享目录到/mnt/nfs
重启服务, 查看一下/mnt, 貌似是空的,但是直接访问绝对路径,是没有问题的,实验成功
这个时候再查看一下,两个挂载的目录已经自动创建了
最后提一句,autofs经常和ldap搭配使用,用来自动挂载远端的用户目录。比如用户家目录位于/home, 那么 auto.master文件里面改成
/home /etc/auto.aa
对应的/etc/aut.aa里面就可以了
* -fstype=nfs,rw ldap.com:/home/&