Linux7.0 NFS网络文件系统

来源:互联网 发布:算法英语 编辑:程序博客网 时间:2024/04/29 07:48

NFS(Network File system)网络文件系统,

它是连接在网络上计算机之间的共享文件的一种方法,类似于Windows上的“网上邻居”,它可以使不同计算机不同操作系统下的用户彼此共享文件。

它一般多用在局域网中,是C/S模式,NFS文件系统更适合于字符命令方式完成网络间文件共享

NFS的好处:

1.不占本地的磁盘空间,可以把服务器的文件像本地一样操作方便(NFS服务器对系统资源占用也很少)

2.通过同步写磁盘可以实现分布式处理

3.利用字符命令方式,性能高,可灵活配置

4.扩充新的资源或环境时,不需要改变现有的工作环境

5.CD-ROM和USB等存储设备可以在网络上被其他计算机使用,就减少了网络上可移动介质设备的数量

6.用户不必再每台计算机上有一个home目录,只要放在NFS服务器上就可以随处可用



NFS的三个守护进程

rpc.nfsd:它是基本的NFS守护进程,主要功能是管理客户端是否能够登录服务器

rpc.mountd:它是RPC安装守护进程,主要功能是管理NFS的文件系统。当客户端顺利通过rpc.nfsd登录NFS服务后,在使用NFS服务所提供的文凭前,还必须通过文件使用权限的验证。它会读取NFS的配置文件/etc/exports来对比客户端权限。

portmap:portmap的主要功能是进行端口映射工作。当客户端尝试连接并使用RPC服务器提供的服务(如NFS服务)时,portmap会将所管理的与服务对应的端口提供给客户端,从而使客户可以通过该端口向服务器请求服务。 (6.0/7.0的portmap变成了rpcbind)


NFS配置文件 /etc/exports

格式       共享的目录绝对路经   客户端(权限选项)

(客户端可以是一个主机,网段,域或*)

  权限选项有三类:

1、访问权限选项

设置输出目录只读 ro
设置输出目录读写 rw(ro与rw不能共同使用)

2、用户映射选项

all_squash将远程访问的所有普通用户及所属组都映射为匿名用户或用户组(nfsnobody);
no_all_squash 与all_squash取反(默认设置);
root_squash 将root用户及所属组都映射为匿名用户或用户组(默认设置);
no_root_squash 与rootsquash取反;
anonuid=xxx 将远程访问的所有用户都映射为匿名用户,并指定该用户为本地用户(UID=xxx);
anongid=xxx 将远程访问的所有用户组都映射为匿名用户组账户,并指定该匿名用户组账户为本地用户组账户(GID=xxx);

3、其它选项

secure限制客户端只能从小于1024的tcp/ip端口连接nfs服务器(默认设置);
insecure 允许客户端从大于1024的tcp/ip端口连接服务器;
sync 将数据同步写入内存缓冲区与磁盘中,效率低,但可以保证数据的一致性;
async 将数据先保存在内存缓冲区中,必要时才写入磁盘;

wdelay 检查是否有相关的写操作,如果有则将这些写操作 一起执行,这样可以提高效率(默认设置);
no_wdelay 若有写操作则立即执行,应与sync配合使用;
subtree 若输出目录是一个子目录,则nfs服务器将检查其父目录的权限(默认设置);
no_subtree 即使输出目录是一个子目录,nfs服务器也不检查其父目录的权限,这样可以提高效率;

映射选项的效果   (mount 172.16.30.3/123 /000)

(1) 当选项为 all_squash,no_all_squash,root_squash,no_root_squash,时,在客户端建立文件或目录时,

服务器端与客户端都显示为nfsnobody,如下图


c端

s端



(2)当选项为 anonuid=1001时即服务端的一个用户xixi,建立文件3,如下图

c端

s端

  当选项为 anongid=1001时,上图的1001,xixi和nfsnobody调换位置


(3)当选项为 all_squash和anonuid时,anonuid比all_squash的优先级高哦

(4)当客户端为普通用户如xixi时,建文件4,如下图

c端

s端

(5)当服务器端的普通用户如haha时,建文件5,如下图

c端

s端



注意!!!!!

***有时碰到不管怎样改配置文件中的选项,客户端都显示没有权限在共享的那个文件下建立修改文件或是提示是只读文件,那么就要看服务器共享的文件本身所具有的权限

***配置文件写完后一定要重启NFS服务

***若服务器端重新共享后,客户端需要重新挂载

***若用普通用户登陆后,最好exit或logout

***用NFS共享的文件和目录时没有selinux限制的


0 0