NFS简易配置笔记

NFS是Network File System的缩写,即网络文件系统。用于在UNIX类系统之间共享文件,可以轻松的挂载(mount)到一个目录上,操作起来就像本地文件一样的方便。

最近帮同事配置NFS的过程中,经历了很多问题,记录一下。系统为Red Hat Linux 9

·启动NFS服务

service nfs start

同理重启和关闭就是替换start为restart和stop。

·配置/etc/exports文件

这个配置文件决定了哪些文件是允许通过网络导出的。格式为"路径 权限"。一个例子如下:

/tmp/test *(rw,async)

这就是说共享/tmp/test目录,所有用户都有权力访问,并可以读写和异步传输数据。所有用户是用*定义的,同样也可以用IP地址、IP/num、机器名等等几种方式。

这里千万注意,有些书上记录着可以在路径名之后直接加上括号并定义其权限,根据实际测试表明,这种情况不会提示出错,但是在挂载的时候却要提示权限不够,很郁闷。所以,为了安全起见,就不要在路径后加括号这种方式定义权限。

·立即导出

执行命令如下:

exportfs -rv

这样会立即处理文件/etc/exports,并且将其内容导出到NFS服务器。这也是一种很好的检测配置文件语法的方法。有些已经过时的定义在这个操作中会有提示。

·查看一台电脑上NFS已经导出的文件夹

showmount -e IP

这样就可以看到对方导出的列表了。

·挂载使用

如上例导出的目录,而我要挂载到/mnt/temp文件夹下,如下命令:

mount -t nfs IP:/tmp/test /mnt/temp

一般来说会执行成功,如果确实执行失败了,一般来说也就是权限问题。

·权限问题

在UNIX类操作系统上定义的网络服务有两层级别的权限设置,一是文件系统级别的权限设置,另一个是网络服务自定义的权限设置。刚刚我们配置的NFS共享资源已经确保了其网络服务权限设置的正确,下面我们定义其文件系统权限:

chown nfsnobody:nfsnobody /tmp/test

这样就将文件夹/tmp/test的所有权和所有组改为了nfsnobody,这个用户是NFS服务默认使用的用户,可以确保权限的设置方便。

·卸载

对大家来说太简单了一点,但是对于新手来说,还是说一下吧。直接对已经挂载的目录执行umount操作即可,如下:

umount /mnt/temp

这样就完成了已经挂载目录的卸载工作。