nfs

参考文档:http://blog.51cto.com/atong/1343950

NFS介绍

1.什么是NFS

NFS是Network File System 的缩写,中文意思是网络文件系统。它的主要功能是通过网络让不同的主机系统之间可以共享文件或目录。NFS客户端(一般为应用服务器,例如Web)可以通过挂载(mount)的方式将NFS服务端共享的数据目录挂载到NFS客户端本地系统中。从客户端本地看,NFS服务端的共享目录就好像是客户端自己的磁盘分区或目录一样,而实际上却是远端的NFS服务器目录。

2.什么是RPC

NFS是通过网络来进行服务端和客户端之间的数据传输。两者之间要传输数据就要有想对应的网络端口来进行传输。NFS服务器到底使用什么网络端口来传输数据的,NFS服务器端其实是随机选择端口来进行数据传输。那NFS客户端又是如何知道NFS服务器端到底使用的是哪个端口呢?其实NFS服务器时通过远程过程调用(remote procedure call 简称RPC)协议/服务来实现的。也就是说RPC服务会统一管理NFS的端口,客户端和服务端通过RPC来先沟通NFS使用了哪些端口,之后再利用这些端口来进行数据的传输。

RPC和NFS如何通讯

首先当NFS启动后,就会随机的使用一些端口,然后NFS就会向RPC去注册这些端口。RPC就会记录下这些端口。并且RPC会开机111端口,等待客户端RPC的请求,如果客户端有请求,那服务端的RPC就会将记录的NFS端口信息告知客户端。

注意:在启动NFS SERVER之前,首先要启动RPC服务(即portmap服务,下同)否则NFS SERVER就无法向RPC服务区注册,另外,如果RPC服务重新启动,原来已经注册好的NFS端口数据就会全部丢失。因此此时RPC服务管理的NFS程序也要重新启动以重新向RPC注册。特别注意:一般修改NFS配置文档后,是不需要重启NFS的,直接在命令执行/etc/init.d/nfs reload或exportfs –rv即可使修改的/etc/exports生效。

NFS安装

系统环境:


##服务端
#yum install nfs-utils rpcbind -y
#/etc/init.d/rpcbind start      #启动rpcbind服务
#/etc/init.d/rpcbind status

#/etc/init.d/nfs start   #启动nfs服务
#/etc/init.d/nfs status

#mkdir -p /tmp/nfs_test/
#chown -R nfsnobody.nfsnobody /tmp/nfs_test/
#vi /etc/exports    #修改配置文件
#exportfs -rv   #或/etc/init.d/nfs reload
#showmount -e localhost   #在NFS服务本地查看挂载情况
#cat /var/lib/nfs/etab    查看NFS Server配置问的参数

客户端: yum install rpcbind -y
为了使用showmount等功能,所有客户端最好也要安装NFS软件,但是不启动NFS服务。

#/etc/init.d/rpcbind start
#showmount -e 192.168.0.198   #查看nfs服务端共享
#mount -t nfs 192.168.0.198:/tmp/nfs_test/ /mnt/
#df -h

NFS的文件权限

NFS服务本身没有身份验证的功能,权限是遵循共享目录在NFS服务器上的权限设置,而且只识别UID和GID。如果访问者的UID与/share在nfs server上的权限一致,那么访问者就有可能拥有与该用户相同的权限,这还要取决于/share设置共享时所分配的权限;如果访问者的uid对应了NFS服务器上的另一个用户,则访问者就对应拥有other权限,但是否能够完全对应用other权限也要取决于/share的共享权限;如果访问者的uid恰好在NFS服务器上不存在,则服务器用自动将其压缩成为匿名用户,其uid为65534
由于在绝大部分Linux系统中root用户的uid为0,也就是说客户端可以轻易的获得NFS的root权限来访问共享目录,这样是极不安全的,所以NFS默认会将root的身份压缩成匿名用户。

NFS的推荐配置
上面提到的,客户端挂载了共享目录后,其权限受一下3部分的影响:

  • exports文件定义的权限
  • /share所在nfs server的本地用户权限
  • 匿名用户的权限

为了解决权限繁杂的问题,统一在exports文件中定义使用匿名用户(all_squash),并设置权限来进行权限管理,统一入口:

## nfs服务端配置
# cat /etc/exports
/data/tools/nfs 192.168.0.230(rw,sync,all_squash) 192.168.0.232(rw,all_squash)
# chown -R nfsnobody.nfsnobody  /data/tools/nfs

all_squash, 将所有访问NFS的用户身份全部压缩成为匿名用户
一个有读写权限,一个为只读权限
最后设置共享目录的所有者和所属组都为nfsnobody

## 230服务器上用写入权限
$ touch a b
$ ll
total 16
-rw-r--r-- 1 nfsnobody nfsnobody     0 Jan 19 19:20 a
-rw-r--r-- 1 nfsnobody nfsnobody     0 Jan 19  2020 b
drwx------ 2 nfsnobody nfsnobody 16384 Jan 19 17:12 lost+found

## 231服务器上为只读权限
$ touch a
touch: cannot touch ‘a’: Read-only file system

补充

常用权限参数:
rw:可读可写;
ro:只读;
root_squash:将root用户压缩成为匿名用户(默认选项);
no_root_squash:访问共享目录时保持root用户身份;
all_squash:将所有访问NFS的用户身份全部压缩成为匿名用户;
sync:将数据同步写入到内存和硬盘中;
async:将数据暂存于内存中。
anonuid:指定匿名访问用户的UID;
anongid:指定匿名访问用户组的GID。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 196,264评论 5 462
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 82,549评论 2 373
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 143,389评论 0 325
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,616评论 1 267
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,461评论 5 358
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,351评论 1 273
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,776评论 3 387
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,414评论 0 255
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,722评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,760评论 2 314
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,537评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,381评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,787评论 3 300
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,030评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,304评论 1 252
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,734评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,943评论 2 336

推荐阅读更多精彩内容

  • 29.1 引言 本章中我们要讨论另一个常用的应用程序:NFS(网络文件系统),它为客户程序提供透明的文件访问。NF...
    张芳涛阅读 958评论 0 4
  • 《鸟哥Linux私房菜》《老男孩Linux运维》 NFS介绍 NFS维基百科:网络文件系统(英语:Network ...
    Zhang21阅读 4,095评论 0 13
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,517评论 18 139
  • NFS的配置过程很简单。在服务器端中编辑/etc/exports文件,添加如下内容: /home/nfs-s...
    bycall阅读 5,117评论 0 1
  • 亲爱的小虫 我的小可爱,想起我和你走了四家超市为了寻一根盐水棒冰,我不由自主地想笑。 这两天气温的飙升,忽然唤醒了...
    240c6d9396b5阅读 317评论 0 0