NFS与AutoNFS实例
NFS概述:
NFS,是Network File System的简写,即网络文件系统。网络文件系统是FreeBSD支持的文件系统中的一种,也被称为NFS. NFS允许一个系统在网络上与他人共享目录和文件。通过使用NFS,用户和程序可以像访问本地文件一样访问远端系统上的文件。
安装NFS(在sishen_63上面)
[root@sishen_63 ~]# yum install -y nfs-utils
启动NFS
[root@sishen_63 ~]# service nfs start
Starting NFS services: [ OK ]
Starting NFS quotas: [ OK ]
Starting NFS mountd: [ OK ]
Starting NFS daemon: [ OK ]
Starting RPC idmapd: [ OK ]
查看端口
[root@sishen_63 ~]# netstat -antup | grep 2049
tcp 0 0 0.0.0.0:2049 0.0.0.0:* LISTEN -
tcp 0 0 :::2049 :::* LISTEN -
udp 0 0 0.0.0.0:2049 0.0.0.0:* -
udp 0 0 :::2049 :::* -
设置开机自动起的话使用chkconfig nfs on这条命令。
设置测试目录
[root@sishen_63 ~]# vim /etc/exports
/tmp *(rw)
[root@sishen_63 ~]# service nfs restart
客户端查看(在sishen_64上)

测试客户端访问权限
[root@sishen_64 opt]# touch sishen_64.txt 注意看红色字体
[root@sishen_64 opt]# ll
total 70636
drwx------ 2 root root 4096 Sep 12 18:07 keyring-GhLJxt
drwx------ 2 gdm gdm 4096 Sep 12 18:07 orbit-gdm
drwx------ 2 root root 4096 Sep 12 18:11 orbit-root
drwx------ 2 root root 4096 Sep 12 18:07 pulse-GF9xIQtH3K7r
drwx------ 2 gdm gdm 4096 Sep 12 18:08 pulse-KrvunjvNzMZC
-rw-r--r-- 1 nfsnobody nfsnobody 0 Sep 12 20:11 sishen_64.txt
-rw-r--r-- 1 root root 10795 Sep 12 18:06 vgauthsvclog.txt.0
drwx------ 2 root root 4096 Sep 12 15:47 virtual-root.GbNb3n
drwx------ 2 root root 4096 Sep 12 18:07 virtual-root.GMsPxq
drwx------ 2 root root 4096 Sep 12 15:04 virtual-root.moiJHi
drwxrwxrwt 2 root root 4096 Jun 19 2016 VMwareDnD
drwx------ 2 root root 4096 Sep 12 18:07 vmware-root
-r--r--r-- 1 root root 72270857 Jun 20 2016 VMwareTools-10.0.5-3228253.tar.gz
其他测试
创建共享目录
[root@sishen_63 ~]# mkdir -p /share/{aa,bb,cc,dd,ee,ff}
[root@sishen_63 ~]# ll /share/
total 24
drwxr-xr-x 2 root root 4096 Sep 12 22:58 aa
drwxr-xr-x 2 root root 4096 Sep 12 22:58 bb
drwxr-xr-x 2 root root 4096 Sep 12 22:58 cc
drwxr-xr-x 2 root root 4096 Sep 12 22:58 dd
drwxr-xr-x 2 root root 4096 Sep 12 22:58 ee
drwxr-xr-x 2 root root 4096 Sep 12 23:00 ff
修改配置文件
/tmp *(rw)
/share/aa *(rw,no_root_squash)
/share/bb 192.168.1.0/24(rw,sync)
/share/cc 192.168.1.64(ro)
/share/dd *.baidu.com(rw,all_squash,anonuid=500,anongid=500)
/share/ee 192.168.2.0/24(async) 192.168.3.0/24(rw)
/share/ff *(rw,root_squash)
sync/async 数据同步写入硬盘/不同步写入在内存中缓存
root_squash 压制root,如果用root登录,使其身份自动切换成nfsnobody
no_root_squash 不压制root ,如果是root登录nfs,身份就是root
更改/share目录权限
[root@sishen_63 ~]# ll -d /share/
drwxr-xr-x 8 root root 4096 Sep 12 23:00 /share/
[root@sishen_63 ~]# chmod 777 -R /share/
[root@sishen_63 ~]# ll -d /share/
drwxrwxrwx 8 root root 4096 Sep 12 23:00 /share/
重启nfs服务
[root@sishen_63 ~]# service nfs restart
客户端验证
[root@sishen_64 ~]# showmount -e 192.168.1.63
Export list for 192.168.1.63:
/share/ff *
/share/aa *
/tmp *
/share/dd *.baidu.com
/share/ee 192.168.3.0/24,192.168.2.0/24
/share/cc 192.168.1.64
/share/bb 192.168.1.0/24

