Linux配置与应用NFS服务
NFS是SUN开发的,用于在不同的UNIX/Linux机器间进行资源共享,其设置相当容易,主要是配置
/etc/exports
文件,然后运行exportfs -a 命令来共享。现在NFS已经成为了UNIX/Linux上的标配。从实际经验来看,NFS的效率要比samba稍微高一些,只是差别不大。从配置上来看samba比较复杂,NFS较为简单
项目实施
任务一
配置简单的NFS服务器
NFS协议本身并没有提供数据传输的功能。它借助于远程过程调用(RPC)协议来实现数据的传输。可以将NFS服务器看作是一个RPC服务,而将NFS客户端看成是一个RPC客户端,这样NFS服务器和NFS客户端之间就可以通过RPC协议进行数据传输。
背景现企业内部有一台Linux服务器(centos),其IP地址为192.168.136.156,另有一台Linux客户机(ubuntu)其IP地址为192.168.136.152.现根据企业实际生产需要,配置服务器实现如下需求。
(1)将/root共享给客户机,客户机对共享可写,并采用同步方式传输数据,允许客户机以root权限访问。
(2)将/usr/src共享给192.168.136.0网段,客户端对共享可写,并采用异步方式传输数据。
(3)在上一个要求的基础上实施客户端上面所有用户身份都映射成nfsnobody
查看NFS程序是否安装
1 | #centos |
目前几乎所有的Linux发行版本都默认安装了NFS服务,如果没有的话输入命令自行安装即可。
备份NFS配置文件
cp /etc/exports /etc/exports.bak
编辑配置文件
1 | vim /etc/exports |

备注
:上面配置文件括号中的参数详细释义如下:
rw:读写权限,只读权限的参数为ro
sync:数据同步写入内存和磁盘
no_root_squash:共享目录用户的属性,如果用户是root,那么对于这个共享目录来说就具有root权限。
async:数据会先暂存于内存中,而不立即写入硬盘。
重启服务并设置开机自启
1 | service rpcbind restart |
注意要先开启rpcbind服务,然后在开启nfs服务,不然在客户机测试时会出现如下错误。

服务器端设置/usr/src本地写权限
1 | chmod o+w /use/src #为其他用户添加写权限 |
在客户机上查看NFS服务器上的共享目录
1 | showmount -e 192.168.136.156 |
客户机上测试
1 | mkdir -p /data/root #建立本地挂载点 |
我们可以在不同的挂载点下建立文件夹来测试需求
把所有用户都映射成nfsnobody

使用chmod o-w /usr/src
命令清除之前的权限,使用setfacl -m u:nfsnobody:rwx /usr/src
来设置访问控制列表。
客户机测试
1 | touch bestyhy |

客户写卸载NFS服务器
1 | umount /data/root |
若不能卸载则加上 -lf
参数强制结束
任务二
架设企业级NFS服务器
背景
备份NFS配置文件
cp /etc/exports /etc/exports.bak
编辑配置文件
1 | vim /etc/exports |