redhat下配置SEED DVS6446开发环境1
功能就是可以透过网络,让不同的机器、不同的操作系统、可以彼此分享个别的档案
( 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.)
redhat下配置SEED DVS6446开发环境1的更多相关文章
- redhat下配置SEED DVS6446开发环境3
1.运行arm_v5t_le-gcc,报错为: 64bit的Linux操作系统,无法运行32bit的应用程序 /lib/ld-linux.so.2: bad ELF interpreter: No s ...
- redhat下配置SEED DVS6446开发环境2
---恢复内容开始--- 1.rpcbind步骤 linux包:portmap安装包 libgssglue-0.1-8.1.el6.i686.rpm libtirpc-0.2.1-1.el6.i68 ...
- Ubuntu下配置C/C++开发环境
在 Ubuntu 下配置 C/C++ 开发环境 转自:白巴的临时空间 Submitted by 白巴 on 2009-04-27 19:52:12. 学习笔记 虽然 Ubuntu 的版本已经是9.04 ...
- Eclipse平台下配置Go语言开发环境(Win7)
<Go语言编程>中写到:“从功能和易用性等方面考虑, Eclipse+GoEclipse.LiteIDE这两个环境在所有IDE里面是表现最好的”,所以笔者打算采用Eclipse+GoEcl ...
- mac下配置Node.js开发环境、express安装、创建项目
mac下配置Node.js开发环境.express安装.创建项目 一.node.js的安装 去官网下载对应的平台版本就可以了,https://nodejs.org 二.express安装 sudo n ...
- 在Windows下配置Linux远程开发环境
在Windows下配置Linux远程开发环境 欢迎光临我的个人博客 https://source.chens.life/Configure-Linux-remote-development-envir ...
- VMWARE + CENTOS在windows下配置cocos2d-x android开发环境
VMWARE + CENTOS在windows配置cocos2d-x android开发环境 之前使用cygwin在windows开发android,后来使用了c++11特性,在cygwin中更新工具 ...
- Mac下配置神器PhpStrom开发环境
转载自:http://www.ifun.cc/blog/2014/02/09/macxia-pei-zhi-shen-qi-phpstromkai-fa-huan-jing/ php这么流行,不能不研 ...
- Ubuntu18.04下配置深度学习开发环境
在Ubuntu18.04下配置深度学习/机器学习开发环境 1.下载并安装Anaconda 下载地址:https://www.anaconda.com/distribution/#linux 安装步骤: ...
随机推荐
- 点击切换的JS
$(function(){ var tabnav = $("#tab-nav ul li"); tabnav.click(function(){ $(this).addClass( ...
- redis和mongodb面试题(一)
● 请你回答一下mongodb和redis的区别 参考回答: 内存管理机制上:Redis 数据全部存在内存,定期写入磁盘,当内存不够时,可以选择指定的 LRU 算法删除数据.MongoDB 数据存在内 ...
- 17种常用的JS正则表达式 非负浮点数 非负正数
<input type='text' id='SYS_PAGE_JumpPage' name='SYS_PAGE_JumpPage' size='3' maxlength='5' onkeyup ...
- Linux课程学习 第三课
生活中的许多事,并不是我们不能做到,而是我们不相信能够做到 https://www.linuxcool.com/ 一个很实用的Linux命令查询网站,并且还有发音 如果我们在系统终端中执行一个命令后想 ...
- Linux配置iSCSI存储
1.基础知识 1.1 存储相关 直接存储(DAS):例如本机上的磁盘,就是属于直接存储设备. 存储区域网络(SAN):来自网络内的其他存储设备提供的磁盘.Iscsi就是属于该方式. ...
- MSSQL日期分组排序
等于今天日期的排上面,大于今天的排中间,小于今天的排下面,带分页.
- 在 Android 中实现 Redux 的一点经验
简评: Redux 是一个用于应用程序状态管理的开源JavaScript库,其核心是通过可管理和控制的状态来描述一个系统.这意味着其思想其实是可以应用于任何类型应用的开发的,包括移动应用. Redux ...
- VMware的linux虚拟机配置ip后无法ping通宿主机
VMware的linux虚拟机配置ip(使用eth0)后无法ping通宿主机,同样宿主机无法ping通linux虚拟机. 可能原因:linux虚拟机使用的网卡,与本机使用的网卡不同,配置成与本机一致的 ...
- 双向链表/list
双向链表结构如下 双向链表结构中元素在内存中不是紧邻空间,而是每个元素中存放上一个元素和后一个元素的地址 第一个元素称为头(head)元素,前连接(前置指针域)为nil 最后一个元素称为尾(foot) ...
- java没有配置环境变量却可以生效的问题
最近在家里的电脑上安装了eclipse,安装完成后尝试打开eclipse的时候,我内心估计是要报错的.我期待看到的是,这个eclipse需要安装jdk才能运行,并且会告诉我需要的jdk版本. 结果ec ...