被拒绝了,没有权限
去服务端更改配置文件,然后重启nfs服务后再来测试
修改内容
将 /share/dd *.baidu.com(rw,all_squash,anonuid=500,anongid=500)
改为 /share/dd *(rw,all_squash,anonuid=500,anongid=500)

挂载成功!
测试文件权限

挂载其他目录,ee目录由于服务端限制,所以挂载会出错。

查看挂载目录

添加普通用户

使用root和sishen用户登录,创建并对比文件权限

因为aa目录不压制root用户,所以aa.txt的所有者还是root,但是注意普通用户是nobody。
切换到cc目录下,使用sishen用户创建文件失败,因为该目录为只读

切换到root用户去创建,仍然失败,因为该目录权限对所有用户为只读

切换到ff目录下,分别使用root和sishen用户创建文件,并查看文件权限

因为ff目录压制root,所以root身份映射成nfsnobody。
配置自动挂载
需要在客户端编辑/etc/fstab文件,内容格式为:
192.168.1.63:/share/aa /share/aa nfs defaults 0 0
保存退出,重启客户端操作系统验证。
AutoNFS
[root@sishen_63 ~]# yum install -y autofs
客户端创建测试共享测试目录
[root@sishen_64 ~]# mkdir /tmp/{a,root_squash,no_root_squash,all_squash}
服务端修改配置文件,大约在第7行左右,/misc下面添加如下内容
[root@sishen_63 ~]# vim /etc/auto.master
/tmp/a /etc/auto.nfs --timeout=60
/tmp/all_squash /etc/auto.nfs --time=60
/tmp/root_squash /etc/auto.nfs --time=60
/tmp/no_root_squash /etc/auto.nfs --time=60
注意:红色字体是挂载到本地时目录的名字
[root@sishen_63 ~]# vim /etc/auto.nfs
/tmp/a -fstype=nfs 192.168.1.64:/tmp/a
root_squash -fstype=nfs 192.168.1.64:/tmp/root_squash
no_root_squash -fstype=nfs 192.168.1.64:/tmp/no_root_squash
all_squash -fstype=nfs 192.168.1.64:/tmp/all_squash
注意:红色字体名字自己定义即可,没有特殊要求
服务端重启autofs服务
[root@sishen_63 ~]# service autofs restart
Stopping automount: [ OK ]
Starting automount: [ OK ]
首次访问共享目录,需要手动切进去,之后就不需要了,如下
[root@sishen_63 ~]# cd /tmp/a
[root@sishen_63 a]# touch sishen_63.test #创建文件失败,因为没有给权限
touch: cannot touch `sishen_63.test': Permission denied
[root@sishen_63 ~]# cd /tmp/all_squash
[root@sishen_63 all_squash]# cd ..
[root@sishen_63 tmp]# cd root_squash
为了验证共享目录是sishen_64上的,我们可以停掉autofs服务,查看。
[root@sishen_63 tmp]# service autofs stop
Stopping automount: [ OK ]
[root@sishen_63 tmp]# cd a
-bash: cd: a: No such file or directory
[root@sishen_63 tmp]# cd root_squash
-bash: cd: root_squash: No such file or directory
由此可见,以上4个目录均是sishen_64上的。
到此,搞一小段,之后会做出其他相应的服务。欢迎各位读者大佬批评指正~~~
NFS与AutoNFS实例的更多相关文章
- 嵌入式环境搭建之NFS
嵌入式环境搭建之NFS Author:tiger-johnTime:2013-08-04mail:jibo.tiger@gmail.comBlog:http://blog.csdn.net/tiger ...
- day10、nfs+rsync全网备份及实时同步
题目要求 注意:博主使用的系统为: [root@web01 ~]# uname -a Linux web01 2.6.32-696.el6.x86_64 #1 SMP Tue Mar 21 19:29 ...
- NFS服务的配置与应用
一.NFS服务概述 NFS(Network File System),即网络文件系统,是使不同计算机之间能够通过网络进行文件共享的一种网络协议,多用于Linux/Unix网络系统中. 一台NFS服务器 ...
- NFS (网络文件系统)
NFS (网络文件系统) https://www.cnblogs.com/wahaha02/p/9559345.html Linux网络文件系统的实现与调试 NFS协议 NFS (网络文件系统)不是传 ...
- 【集群实战】NFS网络文件共享服务
1. NFS介绍 1.1 什么是NFS? NFS是Network File System的缩写,中文意思是网络文件系统. 它的主要功能是通过网络(一般是局域网)让不同的主机系统之间可以共享文件或目录. ...
- linux添加开机自启动脚本示例详解
linux下(以RedHat为范本)添加开机自启动脚本有两种方法,先来简单的; 一.在/etc/rc.local中添加如果不想将脚本粘来粘去,或创建链接什么的,则:step1. 先修改好脚本,使其所有 ...
- linux开机启动
开机过程指的是从打开计算机电源直到LINUX显示用户登录画面的全过程.分析LINUX开机过程也是深入了解LINUX核心工作原理的一个很好的途径. 启动第一步--加载BIOS 当你打开计算机电源,计算机 ...
- linux 开机自动启动脚本方法
通过现场对这次天津iptv demo项目的调测.对iptv这套系统有了更好的认识和理解.由于iptv本身需要安装许多服务.而现场实施中有没有把这些需要启动服务的脚本加入到开 机自动运行中.如果服务器重 ...
- Linux网络文件系统的实现与调试
NFS协议 NFS (网络文件系统)不是传统意义上的文件系统,而是访问远程文件系统的网络协议.整个NFS服务的TCP/IP协议栈如下图所示,NFS是应用层协议,表示层是XDR,会话层是RPC,传输层同 ...
随机推荐
- 用Java编写的http下载工具类,包含下载进度回调
HttpDownloader.java package com.buyishi; import java.io.FileOutputStream; import java.io.IOException ...
- Struts%$#区别
1.#符号的用途一般有三种.1)访问非根对象属性,例如示例中的#session.msg表达式,由于Struts 2中值栈被视为根对象,所以访问其他非根对象时,需要加#前缀.实际上,#相当于Action ...
- js中的逻辑与(&&)与逻辑或(||)
var foo = 1; var bar = 0; var tar = false; var baz = 2; 一.js中的逻辑与(&&) 1.当第一个数为true时,返回第二个数: ...
- SpringBoot启动跟踪
程序启动入口 @SpringBootApplication public class Chapter001Application { public static void main(String[] ...
- EhCache+Redis实现分布式缓存
Ehcache集群模式 由于 EhCache 是进程中的缓存系统,一旦将应用部署在集群环境中,每一个节点维护各自的缓存数据,当某个节点对缓存数据进行更新,这些更新的数据无法在其它节点中共享,这不仅会降 ...
- YTU 2453: 我想有套北京的房
2453: 我想有套北京的房 时间限制: 1 Sec 内存限制: 128 MB 提交: 796 解决: 289 题目描述 小原是一个软件工程师,名叫原黛玛,他在北京工作.现在有一套房子,价格200 ...
- python数据分组运算
摘要: pandas 的 GroupBy 功能可以方便地对数据进行分组.应用函数.转换和聚合等操作. # 原作者:lionets GroupBy 分组运算有时也被称为 “split-apply-c ...
- hdu acm 2191 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2191 题目意思:有 资金 n 和 m 种类型的大米,对第 i 种类型的大米,价格.数量.袋数分别是: ...
- MVVM模式介绍
MVVM:模型-视图-视图模型(Model-View-ViewModel) 组成部分Model.View.ViewModel View:UI界面 ViewModel:它是View的抽象,负责Vie ...
- 随机生成50个字段的elasticsearch的测试程序输入
词典位置:https://raw.githubusercontent.com/jonbcard/scrabble-bot/master/src/dictionary.txt import json f ...