nfs服务的配置
nfs服务
nfs简介
Network file system 网络文件系统。NFS server可以看作是一个 file server。它可以让你的pc通过网络将远端的nfs server共享出来的文件到自己的系统中,在客户端看来使用NFS的远端文件就像在使用本地文件
版本: NFS(rfc 1094), NFS V3(rfc 1813) NFS V4(rfc 3010 )这是最新版本
二各版本之间的差别
V3相对于V2主要差别
1,文件尺寸
V2最大支持32BIT的文件(4G),V3新增加了支持64BIT文件大小的技术
2,文件传输尺寸
V3没有限定传数尺寸,V2最多只能设定为8K,可以用-rsize and -wsize来进行设定
3,完整的信息返回
V3增加和完善了许多错误和成功信息的返回,对于服务器的设置和管理能带来很大好处
4,异步写入特性(V3新增加的)
NFS V3能否使用异步写入,这是可选择的一种特性。客户端发送一各异步写入请求到服务器,在给客户端答复之前并不是要将数据写入大存储器中(稳定的)。服务器能确定何时写入数据或将多个写入请求聚合到一起并加以处理,然后去写入。客户端能保持一个数据的copy以防服务器不能完整的将数据写入。当客户端希望释放这个copy的时候,它会向服务器通过这个操作过程,以确保每个操作步骤的完整。异步写入能够使服务器去确定最好的同步 数据的策略。使数据能尽可能的同步的提交和到达。这样的机制能够更好的实现数据缓冲和更多的平衡。V2在将数据写入存储器之前不能再相应任何的写入请求。
V4相对于V3:
1,在协议中增强了安全方面的特性
2,增强恶毒跨平台特性
3,改进了INTERNET上的存取和执行效能
工作原理
NFS本身是没有提供信息传输的协议和功能,但NFS却能让我们通过网络进行资料的分享,这是因为NFS使用了其他的传输协议,这些传输协议用到这个RPC功能可以说NFS本身就是使用RPC的一个程序所以只要用到NFS服务的地方都要启动RPC服务/不管是客户端还是服务端/可以这么理解:NFS是一个文件系统,而RPC是负责信息的传输
配置
服务端设定:
vim /etc/exports
分享的目录 主机名(参数)
参数:
rw: 可擦写的权限
ro: 只读的权限
no_root_squash: 登入 NFS 主机使用分享目录的使用者,如果是 root 的话,那么对于
这个分享的目录来说,他就具有 root 的权限!这个项目『极不安全』,不建议使用!
root_squash: 在登入 NFS 主机使用分享之目录的使用者如果是 root 时,那么这个使用者
的权限将被压缩成为匿名使用者,通常他的 UID 与 GID 都会变成 nobody 那个身份;
all_squash: 不论登入 NFS 的使用者身份为何,他的身份都会被压缩成为匿名使用者,
通常也就是 nobody 啦!
anonuid: 前面关于 *_squash 提到的匿名使用者的 UID 设定值,通常为 nobody,但是
你可以自行设定这个 UID 的值!当然,这个 UID 必需要存在于你的 /etc/passwd 当中!
anongid: 同 anonuid ,但是变成 group ID 就是了
sync: 资料同步写入到内存与硬盘当中
async: 资料会先暂存于内存当中,而非直接写入硬盘
设置的实例:
a). /tmp (rw,no_root_squash) //号表示所有的IP都可以访问
b). /tmp (rw)
/home/public 192.168.0.(rw) (ro) //下面两行作用一样
/home/public 192.168.0.0/24(rw) (ro)
c). /home/test 192.168.0.100(rw) //只对某部机器设置权限
d). /home/linux .linux.org(rw,all_squash,anonuid=40,anongid=40) //当.linux.org登陆
此NFS主机,并且在/home/linux下面写入档案时,该档案的所有人与所有组,就会变
成/etc/passwd里面对应的UID为40的那个身份的使用者了.
2)exportfs的用法
如果我们修改了/etc/exports后,并不需要重启nfs服务,只要用exportfs重新扫
描一次/etc/exports,并且重新加载即可
语法: exportfs [-aruv]
-a: 全部挂载(或卸载) /etc/exports档案内的设定
-r: 重新挂载/etc/exports里面的设定,也同步的更新/etc/exports和/var/lib/nfs/xtab
里面的内容
-u:卸载某一目录
-v:在export的时候,将分享的目录显示到荧屏上.
例子
exportfs -rv
//重新export一次
exportfs -au
//全部卸载
3)showmount用法
语法: showmount [-ae] hostname
-a: 显示目前主机与client所连上来的使用目录的状态
-e: 显示hostname的/etc/exports里面共享的目录
客户端设定:
mount -t nfs hostname(orIP):/directory /mountpoint
搞定,就这么简单
为了担心会不小心将 NFS 端挂进来的具有 SUID 权限档案的程序执行,root可
以将NFS 所分享的目录以较为安全的情况挂载进来,可以
mount -t nfs -o nosuid,ro hostname:/directory /mountponit
可能会遇见的问题:
1.权限的设定不符合
2.忘记了激活portmap,此时会报错:
mount: RPC: Port mapper failure - RPC: Unable to receive 或者
mount: RPC: Program not registered
那么,启动portmap,并且重新启动nfs
#service portmap start
#service nfs restart
3.被防火墙搞掉
重新设置防火墙,包括iptables与TCP_Wrappers,因为激活了portmap,所
以port 111必须提供出去.因此在iptables rules中,要增加:
iptables -A INPUT -p TCP --dport 111 -j ACCEPT
iptables -A INPUT -p UDP --dport 111 -j ACCEPT
如果还不行,那就是TCP_Wrappers的问题,检查/etc/hosts.deny,如果有一行是:
ALL: ALL: deny
那就必须在/etc/hosts.allow中增加:
portmap: ALL: allow
nfs服务的配置的更多相关文章
- NFS服务的配置与应用
一.NFS服务概述 NFS(Network File System),即网络文件系统,是使不同计算机之间能够通过网络进行文件共享的一种网络协议,多用于Linux/Unix网络系统中. 一台NFS服务器 ...
- nfs服务权限配置
nfs服务权限配置 1. 查看系统是否已经安装了服务Rpm -qa | grep nfs 2. 启动服务,并且开机自动运行Systemctl start nfsSystemctl enabled nf ...
- window nfs 服务端配置安装
windows7下面安装nfs客户端命令(首先开启windows客户端mount挂载命令): 打开或关闭windows功能>nfs服务(勾选上)重启 windows nfs共享有两种方式分别 ...
- NFS服务基本配置及使用
操作系统:redhat 7.2 参考链接:https://www.cnblogs.com/dscode/p/6146409.html NFS:Network File System 一.服务器端配置 ...
- Linux CentOS6.6 NFS服务的配置与安装
一.简介 NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源.在NFS的应用中,本地NFS的客 ...
- nfs服务安装配置
一.准备阶段 配置解析主机 检查版本及内核 二.服务端安装 1) 配置yum把下载好的软件留着,下次备用,不用再下载 cachedir=/var/cache/yum/$basearch/$releas ...
- shell脚本实现nfs服务安装配置,共享文件分发
##############################Deploy nfs######################## echo "start deploy nfs-server& ...
- 配置NFS服务
1. NFS配置,需要安装哪些包?nfs-utils 和 rpcbind2. 如果不开启rpcbind服务,就启动NFS,会怎么样?如果不开启rpcbind服务,会报错:rpc.nfsd: writ ...
- CentOS7系列--3.1CentOS7中配置NFS服务
CentOS7配置NFS服务 1. 配置NFS服务器端 1.1. 安装nfs-utils软件 [root@server1 ~]# yum install -y nfs-utils Loaded plu ...
随机推荐
- Java模拟实现百度文档在线浏览
Java模拟实现百度文档在线浏览 这个思路是我参考网上而来,代码是我实现. 采用Apache下面的OpenOffice将资源文件转化为pdf文件,然后将pdf文件转化为swf文件,用FlexPaper ...
- vue修饰符 .lazy .number .trim
.lazy 在输入框中,v-model 默认是同步数据,使用 .lazy 会转变为在 change 事件中同步 , 也就是在失去焦点 或者 按下回车键时才更新 <template> < ...
- git获取特定版本的代码
比如取1.80版本 git clone -b https://github.com/passedbylove/poiji.git
- [笔记] 使用otunnel从外网访问内网
需求 内网机器没有公网IP,但是可以访问外网,现在需要从外网访问内网机器. 举例,在家里机器A访问公司内网机器B. 前提 需要一台有公网IP的服务器S做中转,这样就可以打通AB两端了. A <- ...
- UFIDA
充分匹配了‘用友’的中文品牌的含义,即‘与用户真诚合作,做用户可靠朋友’.其中‘U’代表‘User’,即用户:‘FID’表示忠诚.信任,来源于 Fidelity(诚实)等英文词的词根:助音词‘A’放在 ...
- Python Deque 模块使用详解,python中yield的用法详解
Deque模块是Python标准库collections中的一项. 它提供了两端都可以操作的序列, 这意味着, 你可以在序列前后都执行添加或删除. https://blog.csdn.net/qq_3 ...
- JavaScript基础入门08
目录 JavaScript 基础入门08 DOM 介绍 绑定事件 给一组元素绑定事件 节点 节点树 节点类型 选取文档内容 通过id选取元素 通过指定的标签名选取元素 用指定的css类来选取元素 通过 ...
- __getattriute__
# class Foo: # def __init__(self,x): # self.x = x # def __getattr__(self,item): # print("__geta ...
- MSF魔鬼训练营-3.3.2 口令猜测与嗅探
密码暴力破解以SSH为例,其他协议方法类似 SSH msf > use auxiliary/scanner/ssh/ssh_login msf auxiliary(ssh_login) ...
- Java基础(十)
复习 静态方法与成员方法 //另一个类里的静态和成员方法 public class MyClass { //静态方法 public static void method2() { System.out ...