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 安装步骤: ...
随机推荐
- Fiddler实现iPhone手机抓包
最近某小程序大火,许多非专业人员也在跃跃欲试,但是在查找自己的session_id的时候卡住了,本文只从技术方面介绍如何通过通过Fiddler来抓取手机的数据,不涉及如何作弊... 1.电脑上安装Fi ...
- C语言之在头文件中定义全局变量
通常情况下,都是在C文件中定义全局变量,在头文件中声明,但是,如果我们定义的全局变量需要被很多的C文件使用的话,那么将全局变量定义在头文件里面会方便很多,那到底是如何实现的? os_var.c文件内容 ...
- 第02章 新手必须掌握的 Linux 命令
- python django 重新安装不能创建项目
这里仅给大家做个思路提醒: 1.如果在别的地方找到一样的问题那就按别的方法去解决 2.如果是创建startproject的时候 报错:no module named 'mysite' 这个的话就和 ...
- 第五章Java
2 [单选题] 已知MyInterface是一个接口,ClassA是实现该接口的一个类,ClassB是ClassA的子类,则下面说法哪个正确? A. ClassB obj = new ClassA ...
- idea 下获取路径下文件的方法
想读取resouce/temp下的test.txt文件.方式一:File sourceFile = ResourceUtils.getFile("classpath:temp/test.tx ...
- Linux下查看Nginx,tomcat等的并发连接数和连接状态
1.查看Web服务器(Nginx Apache)的并发请求数及其TCP连接状态: netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print ...
- 前端form表单与css
form表单(******) 能够获取用户输入(输入,选择,上传的文件) 并且将用户输入的内容全部发送给后端 参数 action 控制数据提交的地址 三种书写方式 1.不写 默认就是朝当前这个页面所在 ...
- 多项式FFT/NTT模板(含乘法/逆元/log/exp/求导/积分/快速幂)
自己整理出来的模板 存在的问题: 1.多项式求逆常数过大(尤其是浮点数FFT) 2.log只支持f[0]=1的情况,exp只支持f[0]=0的情况 有待进一步修改和完善 FFT: #include&l ...
- jvm的几篇文章
https://www.cnblogs.com/xrq730/category/731395.html