天天看点

Linux下的NFS配置篇

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

l 介绍

NFS中目录共享配置文件,用于编写需要共享的目录以及所共享的网络和用户权限

l 格式

共享的目录 [主机名称1|网段1|域1](参数1,参数2) [主机名称2|网段2|域2] (参数3,参数4)

l 参数:

n rw:

可读可写的权限

n ro:

只读的权限

n no_root_squash:

登入到NFS主机的用户如果是root用户,他就拥有root的权限,此参数很不安全,建议不要使用。

n root_squash:

客户端用root用户访问该共享文件夹时,将root用户映射成nobody用户

n all_squash:

不管登录NFS主机的用户是什么都会被重新设定为匿名用户

n anonuid:

将登入NFS主机的用户都设定成指定的user id,此ID必须存在于/etc/passwd中

n anongid:

同anonuid,但是换成group ID

n sync:

资料同步写入存储器中

n async:

资料会先暂时存放在内存中,不会直接写入硬盘

n 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)         命令行配置

Ø 配置允许所有客户端的访问

l 编辑主配置文件

Linux下的NFS配置篇
Linux下的NFS配置篇

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

l 重启服务

Linux下的NFS配置篇

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

l 测试

n 查看

Linux下的NFS配置篇

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

n 挂载

Linux下的NFS配置篇

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

n 查看文件

u 服务端创建文件

Linux下的NFS配置篇

服务端在/tmp目录下创建zwb文件

u 客户端浏览文件

Linux下的NFS配置篇

在客户端使用ll命令查看存在zwb文件,即可读,并创建zzj文件,创建成功,即可写

Ø 配置固定网段客服访问

Linux下的NFS配置篇
Linux下的NFS配置篇

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

Linux下的NFS配置篇

n 网段内IP

u 查看IP

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

u 查看

Linux下的NFS配置篇

查看服务端所共享的目录

u 挂载

将服务端中的/tmp目录挂载在/nfs目录中

u 查看文件

Linux下的NFS配置篇

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

n 网段外IP

Linux下的NFS配置篇

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

Linux下的NFS配置篇

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

Linux下的NFS配置篇

挂载时提示权限不够

Ø 配置域的成员可以访问

Linux下的NFS配置篇

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

Linux下的NFS配置篇

n 域内主机

u 设置域

Linux下的NFS配置篇
Linux下的NFS配置篇

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

Linux下的NFS配置篇

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

Linux下的NFS配置篇

挂载服务端共享目录

u 权限

Linux下的NFS配置篇

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

n 域外主机

u 查看域

Linux下的NFS配置篇
Linux下的NFS配置篇

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

Linux下的NFS配置篇

可以查看服务端共享目录

Linux下的NFS配置篇

Ø exportfs命令的使用

exportfs [选项] [目录]

l 选项

n -a

启用或取消所有目录共享

n -r

重新共享所有目录

n -u

取消一个或多个目录共享

n -v

将详细的共享信息输出

l 实例

n 实例1

Linux下的NFS配置篇
Linux下的NFS配置篇

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

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

n 实例2

Linux下的NFS配置篇
Linux下的NFS配置篇

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

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

n 实例3

Linux下的NFS配置篇

exportfs -v查看,存在/tmp共享目录,使用exportfs -au,选项a与u组合使用,取消所有共享目录,再次查看时已经没有共享目录了

2)         图形化配置

Ø 安装

l 加载光盘

Linux下的NFS配置篇
Linux下的NFS配置篇

l 安装

Linux下的NFS配置篇

Ø 配置

l 启动

Linux下的NFS配置篇
Linux下的NFS配置篇

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

l Add按钮

n 基本配置页

Linux下的NFS配置篇

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

n 一般选项页

Linux下的NFS配置篇

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

n 用户访问页

Linux下的NFS配置篇

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

l Server Settings按钮

Linux下的NFS配置篇

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

Ø 实例

l 配置

Linux下的NFS配置篇

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

Linux下的NFS配置篇

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

l 查看

Linux下的NFS配置篇

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

l 挂载

Linux下的NFS配置篇

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

Linux下的NFS配置篇

使用命令ll查看/nfs目录,看到上面创建的2个文件,使用touch /nfs/zf在/nfs目录创建zf文件,创建成功,ll命令可以查看到zf的文件

3.         扩展配置

1)         服务端

Linux下的NFS配置篇

设置开机NFS服务

2)         客户端

Linux下的NFS配置篇
Linux下的NFS配置篇

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

继续阅读