1.         简介
1)         介绍
NFS是Network File System的简写,即网络文件系统,也被称为NFS。NFS允许一个系统在网络上与它人共享目录和文件。通过使用NFS,用户和程序可以像访问本地文件一样访问远程系统上的文件
2)         NFS好处
Ø 本地工作站使用更少的磁盘空间,因为通常的数据可以存放在一台机器上而且可以通过网络访问到
Ø 用户不必在每个网络机器中都有一个home目录,home目录可以被放在NFS服务器上并且在网络上处处可用
Ø U盘与CDROM等存储设备可以在网络上面被别的机器使用,这可以减少整个网络上的可移动介质设备的数量
3)         三个守护进程
Ø rpc.nfsd
基本的NFS守护进程,主要管理客户端是否能登入服务端
Ø rpc.mountd
RPC的安装守护进程,主要管理NFS的文件系统。当客户端通过rpc.nfsd登陆NFS服务端后,在使用NFS服务端所提供的文件前,还必须通过文件使用权限的验证,rpc.mountd会读取NFS的配置文件/etc/exports来对比客户端权限
Ø portmap
portmap进行端口映射,当客户端尝试连接并使用RPC服务端提供的服务(如NFS服务)时,portmap会将所管理与服务对应的端口号提供给客户端,使客户端可以通过该端口向服务端请求服务。portmap如果没有运行,NFS客户端就无法查找从NFS服务端中共享的目录
4)         重要的文件
Ø /etc/exports
介绍
NFS中目录共享配置文件,用于编写需要共享的目录以及所共享的网络和用户权限
格式
共享的目录 [主机名称1|网段1|域1](参数1,参数2) [主机名称2|网段2|域2] (参数3,参数4)
参数:
rw:
可读可写的权限
ro:
只读的权限
no_root_squash:
登入到NFS主机的用户如果是root用户,他就拥有root的权限,此参数很不安全,建议不要使用。
root_squash:
客户端用root用户访问该共享文件夹时,将root用户映射成nobody用户
all_squash:
不管登录NFS主机的用户是什么都会被重新设定为匿名用户
anonuid:
将登入NFS主机的用户都设定成指定的user id,此ID必须存在于/etc/passwd中
anongid:
同anonuid,但是换成group ID
sync:
资料同步写入存储器中
async:
资料会先暂时存放在内存中,不会直接写入硬盘
insecure:
允许从这台机器过来的非授权访问
Ø /usr/sbin/exportfs
这是维护NFS共享资源的命令,我们可以用其重新分享/etc/exports变更的目录资源,并将NFS Server分享的目录卸载或重新分享等。这个命令是NFS系统中相当重要的
Ø /usr/sbin/showmount
showmount命令主要用在Client端,可以用来查看NFS共享出来的目录资源
Ø /var/lib/nfs/*tab
在NFS服务器的登录文件都放置到/var/lib/nfs/目录中,在该目录下有两个比较重要的登录文件,一个是etab,主要记录了NFS所分享出来的目录的完整权限设定值,另一个是xtab,记录曾经连接到此NFS主机的相关客户端数据
2.         NFS配置(Linux5.4服务端,Linux9客户端)
1)         命令行配置
Ø 配置允许所有客户端的访问
编辑主配置文件

 

允许所有客户端访问/tmp目录具有读写权限
重启服务

Linux下的NFS配置篇_第1张图片

要启用NFS服务,首先要启用portmap服务,在portmap激活之后,portmap会将服务对应的端口号提供给客户端,才能进行NFS服务的传输
测试
查看

在Linux 9下,使用showmount -e命令查看NFS服务器的共享目录
挂载

Linux下的NFS配置篇_第2张图片

将服务端的/tmp目录挂载在根目录下的/nfs目录中,/nfs为自己创建的目录
查看文件
服务端创建文件

服务端在/tmp目录下创建zwb文件
客户端浏览文件

Linux下的NFS配置篇_第3张图片

在客户端使用ll命令查看存在zwb文件,即可读,并创建zzj文件,创建成功,即可写
Ø 配置固定网段客服访问
编辑主配置文件

允许来自10.1.33.0/24网段的成员访问/tmp目录具有只读权限
重启服务

Linux下的NFS配置篇_第4张图片

测试
网段内IP
查看IP

Linux下的NFS配置篇_第5张图片

客户端IP为10.1.33.210/24,不在限制网段中,可以访问
查看

查看服务端所共享的目录
挂载

Linux下的NFS配置篇_第6张图片

将服务端中的/tmp目录挂载在/nfs目录中
查看文件

使用ll命令查看,可以看到上面在/nfs中创建的2个文件,即可读,使用touch /nfs/zf在/nfs目录中创建zf文件,提示权限不够,因为服务端设置的为可读权限
网段外IP
查看IP

Linux下的NFS配置篇_第7张图片

客户端IP为10.1.32.1/24,在限制网段中,不能访问
查看

在限制中的网段能够查看到服务端所共享的目录
挂载

挂载时提示权限不够
Ø 配置域的成员可以访问
编辑主配置文件

 

允许来自.zwb.nfs域的成员访问/tmp目录具有只读权限
重启服务

Linux下的NFS配置篇_第8张图片

测试
域内主机
设置域

 

在服务端的hosts解析中加入对客户端地址的解析,解析为localhost.zwb.nfs,即.zwb.nfs域内
查看

在客户端查看服务端共享目录
挂载

Linux下的NFS配置篇_第9张图片

挂载服务端共享目录
权限

因为只设置了可读权限,所以ll查看文件时,可以看到原来建立的2个文件,当用touch创建文件时,提示权限不够
域外主机
查看域

 

在服务端的hosts解析中加入对客户端地址的解析,解析为localhost.localdomain,即为.localdomain的域
查看

可以查看服务端共享目录
挂载

挂载时提示权限不够
Ø exportfs命令的使用
格式
exportfs [选项] [目录]
选项
-a
启用或取消所有目录共享
-r
重新共享所有目录
-u
取消一个或多个目录共享
-v
将详细的共享信息输出
实例
实例1

 

修改/etc/exports文件,添加/mnt *(rw),将/mnt用户

Linux下的NFS配置篇_第10张图片

exportfs -v查看当前共享目录,没有刚刚写入的/mnt目录,exportfs -a启用所有共享目录,再次查看,可以看到刚刚写的/mnt目录,使用exports命令,在修改/etc/exports后不需要重启服务
实例2

 

修改/etc/exports文件,删除上面共享的/mnt目录

Linux下的NFS配置篇_第11张图片

exportfs -v查看时/mnt目录依然没有去掉,exportfs -r重新共享所有目录,再次使用exportfs -v查看,没有/mnt目录了
实例3

exportfs -v查看,存在/tmp共享目录,使用exportfs -au,选项a与u组合使用,取消所有共享目录,再次查看时已经没有共享目录了
2)         图形化配置
Ø 安装
加载光盘

 

Linux下的NFS配置篇_第12张图片

安装

Linux下的NFS配置篇_第13张图片

Ø 配置
启动

 

Linux下的NFS配置篇_第14张图片

在命令行中输入system-config-nfs启动NFS的图形化配置界面,工具条依次为添加,属性,删除,服务端设置,帮助
Add按钮
基本配置页

Linux下的NFS配置篇_第15张图片

Directory为需要共享的目录,单击Browse可图像化选择目录,Host为限制某主机、某网段或某域内用户可以访问,Read-only为只读权限,Read/Write为可读可写权限
一般选项页

Linux下的NFS配置篇_第16张图片

从上到下依次为:允许从1024或更高的端口进行连接;允许锁定不安全的文件;禁止子树检查;被要求同步写操作;立即强制同步写操作;隐藏文件系统;只导出挂载的目录;导出挂载点;设置明确的文件系统ID
用户访问页

Linux下的NFS配置篇_第17张图片

从上到下依次为:登入到NFS主机的用户如果是root用户,他就拥有root的权限;将所有客户端登录用户转换成匿名用户;匿名用户的本地用户ID,匿名用户的本地组ID
Server Settings按钮

Linux下的NFS配置篇_第18张图片

操作某些防火墙设置NFS的守护进程需要使用特定的网络端口,如果不需要强制使用特定的端口,这些空不填。下面分别表示rpc.locakd(TCP)、rpc.lockd(UDP)、rpc.mountd(TCP)、rpc.statd(TCP)所需要设置的端口
Ø 实例
配置

Linux下的NFS配置篇_第19张图片

添加共享目录/tmp,允许所有客户端进行访问,并具有可读可写权限,单击OK

Linux下的NFS配置篇_第20张图片

在主界面下面的列表中可以看到刚刚配置的共享目录
查看

客户端查看服务端所共享出来的目录
挂载

Linux下的NFS配置篇_第21张图片

在本地/nfs挂载服务端的/tmp目录
测试

Linux下的NFS配置篇_第22张图片

使用命令ll查看/nfs目录,看到上面创建的2个文件,使用touch /nfs/zf在/nfs目录创建zf文件,创建成功,ll命令可以查看到zf的文件
3.         扩展配置
1)         服务端

设置开机NFS服务
2)         客户端

 

实现开机自动挂载共享目录