LINUX nfs服务
功能就是可以透过网络,让不同的机器、不同的操作系统、可以彼此分享个别的档案
( share file ),所以,也可以简单的将他看做是一个 file server 呢!这个 NFS Server
可以让你的 PC 来将网络远程的 NFS 主机分享的目录,挂载到本地端的机器当中,所
以,在本地端的机器看起来,那个远程主机的目录就好象是自己的 partition 一般!
讯息传递的时候, NFS 使用的则是一个称为远程过程调用( Remote Procedure Call,
RPC )的协议来协助 NFS 本身的运作!
port number、与对应到的服务之 PID 等等,都需要管理与对应!这些管理 port 的对应
与服务相关性的工作,就是这个 Remote Procedure Call, RPC 的任务了
这其中的原因,就是 NFS 使用到一些其它相关的传输协议!而这些传输的协议,就是
使用到这个所谓的 RPC 的功能啰!这也就是说, NFS 本身就是使用 RPC 的一个
program 就是了!说的更白话一点, NFS 也可以视作是一个 RPC server 啦!同时要
注意到的是,在某些状况中,不但跑 NFS 的 Server 需要激活 RPC 的服务,连带的,
要挂载 NFS partition 的 Client 机器,也需要同步激活 RPC 才行!这样 Server 端与
Client 端才能藉由 RPC 的协议来进行 program port 的对应喔!NFS 主要在管理分享
出来的目录,而至于资料的传递,就直接将他丢给 RPC 的协议来运作就是了!
其中还包含这个登入者的 ID 的判别
端顺利的通过 rpc.nfsd 而登入主机之后,在他可以使用 NFS server 提供的档案之前,
还会经过档案使用权限 ( 就是那个 -rwxrwxrwx 与 owner, group 那几个权限啦 ) 的认证
程序!他会去读 NFS 的设定档 /etc/exports 来比对 Client 的权限,当通过这一关之后,
Client 就可以取得使用 NFS 档案的权限啦!(注:这个也是我们用来管理 NFS 分享之
目录的使用权限与安全设定的地方哩)
与说明文件、执行档等的套件!这个就是 NFS 的主要套件
活任何一个 RPC server program 之前,我们都需要做好 port 的对应 ( mapping ) 的工
作才行,这个工作其实就是『 portmap 』这个服务所负责的!也就是说,在激活任何
一个 RPC server 之前,我们都需要激活 portmap 才行呢!那么这个 portmap 到底在
干嘛呢?就如同这个服务的名称,哈哈!就是作 port 的 mapping 啊!举个例子来说:
当 Client 端尝试来使用 RPC server 所提供的服务时,由于 Client 需要取得一个可以
连接的 port 才能够使用 RPC server 所提供的服务,因此, Client 首先就会去跟 portmap
讲『喂!可不可以通知一下,给我个 port number ,好让我可以跟 RPC 联络吧!』这个
时候 portmap 就自动的将自己管理的 port mapping 告知 Client ,好让他可以连接上
来 server 呢!所以啰:『激活 NFS 之前,请先激活 portmap !』
这个分享的目录来说,他就具有 root 的权限!这个项目『极不安全』,不建议使用!
的权限将被压缩成为匿名使用者,通常他的 UID 与 GID 都会变成 nobody 那个身份;
通常也就是 nobody 啦!
你可以自行设定这个 UID 的值!当然,这个 UID 必需要存在于你的 /etc/passwd 当中!
此NFS主机,并且在/home/linux下面写入档案时,该档案的所有人与所有组,就会变
成/etc/passwd里面对应的UID为40的那个身份的使用者了.
面具有存取的权限,并且写入档案的所有人为test.
的权限对于test开放写入的话,那么就可以读写,并且写入档案的所有人是test。如果
NFS主机的/home/public对于test这个使用者并没有开放写入权限时,那就无法写入,
虽然/etc/exports里面是rw,也不起作用.
于test有开放的权限.
不过身份就被变成nobody了
的设定值,所以在/tmp写入档案的所有人为root了.
所以档案所有人就变成了nobody.
描一次/etc/exports,并且重新加载即可
里面的内容
靠,找到了,原来要有人mount上nfs后才会出现内容),如:
secure_locks,mapping=identity,anonuid=-2,anongid=-2)
那个 UID 啦!对照一下 /etc/passwd ,你就会发现,哇!原来那就是 nobody 的啦
port NFS server 在前面我们就提过了,他是 RPC server 的一种,而 NFS 由于
提供了多个 program ( 例如 rpc.mountd, rpc.rquotad, rpc.nfsd... ) ,因此就需要
激活多个 port 了!而且这些 port 是『随机产生的』,也就是那个 port number
不会是固定的啦!每次 restart nfs 都会得到不一样的 port number 呢!那么 Client
端怎么知道要连接上那个 port 来呼叫需要的 program 呢?呵呵!那就是
sunrpc ( port 111 ) 那个 portmap 服务所产生的 port number 的功用啦!Client 会
先连接到 sunrpc 那个 port 去知道应该到那个 port 去呼叫所需要的程序!所以啰,
rpc.xxxx 等之类的 daemon 自然就不需要有固定的 port number 啰!
以将NFS 所分享的目录以较为安全的情况挂载进来,可以
以port 111必须提供出去.因此在iptables rules中,要增加:
主机想要关机,那可就会成为『不可能的任务』!我还不知道正确的原因是什么,
但是,如果你的 Server 上面还有 Client 在联机,那么你要关机,可能得要等到数
个钟头才能够正常的关机成功!嗄!真的假的!不相信吗?不然您自个儿试试看!
^_^!所以啰,建议您的 NFS Server 想要关机之前,能更先『关掉 portmap 与 nfs 』
这两个东西!如果无法正确的将这两个 daemons 关掉,那么先以 netstat -utlp 找出
PID ,然后以 kill 将他关掉先!这样才有办法正常的关机成功喔!这个请特别特别的注意呢!
be started (which again requires the portmapper to be installed etc.)
LINUX nfs服务的更多相关文章
- Linux NFS 服务部署
系统环境:Oracle Linux 5.7 服务端:192.168.1.111 客户端:192.168.1.171 一.服务端配置 二.客户端配置 一.服务端配置 1.依次启动portmap和nfs服 ...
- linux(十四)之linux NFS服务管理
学到这里差不多就结束了linux的基础学习了,其实linux的内容并不难,我们要经常的反复的去操作它,多多和它去联络感情才能很好的掌握这个linux. 加油!今天是星期二.没有什么比努力让人更加热血沸 ...
- linux nfs服务配置挂载以及oracle使用nfs存储挂载注意事项
服务端共享目录 /home/XXX/nfs_shared 172.16.22.0/24(rw,no_root_squash) service nfs restart 常用命令: 查看所有nfs共享目录 ...
- Linux nfs服务介绍
nfs服务介绍 nfs(Network File System) 网络文件系统,能使用户访问服务器的文件系统,就像访问自己的本机的文件系统一样,并且多个 客户端共享访问该文件系统. 目前nfs服务,较 ...
- Linux nfs服务讲解
nfs服务介绍 nfs(Network File System) 网络文件系统,能使用户访问服务器的文件系统,就像访问自己的本机的文件系统一样,并且多个 客户端共享访问该文件系统. 目前nfs服务,较 ...
- 如何加固linux NFS 服务安全的方法
NFS(Network File System)是 FreeBSD 支持的一种文件系统,它允许网络中的计算机之间通过 TCP/IP 网络共享资源.不正确的配置和使用 NFS,会带来安全问题. 概述 N ...
- CentOS 6.5系统下安装和配置NFS服务
一.环境介绍: 服务器:centos 192.168.1.225 客户端:centos 192.168.1.226 二.安装: NFS的安装配置: centos 5 : 1 yum -y instal ...
- linux nfs
linux(十四)之linux NFS服务管理 学到这里差不多就结束了linux的基础学习了,其实linux的内容并不难,我们要经常的反复的去操作它,多多和它去联络感情才能很好的掌握这个linux. ...
- Linux常用服务部署与优化之NFS篇
NFS(network file system)的简称,是linux系统之间常用的一种文件共享方式,下面简述其搭建过程,需要两个linux系统的虚拟机,假设客户端的ip为192.168.1.105,服 ...
随机推荐
- 事件拦截,仿qq侧拉的操作中
1,处理DrawerLayout自定义的侧拉菜单时候,当手指点击listview的时候,不起作用,就是因为 手指滑动稍微有一点x方向的动作,抽屉控件就请求父控件(listview)不要拦截,这样lis ...
- docker安装使用
介绍 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙箱机制,相互之间不会 ...
- JSON对象和字符串的转换
JSON.parse()和JSON.stringify() 1.parse 用于从一个字符串中解析出json 对象.例如 var str='{"name":"cpf& ...
- radio里面value值与其他字符进行比较
本题旨在创建一个具有及时反馈的选择题,当选完其中一个选项后,会有弹窗来提醒你选择的答案是正确还是错误的.<div id="text" style="display: ...
- PopupWindow 的使用
//contentView : 气泡显示的内容 //width ,height : 宽高 PopupWindow popupWindow = new PopupWindow(contentView, ...
- python 访问数据库
commit() 提交rollback() 回滚 cursor用来执行命令的方法:callproc(self, procname, args):用来执行存储过程,接收的参数为存储过程名和参数列表,返回 ...
- html5 拖拽文件到页面实现上传
思路:监听拖拽区域的 drop 事件,阻止浏览器上的默认拖拽事件 参考:http://www.helloweba.com/view-blog-192.html 例子: <!DOCTYPE htm ...
- hdu1030
#include<stdio.h>#include<math.h>void find(int n,int &l,int &r,int &level){ ...
- java第五周学习
在Java中类与类之间的关系 1.聚合关系 : 两个类的关联程度较低,可以单独存在. 2.组合关系 : 两个的关联程度比较高. Java中如何来表现这个关系. 一类A作为属性存在类B中. 3.依赖关系 ...
- js生成缩略图后上传并利用canvas重绘
function drawCanvasImage(obj,width, callback){ var $canvas = $('<canvas></canvas>'), can ...