*************************************
一、NFS网络文件系统简介
二、NFS工作原理图
三、NFS服务与RPC协议的关系
四、NFS服务的安装于配置
五、NFS客户端的配置
六、NFS访问权限的设定
*************************************
一、NFS网络文件系统简介
NFS-Network FileSystem的缩写,NFS是由Sun开发并发展起来的一项用于在不同机器,不同操作系统之间通过网络互相分享各自的文件NFS server也可以看作是一个文件服务器,它可以让你的PC通过网络将远端得NFS SERVER共享出来的档案文件MOUNT到自己的系统中,在客户端看来使用NFS的远端文件就象是在使用本地文件一样。
二、NFS工作原理图
三、NFS服务与RPC协议的关系
nfs服务器开启的端口不确定(一定是在1024以下),所以客户端要想访问nfs时需要其他软件的协助,这就是远程过程调用(remote proceduce call)rpc协议。
RPC 最主要的功能就是在指定每个 NFS 功能所对应的 port number ,并且回报给客户端,让客户端可以连结到正确的端口上去。 当服务器在启动 NFS 时会随机取用数个端口,并主动的向 RPC 注册,因此 RPC 可以知道每个端口对应的 NFS ,然后 RPC 又是固定使用 port 111 来监听客户端的需求并回报客户端正确的埠口, 所以当然可以让 NFS 的启动更为轻松愉快了!
注意:
要启动 NFS 之前,RPC 就要先启动了,否则 NFS 会无法向 RPC 注册。
四、NFS服务安装于配置
安装NFS软件包
[[email protected] ~]# yum install nfs-utils -y
启动NFS服务
注释:
mountd:管理NFS文件系统的挂载权限
NFS的主配置文件
/etc/exports
格式为: export host(options)
Options:
rw: 读写
ro:
secure: 默认已经启用;限制客户端只能使用小于1024的端口访问请求;若不加限制,则使用insecure
async: 异步写入,性能好,数据可靠性差;
sync: 同步写入,性能差,数据可靠性高;
wdelay: 写入延迟;no_wdelay
nohide: 不隐藏要导出的目录中挂载的其它nfs;
no_acl: 关闭nfs的acl功能;
root_squash: 压缩root权限, nfsnobody
no_root_squash: 不压缩root权限
all_squash:所有用户都压缩
anonuid=nfsuser,anongid=nfsgroup:使用指定的用户帐号做匿名用户帐号;
NFS服务端的配置
[[email protected] ~]# mkdir /dir [[email protected] ~]# cp /etc/fstab /dir/ [[email protected] ~]# vim /etc/exports /dir 172.16.0.0/16(rw)
注释:
第4行:指定172.16.0.0/16网段的用户可以以读写的权限访问/dir目录
五、NFS客户端的配置
[[email protected] ~]# yum install showmount -y [[email protected] ~]# showmount -e 172.16.10.1 Export list for 172.16.10.1: /dir 172.16.0.0/16 [[email protected] ~]# [[email protected] ~]# mount -t nfs 172.16.10.1:/dir /mnt [[email protected] ~]# ll /mnt/ total 4 -rw-r--r--. 1 root root 779 Aug 14 2013 fstab [[email protected] ~]#
注释:
第2行:使用showmount -e NFSIP 查看NFS共享目录
注意:
此时我们虽然以root身份挂载的,但是root没有建立文件的权限,root用户都没有权限,,这是为什么呢?,,因为root用户的权限的被压缩了。。下面我们说明一下NFS的权限。
六、NFS访问权限的设定
1、 客户端与主机端具有相同的 UID 与不同的账号:
使用Centos登录系统尝试去创建文件
权限拒绝了,,这是为什么呢。。我们查看NFS共享目录的权限
修改dir目录的权限,让Centos用户有写入的权限
客户端Centos用户在此创建文件,并在服务器查看Centos刚刚创建文件的属组,属主
总结:
服务端与客户端显示的属主,属组不同,服务端Centos用户变成了jerry,jerry的uid与Centos的uid相同,说明了NFS完成用户UID映射。
2、 当客户端的身份为 root 时:
注意:
默认NFS服务开启了(/etc/exports ) root_squash: 压缩root权限, 功能,如果还想继续使用使用root权限,则修改为
vim/etc/exports /dir 172.16.0.0/16(rw,no_root_squash) no_root_squash: 不压缩root权限
NFS由于没有提供用户认证功能,所以我们可以将NFS与LDAP结合。NFS和LDAP的结合将在后期讲解,敬请期待。。。
转载于:https://blog.51cto.com/xiaodong88/1275548