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 安装步骤: ...
随机推荐
- jQuery ajax 提交表单图片
基于 jQuery HTML: <form id="form" enctype="multipart/form-data"> <input t ...
- ActiveMQ基础01——Linux下载安装ActiveMQ
1.下载 下载地址:http://activemq.apache.org/ 点击按钮 下载Linux下最新版安装包,点击即可下载 2.安装ActiveMQ 将之前下载的安装包上传到linux当中,一般 ...
- traceback:让你更加灵活地处理python的异常
异常 异常在python中是屡见不鲜了,程序在执行到某一行代码时,发现有问题,比如数组索引越界,变量没有定义啊等等,此时就会抛出异常 捕获异常 在python,一般都是使用try···except来对 ...
- 00常见的Linux系统版本
linux系统内核与linux发行套件系统并不相同: linux系统内核指的是一个由Linus Torvalds负责维护,提供硬件抽象层.硬盘及文件系统控制及多任务功能的系统核心程序. linux发行 ...
- 你在和脚本谈恋爱(自动化在IM聊天中的应用)
谢谢打开这篇文章的每个你 测开之分层自动化(Python)招生简章 Python自动化测试报告美化 在python中进行数据驱动测试 太嚣张了!他竟用Python绕过了“验证码” 在网络世界里你不知道 ...
- google guava工具包
guava这个工具包里有好多有用的工具类 <dependency> <groupId>com.google.guava</groupId> <artifact ...
- 用xshell连接l自己的inux
有时候连接会提示失败(当然确保账号密码没错),这里需要安装一个服务,ssh服务器 1)ubuntu安装ssh服务器 sudo apt-get install openssh-server 2)出现问题 ...
- win10 1903 更改文字大小
标题栏 - 菜单 - 消息框 - 调色板标题11- 图标 - 工具提示 - Caption 标题 的 宽/高 - ; 14的宽高 - 菜单 的 宽/高 - ; 的宽高 -; 设置 注册表 HKEY_C ...
- UVA 12063 Zeros and ones 一道需要好好体会的好题
#include<bits/stdc++.h> #include<stdio.h> #include<iostream> #include<cmath> ...
- [游记]CSP2019-S
Day 1 开局看到T1格雷码,哇塞这不是初赛原题???10分钟高精打完离场. T2是个什么题目,看起来不难,15分钟码完,调了5分钟,过了样例2 欸,为什么样例3过不掉?仔细一看发现爆栈了,一慌忘记 ...