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实例的更多相关文章

  1. 嵌入式环境搭建之NFS

    嵌入式环境搭建之NFS Author:tiger-johnTime:2013-08-04mail:jibo.tiger@gmail.comBlog:http://blog.csdn.net/tiger ...

  2. day10、nfs+rsync全网备份及实时同步

    题目要求 注意:博主使用的系统为: [root@web01 ~]# uname -a Linux web01 2.6.32-696.el6.x86_64 #1 SMP Tue Mar 21 19:29 ...

  3. NFS服务的配置与应用

    一.NFS服务概述 NFS(Network File System),即网络文件系统,是使不同计算机之间能够通过网络进行文件共享的一种网络协议,多用于Linux/Unix网络系统中. 一台NFS服务器 ...

  4. NFS (网络文件系统)

    NFS (网络文件系统) https://www.cnblogs.com/wahaha02/p/9559345.html Linux网络文件系统的实现与调试 NFS协议 NFS (网络文件系统)不是传 ...

  5. 【集群实战】NFS网络文件共享服务

    1. NFS介绍 1.1 什么是NFS? NFS是Network File System的缩写,中文意思是网络文件系统. 它的主要功能是通过网络(一般是局域网)让不同的主机系统之间可以共享文件或目录. ...

  6. linux添加开机自启动脚本示例详解

    linux下(以RedHat为范本)添加开机自启动脚本有两种方法,先来简单的; 一.在/etc/rc.local中添加如果不想将脚本粘来粘去,或创建链接什么的,则:step1. 先修改好脚本,使其所有 ...

  7. linux开机启动

    开机过程指的是从打开计算机电源直到LINUX显示用户登录画面的全过程.分析LINUX开机过程也是深入了解LINUX核心工作原理的一个很好的途径. 启动第一步--加载BIOS 当你打开计算机电源,计算机 ...

  8. linux 开机自动启动脚本方法

    通过现场对这次天津iptv demo项目的调测.对iptv这套系统有了更好的认识和理解.由于iptv本身需要安装许多服务.而现场实施中有没有把这些需要启动服务的脚本加入到开 机自动运行中.如果服务器重 ...

  9. Linux网络文件系统的实现与调试

    NFS协议 NFS (网络文件系统)不是传统意义上的文件系统,而是访问远程文件系统的网络协议.整个NFS服务的TCP/IP协议栈如下图所示,NFS是应用层协议,表示层是XDR,会话层是RPC,传输层同 ...

随机推荐

  1. 链式mapreduce

    在hadoop 中一个Job中可以按顺序运行多个mapper对数据进行前期的处理,再进行reduce,经reduce后的结果可经个经多个按顺序执行的mapper进行后期的处理,这样的Job是不会保存中 ...

  2. java的自定义异常类

    编写自定义异常类的模式 编写自定义异常类实际上是继承一个Exception标准异常类,用新定义的异常处理信息覆盖原有信息的过程.常用的编写自定义异常类的模式如下: public classCustom ...

  3. Parallels Desktop 设置win网络连接

    目的: 1 虚拟机中的win系统技能访问外网 2 可以和Mac系统互联 首先来实现1,很简单: 打开控制中心对应系统的设置 选择[硬件]->[网络] 源:设置共享网络 到此就达到1目的了: 现在 ...

  4. springboot 多数据源(三种数据库连接池--JDBC,dbcp2,Druid)

    本文使用的是springboot2.0(在配置数据源时和springboot1.X略有区别) 首先:springboot默认支持的连接池有dbcp,dbcp2, tomcat, hikari四种连接池 ...

  5. React 编码

    https://github.com/Minwe/style-guide/blob/master/React.js.md https://github.com/planningcenter/react ...

  6. 没有该栏目数据可能缓存文件(data/cache/inc_catalog_base.inc)没有更新请检查是否有写入权限

    dedecms系统搬家后或在系统还原后,重新更新栏目或文件的时候,有时会出现这样的错误提示:没有该栏目数据可能缓存文件(data/cache/inc_catalog_base.inc)没有更新请检查是 ...

  7. 多态、抽象类、接口、区别(java基础知识九)

    1.多态的概述以及代码体现 * A:多态概述 * 事物存在的多种形态 * B:多态前提 * a:要有继承关系. * 一个类是父类,一个类是子类 * b:要有方法重写. * c:要有父类引用指向子类对象 ...

  8. [Silverlight 2.0 控制物体绕圆弧运行(C#初探篇)]

    我自己写的第一个 Silverlight 2.0 程序    [Silverlight 2.0 控制物体绕圆弧运行(C#初探篇)]            程序运行时:小地球将绕着圆形轨迹做圆周运动. ...

  9. kafka之四:Kafka集群搭建

    1.软件环境 1.linux一台或多台,大于等于2 2.已经搭建好的zookeeper集群 3.软件版本kafka_2.11-0.9.0.1.tgz 2.创建目录并下载安装软件 #创建目录 cd /o ...

  10. Centos7 编译安装 Nginx、MariaDB、PHP

    前言 本文主要大致介绍CentOS 7下编译安装Nginx.MariaDB.PHP.面向有Linux基础且爱好钻研的朋友.技艺不精,疏漏再所难免,还望指正. 环境简介: 系统: CentOS 7,最小 ...