一、NFS服务器配置实例
实验拓扑

二、实验要求及环境

2.1实验环境

NFS服务器 IP:192.168.8.5
环境:
[root@server7 ~]# uname -a
Linux server7.ctos.zu 3.10.0-514.el7.centos.plus.i686 #1 SMP Wed Jan 25 12:55:04 UTC 2017 i686 i686 i386 GNU/Linux
[root@server7 ~]# cat /etc/redhat-release
CentOS release 7.3.1611 (AltArch)

客户端IP:192.168.8.7
环境:
[root@client-A ~]# uname -a
Linux client-A.ctos.zu 2.6.32-696.el6.i686 #1 SMP Tue Mar 21 18:53:30 UTC 2017 i686 i686 i386 GNU/Linux
[root@client-A ~]# cat /etc/redhat-release
CentOS release 6.9 (Final)

2.2、实验要求

NFS服务器

1、/home/share 目录可读写,并且不限制用户身份,共享给192.168.8.0/24网段不的所有主机;
2、/home/zhidata 这个目录仅共享给192.168.8.7这台主机,以供该主机上面的zhi这个用户来使用,
也就是说zhi在192.168.8.5和192.168.8.7上均有账号,且账号均为zhi;
3、/home/upload 这个目录做为192.168.8.0/24网段的数据上传目录,其中/home/upload
的用户和所属组为nfs-upload这个名字,它的UID和GID均为222;
4、/home/nfs  这个目录的属性为只读,可提供除了网段内的工作站外,向Internet也提供数据内容。

三、服务器端设置
1、 编辑/etc/exports内容
[root@server7 etc]# cat /etc/exports
/home/share  192.168.8.0/24(rw,no_root_squash)
/home/zhidata  192.168.8.7(rw)
/home/upload   192.168.8.0/24(rw,all_squash,anonuid=222,anongid=222)
/home/nfs     192.168.8.0/24(ro)  *(ro,all_squash)
2、按要求建立每个对应目录
    2.1、创建/home/share目录 任何人都可以在 /home/share内新增、修改文件,但
    仅有该文件/目录的建立者与root能够删除自己的目录或文件。
    
    [root@server7 etc]# mkdir -p  /home/share
    [root@server7 etc]# ll -d /home/share/
    drwxr-xr-x. 2 root root 6 9月   5 15:50 /home/share/
    [root@server7 etc]# chmod 1777  /home/share/
    [root@server7 etc]# ll -d /home/share/
    drwxrwxrwt. 2 root root 6 9月   5 15:50 /home/share/
    
    2.2、创建/home/nfs
    
    [root@server7 etc]# ll -d /home/nfs/
    drwxr-xr-x. 2 root root 6 9月   5 16:52 /home/nfs/
    
    2.3、创建/home/zhidata目录
    
    [root@server7 etc]# mkdir -v /home/zhidata
    mkdir: 已创建目录 "/home/zhidata"
    [root@server7 etc]# ll -d /home/zhidata/
    drwxr-xr-x. 2 root root 6 9月   5 16:57 /home/zhidata/
    [root@server7 etc]# useradd zhi
    root@server7 etc]# passwd zhi
    更改用户 zhi 的密码 。
    新的 密码:
    无效的密码: 密码少于 8 个字符
    重新输入新的 密码:
    passwd:所有的身份验证令牌已经成功更新。
    [root@server7 etc]# cat /etc/passwd | grep zhi
    zhi:x:1000:1000:zhi:/home/zhi:/bin/bash
    [root@server7 etc]# chmod 700 /home/zhidata/
    [root@server7 etc]# chown -R zhi:zhi /home/zhidata/
    [root@server7 etc]# ll -d /home/zhidata/
    drwx------. 2 zhi zhi 6 9月   5 16:57 /home/zhidata/
    
    2.4、创建/home/upload目录
#先建立对应账号与组名及UID
[root@server7 etc]# groupadd  -g 222 nfs-upload
[root@server7 etc]# useradd -g 222 -u 222 -M nfs-upload
[root@server7 etc]# cat /etc/passwd|grep nfs
rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin
nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin
nfs-upload:x:222:222::/home/nfs-upload:/bin/bash

#创建目录,修改属主
[root@server7 etc]# mkdir /home/upload
[root@server7 etc]# chown -R nfs-upload:nfs-upload  /home/upload/
[root@server7 etc]# ll -d /home/upload/
drwxr-xr-x. 2 nfs-upload nfs-upload 6 9月   6 08:38 /home/upload/

