NFS基本知识汇总-(2)

转载 2015年07月09日 18:31:30

NFS 的文件存取权限(以linux为例)

假如我们在 NFS client 1 上面以dmtsai这个使用者身份想要去访问 /home/data/sharefile/ 这个来自 NFSserver 所提供的文件系統时,NFS server 所提供的文件系统会让我们以什么身份去访问,是dmtsai还是其它什么呢?

NFS 服务本身并没有进行身份登入的识别所以说,当你在客户端以dmtsai的身份想要存取服务器端的文件系統时,服务器端会以客户端的使用者 UID GID 等身份来尝试读取服务器端的档案系統。这时候如果客户端与服务器端的使用者身份并不一致怎么办?


当我们以 dmtsai这个一般身份使用者要去访问来自服务器端的文件时,你要先注意到的是: 文件系統的 inode 所记录的属性为UID,GID 而非账号与组名。 那一般Linux 主机会主动的以自己的/etc/passwd, /etc/group 来查询对应的使用者和其组的名称。 所以当 dmtsai 进入到该目录后,会参照NFS client 1 的使用者与群组名称。 但是由于该目录的文件主要来自 NFS server ,所以可能就会出现几个情況:

l   NFS server/NFS client 刚好有相同的账号与组

则此时使用者可以直接以dmtsai 的身份进行服务器所提供的文件系統的存取。

l   NFS server 上的UID=501这个UID 账号对应为vbird

若 NFS 服务器上的 /etc/passwd 里面 UID 501 的使用者名称为 vbird时, 则客户端的 dmtsai 可以存取服务器端的vbird 这个使用者的文件!只因为二者具有相同的 UID 。这就造成很大的問題了!因为没有人可以保证客户端的 UID 所对应的账号会与服务器端相同, 那服务器所提供的资料不就可能会被错误的使用者乱改?

l   NFS server 上没有501 这个UID

另一个极端的情況是,在服务器端并没有 501 这个UID 的存在,则此时dmtsai 的身份在该目录下会被会变成匿名者, 一般 NFS 的匿名者会以 UID =65534为其使用者,早期的 Linux distributions 这个 65534 的账号名称通常是 nobody ,CentOS 则取名为nfsnobody。

l   如果使用者身份是 root 时

有个比较特殊的使用者,那就是每个Linux 主机都有的 UID 为0 的 root 。 想一想,如果客户端可以用 root 的身份去存取服务器端的档案系统的时候,那服务器端的资料那还有什么保护性? 所以在预设的情況下,root 的身份会被主动的变成匿名者。

总之,客户端使用者能做的事情是与 UID 及其 GID 有关的,那当客户端与服务器端的 UID 及账号的对应不一致的时候, 可能就会造成文件系統使用上的困扰,这个就是 NFS 档案系統在使用上面的一个很重要的地方! 而在了解使用者账号与 UID 及文件系统的关系之后,要实际在客户端以 NFS 取用服务器端的文件系統时, 还需要具有:

l   NFS服务器有可写入的权限 (与/etc/exports 设定有关);

l  实际的档案具有可写入 (w) 的权限。

也就是说 (1)、使用者账号,亦即 UID 的相关身份; (2)、NFS服务器允许有写入的权限; (3)、文件确实具有 w 的权限时,你才具有该文件的可写入权限。

NFS基本知识汇总-(1)

NFS概述 NFS是 Network FileSystem 的缩写,最早是由 Sun 公司所提出的。 它最大的功能就是可以通过网络,让不同的计算机、不同的操作系统、可以彼此分享档案 (share...
  • rubbishcan
  • rubbishcan
  • 2015年07月09日 16:59
  • 368

NFS搭建、配置及故障排除详解

1.什么是NFS?NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地N...
  • qq_30256711
  • qq_30256711
  • 2017年11月07日 08:49
  • 306

神经网络基础知识简介

神经网络简介 1 几种常见的神经元 (1)  线性神经元 (2)  二进制神经元 (3)  逻辑神经元(sigmoid 神经元) (4)  随机二进制神经...
  • u010601901
  • u010601901
  • 2015年07月07日 21:52
  • 561

【数据库】基础知识要点

不论做机器学习,还是后台开发,都需要了解数据库的基本知识,这一篇blog主要是总结数据库的一些基本概念。并不是为了讲解,重点就是总结梳理。数据库主要是面向业务逻辑的,所以为了满足前端业务对数据的需求,...
  • dongrixinyu
  • dongrixinyu
  • 2017年12月09日 23:02
  • 117

Android基础知识整合篇——Activity知识点

Android基础知识部分整合连载篇——四大组件——Activity     今天,我着手开始android基础知识总体整合以及复习(结合郭霖大神的《第一行代码》),来对我这段时间碎片化的知识进行总结...
  • wxj1018
  • wxj1018
  • 2016年05月30日 20:38
  • 5369

通过NFS来实现两台web服务器的连接

实验要求:1.使用3台服务器A B C,A用于NFS服务器,存放网页文件和mysql数据库文件 2.这A上安装Mysql-server, 3. B,C安装web 和 php 服务,挂载上A服务器上...
  • deansrk
  • deansrk
  • 2011年08月15日 19:28
  • 3356

搭建nfs共享文件系统并用rsync+ino…

在做之前先关闭selinux以及iptables  搭建NFS 假设有2台Server,分别是Server1和Server2。现在要在Server1上安装NFS,在Server2上挂载该目录...
  • dongfei2033
  • dongfei2033
  • 2017年07月15日 16:00
  • 256

【软考2】Java语言的基本知识汇总

导读:现在对于java这一模块,还没有相应的项目经验,只是通过各种类型的资料,对java有一个面上的了解。现在,对此做一个罗列总结,在以后的学习过程中,逐步完善! 一、语言的发展 1.1,机器语言...
  • u013034889
  • u013034889
  • 2015年09月20日 21:27
  • 750

MATLAB入门教程之MATLAB的基本知识

看了一天的matlab,感觉matlab也是奇葩之一,现在转载一篇我觉得比较好的教程。 1-1、基本运算与函数    在MATLAB下进行基本数学运算,只需将运算式直接打入提示号(>>)之...
  • u013288190
  • u013288190
  • 2016年09月25日 18:23
  • 1049

路由汇总和CIDR的区别

IP地址有“类”的概念,/8掩码是A类,/16掩码是B类,/24掩码是C类等等。但是/12,/18,/25呢?这就是无类的概念了,CIDR的作用就是支持IP地址的无类规划,把IP的网段规划成更细的方式...
  • xlh1991
  • xlh1991
  • 2014年03月19日 20:28
  • 892
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:NFS基本知识汇总-(2)
举报原因:
原因补充:

(最多只允许输入30个字)