NFS、简言之、便是文件服务器
在部署过程中、文件的读写权限是比教容易出错
本博文按以下 6 个方面展开、但重点放在文件权限上、
● 原理
● /etc/exports
● 文件权限
● Server/Client 配置
● 2 个常用命令
● Troubleshoting
● 经验建议
㈠ 原理
所谓一图胜千言、有图有真相
Rocky 便随大流啦、放 2 张图片
值得注意的是、启动 NFS 之前、portmap 要先启动
㈡ /etc/exports
NFS 的部署其实很简单、分 3 步走战略:配置/etc/exports → 启动 portmap → 启动 NFS
那么、万里长征第一步:配置 /etc/exports
这个配置文件很简单、每一行最前面是要共享出来的目录
然后、是这个目录可以依照不同的权限共享给不同的主机
比如:
/tmp/rokcy 192.168.1.0/24(ro) *.fjnu.edu.com(rw,sync)
格式说明:小括号()是设置权限参数的位置、主机名与小括号是连在一起
主机名的设置主要有几个方式:
● 可以使用完整的 IP 或者 网段、例如:192.168.1.110 或 192.168.1.0/24
● 可以使用主机名称、不过这个名称要在/etc/hosts 或 DNS 里能找到、对于主机名支持通配符的使用、如* 或 ?
权限方面的常见参数有:
rw :读写;
ro :只读;
sync :同步模式,内存中数据时时写入磁盘;
async :不同步,把内存中数据定期写入磁盘中;
no_root_squash :加上这个选项后,root用户就会对共享的目录拥有至高的权限控制,就像是对本机的目录操作一样。不安全,不建议使用;
root_squash :和上面的选项对应,root用户对共享目录的权限不高,只有普通用户的权限,即限制了root;
all_squash :不管使用NFS的用户是谁,他的身份都会被限定成为一个指定的普通用户身份;
anonuid/anongid :要和root_squash 以及 all_squash一同使用,用于指定使用NFS的用户限定后的uid和gid,前提是本机的/etc/passwd中存在这个uid和gid
㈢ 文件权限
对于一个文件的写入权限、需要满足:
(1)使用者账号,亦即 UID 的相关身份
(2)NFS 服务器允许有写入的权限
(3)文件系统确实具有 w 的权限
㈣ 2 个命令
① 在Client端使用:
showmount -e IP或主机名
查看可挂载的目录
② 在Server端使用:
重新配置/etc/exports后可用:
exportfs -avr
㈤ Troubleshoting
① 用户或客户端身份权限不符
[root@linux ~]# mount -t nfs localhost:/home/test /home/nfs
mount: localhost:/home/test failed, reason given by server: Permission denied
解决方案:
如果确定您的 IP 没有错误,那么请通知服务器端, 请管理员将你的 IP 加入 /etc/exports
② 服务器或客户端某些服务未启动:
[root@linux ~]# mount -t nfs localhost:/home/test /home/nfs
mount: RPC: Port mapper failure - RPC: Unable to receive
[root@linux ~]# mount -t nfs localhost:/home/test /home/nfs
mount: RPC: Program not registered
解决方案:
要嘛就是 portmap 忘记开,要嘛就是服务器端的 nfs 忘记开!解决的方法就是去启动这两个咚咚啦!
③ 被防火墙档掉了:
这个也很容易忘记了!那就是重新设定一下您的防火墙,这包含了两部份,包括 iptables 与 TCP_Wrappers !
因为我们启动了 portmap ,这个东西有两个数据需要分享出来,一个是 port 111 需要提供出去,
因此您的 iptables 规则当中,需要开放这个 port 喔
㈥ 经验建议
如果 NFS 在高速环境下运行的话、建议加上:
mount -t nfs -o nosuid,noexec,nodev,rw,bg,soft,rsize=32768,wsize=32768
分享到:
相关推荐
GNU_Linux_Programming_Unleashed/GNU/linux编程指南
涵盖高级GNU / Linux系统管理。 学生将学习如何安装,配置和优化GNU / Linux操作系统以及使用最广泛的计算机服务。
Debian GNU/Linux是最严谨,最开放和最自由的GNU/Linux发行套件,秉承Linux网络协作开发的完全黑客精神,是目前著名的Linux发行套件中唯一的非商业性版本。目前的稳定版本为Debian version 2.2r2,代号Potato,预计...
面向不熟悉Debian GNU / Linux的读者,假定他们没有GNU / Linux或其他类似Unix的系统的先验知识。
Sourcery_CodeBench_Lite_for_Xilinx_GNU_Linux.tar.bz2
专注于新Linux用户和桌面Linux应用程序的需求。
透视Debian GNU/Linux.pdf
Debian GNU/Linux 安装手册
GNU/Linux 操作 介绍 英文版 Joaquín López Sánchez-Montañés Sofia Belles Ramos Roger Baig Viñas Francesc Aulí Llinàs 1. Introduction 2. Basic concepts and commands 3. Knoppix workshop 4. GNU/...
The wide range of applications available in GNU/Linux includes not only pure applications, but also tools and utilities for the GNU/Linux environment. GNU/Linux Application Programming takes a ...
GNU/Linux 编程指南(第二版),Linux下 C语言的必看书!
第1部分 debian 的介绍与安装 第2部分 配置基本系统 第3部分 系统管理与自动化 第4部分 软硬件的使用 第5部分 网络服务的配置与管理
An annotated guide to program and develop GNU/Linux Embedded systems quickly About This Book Rapidly design and build powerful prototypes for GNU/Linux Embedded systems Become familiar with the ...
指导您遍历GNU / Linux系统的许多不同区域,重点是使桌面环境能够完成您想要的工作。
gnu/linux嵌入式快速编程一书的完整源代码,不可多得的好资料,本书基于TI的官方开发板Beaglebone black。
这本有关linux入门的文档是从‘李正果’的个人网站上下载而来的,希望对刚入门者有些指导作用。
第2章 设置开发系统 第3章 使用GNU CC 第4章 使用GNU make管理项目 第5章 创建可移植的自配置软件 第6章 比较和合并源代码文件 第7章 使用RCS和CVS控制版本 第8章 调试 第9章 出错处理 第10章 使用库 第2部分 输入...
gnu_lin编程指南源码,希望对想在这方面发展的朋友,有一定的帮助
GNU/Linux环境编程第二版 源码。linux环境下实测编译有效。
Debian_GNU_Linux宝典