2.5、重启NFS服务
[root@server7 etc]# systemctl restart  nfs
[root@server7 etc]# systemctl status  nfs
● nfs-server.service - NFS server and services
   Loaded: loaded (/usr/lib/systemd/system/nfs-server.service; enabled; vendor preset: disabled)
   Active: active (exited) since 三 2017-09-06 08:41:40 CST; 8s ago
  Process: 9171 ExecStopPost=/usr/sbin/exportfs -f (code=exited, status=0/SUCCESS)
  Process: 9169 ExecStopPost=/usr/sbin/exportfs -au (code=exited, status=0/SUCCESS)
  Process: 9168 ExecStop=/usr/sbin/rpc.nfsd 0 (code=exited, status=0/SUCCESS)
  Process: 9181 ExecStart=/usr/sbin/rpc.nfsd $RPCNFSDARGS (code=exited, status=0/SUCCESS)
  Process: 9180 ExecStartPre=/usr/sbin/exportfs -r (code=exited, status=0/SUCCESS)
 Main PID: 9181 (code=exited, status=0/SUCCESS)
   CGroup: /system.slice/nfs-server.service

9月 06 08:41:40 server7.ctos.zu systemd[1]: Starting NFS server and services...
9月 06 08:41:40 server7.ctos.zu systemd[1]: Started NFS server and services.
[root@server7 etc]# tail /var/log/messages
Sep  6 08:41:40 server7 systemd: Started NFS Mount Daemon.
Sep  6 08:41:40 server7 rpc.mountd[9178]: Version 1.3.0 starting
Sep  6 08:41:40 server7 systemd: Started NFSv4 ID-name mapping service.
Sep  6 08:41:40 server7 systemd: Starting NFS server and services...
Sep  6 08:41:40 server7 kernel: NFSD: starting 90-second grace period (net c0c932c0)
Sep  6 08:41:40 server7 systemd: Started NFS server and services.
Sep  6 08:41:40 server7 systemd: Starting Notify NFS peers of a restart...
Sep  6 08:41:40 server7 sm-notify[9198]: Version 1.3.0 starting
Sep  6 08:41:40 server7 sm-notify[9198]: Already notifying clients; Exiting!
Sep  6 08:41:40 server7 systemd: Started Notify NFS peers of a restart.

2.6、查看NFS服务器共享出来目录
[root@server7 etc]# showmount -e localhost
Export list for localhost:
/home/nfs     (everyone)
/home/upload  192.168.8.0/24
/home/share   192.168.8.0/24
/home/zhidata 192.168.8.7
2.7、关闭防火墙、selinux

2.8查看配置
[root@server7 ~]# exportfs -v
/home/zhidata     192.168.8.7(rw,wdelay,root_squash,no_subtree_check,sec=sys,rw,secure,root_squash,no_all_squash)
/home/share       192.168.8.0/24(rw,wdelay,no_root_squash,no_subtree_check,sec=sys,rw,secure,no_root_squash,no_all_squash)
/home/upload      192.168.8.0/24(rw,wdelay,root_squash,all_squash,no_subtree_check,anonuid=222,anongid=222,sec=sys,rw,secure,root_squash,all_squash)
/home/nfs         192.168.8.0/24(ro,wdelay,root_squash,no_subtree_check,sec=sys,ro,secure,root_squash,no_all_squash)
/home/nfs         <world>(ro,wdelay,root_squash,all_squash,no_subtree_check,sec=sys,ro,secure,root_squash,all_squash)

四、客户端配置
4.1、客户端也要安装nfs-utils和rcpbind软件包

[root@client-A ~]# yum install nfs-utils rpcbind

4.2、启动RPC
[root@client-A ~]# service rpcbind start
Starting rpcbind:                                          [  OK  ]
[root@client-A ~]# service rpcbind status
rpcbind (pid  1926) is running...
[root@client-A ~]# chkconfig --list |grep rpcbind
4.3、客户端关闭防火墙、selinux
[root@client-A ~]# service iptables stop
iptables: Setting chains to policy ACCEPT: filter          [  OK  ]
iptables: Flushing firewall rules:                         [  OK  ]
iptables: Unloading modules:                               [  OK  ]

4.4 测试网络
[root@client-A ~]# ping 192.168.8.5
PING 192.168.8.5 (192.168.8.5) 56(84) bytes of data.
64 bytes from 192.168.8.5: icmp_seq=1 ttl=64 time=2.16 ms
64 bytes from 192.168.8.5: icmp_seq=2 ttl=64 time=0.697 ms
64 bytes from 192.168.8.5: icmp_seq=3 ttl=64 time=0.346 ms
64 bytes from 192.168.8.5: icmp_seq=4 ttl=64 time=0.336 ms
64 bytes from 192.168.8.5: icmp_seq=5 ttl=64 time=0.335 ms
64 bytes from 192.168.8.5: icmp_seq=6 ttl=64 time=0.317 ms
64 bytes from 192.168.8.5: icmp_seq=7 ttl=64 time=0.512 ms
64 bytes from 192.168.8.5: icmp_seq=8 ttl=64 time=0.320 ms
^C
--- 192.168.8.5 ping statistics ---
8 packets transmitted, 8 received, 0% packet loss, time 7555ms
rtt min/avg/max/mdev = 0.317/0.629/2.169/0.595 ms

4.5 在客户端查看NFS服务器共享出来目录
[root@client-A ~]# showmount -e 192.168.8.5
Export list for 192.168.8.5:
/home/nfs     (everyone)
/home/upload  192.168.8.0/24
/home/share   192.168.8.0/24
/home/zhidata 192.168.8.7
4.6、挂载NFS服务器上/home/nfs目录到本地/opt/data目录下
#挂载
[root@client-A opt]# mount -t nfs 192.168.8.5:/home/nfs  /opt/data/
#查看信息
[root@client-A data]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root
                      6.5G  644M  5.6G  11% /
tmpfs                 250M     0  250M   0% /dev/shm
/dev/sda1             477M   26M  426M   6% /boot
192.168.8.5:/home/nfs
                      8.0G  1.6G  6.5G  20% /opt/data
[root@client-A data]# mount
/dev/mapper/VolGroup-lv_root on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw)
/dev/sda1 on /boot type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
nfsd on /proc/fs/nfsd type nfsd (rw)
192.168.8.5:/home/nfs on /opt/data type nfs (rw,vers=4,addr=192.168.8.5,clientaddr=192.168.8.7)
#创建文件测试
[root@client-A data]# touch testabc
touch: cannot touch `testabc': Read-only file system

4.7挂载/home/upload 目录到客户端/opt/upload目录下
#挂载
[root@client-A data]# mkdir /opt/upload
[root@client-A data]# mount -t nfs  192.168.8.5:/home/upload   /opt/upload/
#查看挂载是否成功

[root@client-A data]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root
                      6.5G  644M  5.6G  11% /
tmpfs                 250M     0  250M   0% /dev/shm
/dev/sda1             477M   26M  426M   6% /boot
192.168.8.5:/home/nfs
                      8.0G  1.6G  6.5G  20% /opt/data
192.168.8.5:/home/upload
                      8.0G  1.6G  6.5G  20% /opt/upload
                      
#客户端创建nfs-upload用户
[root@client-A ~]# groupadd  -g 222 nfs-upload
[root@client-A ~]# useradd -g 222 -u 222 -m nfs-upload
    
#测试,可以看到创建的文件及目录默认属主为nfs-upload属组为nfs-upload

[zhi@client-A upload]$ pwd
/opt/upload
[zhi@client-A upload]$ ll
total 0
#测试创建文件
[zhi@client-A upload]$ touch test123
测试创建目录
[zhi@client-A upload]$ mkdir  testdir
[zhi@client-A upload]$ ll -a
total 4
drwxr-xr-x  3 nfs-upload nfs-upload   36 Sep  6 10:28 .
drwxr-xr-x. 4 root       root       4096 Sep  6 18:22 ..
-rw-rw-r--  1 nfs-upload nfs-upload    0 Sep  6 10:28 test123
drwxrwxr-x  2 nfs-upload nfs-upload    6 Sep  6 10:28 testdir

# 在客户端用root用户创建文件测试
root@client-A upload]# touch testabc
[root@client-A upload]# ll
total 0
-rw-r--r-- 1 root       root       0 Sep  6 10:31 nfstest123
-rw-r--r-- 1 nfs-upload nfs-upload 0 Sep  6 10:32 testabc
drwxrwxr-x 2 nfs-upload nfs-upload 6 Sep  6 10:28 testdir
可以看到用root用户创建的文件属主仍是nfs-upload
#测试删除文件
[zhi@client-A upload]$ rm test123
[zhi@client-A upload]$ ll
total 0
drwxrwxr-x 2 nfs-upload nfs-upload 6 Sep  6 10:28 testdir

NFS笔记(二)NFS服务器配置实例的更多相关文章

  1. Cookie学习笔记二:Cookie实例

    今天说说刚刚学到的两个Cookie的最经典应用:自己主动登录和购物车设置 一:自己主动登录 须要两个页面:login.jsp与index.jsp,login.jsp用来输出登录信息,index.jsp ...

  2. NFS笔记(一)NFS服务器工作原理及详细配置

    一.NFS工作原理 1.什么是NFS服务器 NFS就是Network File System的缩写,它最大的功能就是可以通过网络,让不同的机器.不同的操作系统可以共享彼此的文件. NFS服务器可以让P ...

  3. python3.4学习笔记(二十六) Python 输出json到文件,让json.dumps输出中文 实例代码

    python3.4学习笔记(二十六) Python 输出json到文件,让json.dumps输出中文 实例代码 python的json.dumps方法默认会输出成这种格式"\u535a\u ...

  4. python3.4学习笔记(二十五) Python 调用mysql redis实例代码

    python3.4学习笔记(二十五) Python 调用mysql redis实例代码 #coding: utf-8 __author__ = 'zdz8207' #python2.7 import ...

  5. python3.4学习笔记(二十三) Python调用淘宝IP库获取IP归属地返回省市运营商实例代码

    python3.4学习笔记(二十三) Python调用淘宝IP库获取IP归属地返回省市运营商实例代码 淘宝IP地址库 http://ip.taobao.com/目前提供的服务包括:1. 根据用户提供的 ...

  6. k8s部署nacos之二 nfs

    1.在linux服务器下载nacos 首先安装git命令 yum install git git clone https://github.com/nacos-group/nacos-k8s.git ...

  7. Mastering Web Application Development with AngularJS 读书笔记(二)

    第一章笔记 (二) 一.scopes的层级和事件系统(the eventing system) 在层级中管理的scopes可以被用做事件总线.AngularJS 允许我们去传播已经命名的事件用一种有效 ...

  8. Python 学习笔记二

    笔记二 :print 以及基本文件操作 笔记一已取消置顶链接地址 http://www.cnblogs.com/dzzy/p/5140899.html 暑假只是快速过了一遍python ,现在起开始仔 ...

  9. Servlet和JSP读书笔记(二)

    一. GenericServlet 1. 前面写的 Servlet和JSP学习笔记(一) 中的实例都是通过实现Servlet接口编写的,这样存在的问题就是:你必须实现Servlet中的所有方法,而不管 ...

随机推荐

  1. git commit 操作

    查看提交历史 然后在此项目中运行 git log,应该会看到下面的输出:   合并commit 信息 我们需要将 2dfbc7e8 和 c4e858b5 合并成一个 commit,那么我们输入如下命令 ...

  2. Diophantus of Alexandria

    Diophantus of Alexandria was an egypt mathematician living in Alexandria. He was one of the first ma ...

  3. Experimental Educational Round: VolBIT Formulas Blitz D

    Description After a probationary period in the game development company of IT City Petya was include ...

  4. SQL Server 清理日志

    USE[master] GO ALTER DATABASE 要清理的数据库名称 SET RECOVERY SIMPLE WITH NO_WAIT GO ALTER DATABASE 要清理的数据库名称 ...

  5. Asp.net获取系统信息

    [DllImport("kernel32")]        public static extern void GlobalMemoryStatus(ref MEMORY_INF ...

  6. 阿里云ECS服务器FileZilla'被动模式失败'的处理办法

    现象:FileZilla客户端连接服务器报错:“状态:    服务器发回了不可路由的地址.被动模式失败.” 解决办法:1.在[FileZilla Server]-Edit-Settings-Passi ...

  7. java——ArrayList 的存在有什么意义?

    好像所有的数据类型都可以用比如 TreeMap[]  int[] Object[] 这种形式来创建自己的数组,那么ArrayList存在的意义是什么呢? 我只能想到这种:ArrayList可以存储多种 ...

  8. Unity Scene Screen.resolutions 分辨率列表

    Screen.resolutions 分辨率列表(安卓平台试了不能用此方法,最好用宏定义判断一下平台) C# => public static Resolution[] resolutions; ...

  9. [原创]hibernate更新后jdbc读取不到数据问题

    最近在做工作流插件时使用的是自己基于hibernate连接封装的orm框架,按说跟hibernate共用的一个连接,应该在同一个事务中,但在使用时hibernate saveOrUpdate后(未提交 ...

  10. Ajax实现跨域访问的三种方法

    转载自:http://www.jb51.net/article/68424.htm 一.什么是跨域 我们先回顾一下域名地址的组成: http:// www . google : 8080 / scri ...