电竞比分网-中国电竞赛事及体育赛事平台

分享

CentOS 7.4下NFS存儲(chǔ)服務(wù)部署

 科技強(qiáng)我 2018-06-13

閱讀目錄

  • 1.1 NFS服務(wù)內(nèi)容的概述
  • 1.2 NFS是什么
  • 1.3 NFS共享網(wǎng)絡(luò)文件系統(tǒng)企業(yè)應(yīng)用
  • 1.4 NFS文件系統(tǒng)存在意義
  • 1.5 NFS 網(wǎng)絡(luò)文件系統(tǒng)工作方式
  • 1.6 NFS網(wǎng)絡(luò)文件系統(tǒng)重點(diǎn)要了解兩個(gè)重要服務(wù)
  • 2.1 進(jìn)行服務(wù)器架構(gòu)規(guī)劃
  • 2.2 NFS服務(wù)端部署過程
  • 2.3 NFS 客戶端部署
  • 3.1 NFS服務(wù)相關(guān)進(jìn)程信息
  • 3.2 /etc/exports配置文件說明
  • 3.3 NFS服務(wù)端設(shè)置rpcbind nfs服務(wù)開機(jī)自啟動(dòng)
  • 3.4 NFS配置文件編寫說明
  • 3.5 nfs配置參數(shù)說明
  • 3.6 nfs配置參數(shù)實(shí)踐

第1章 NFS介紹

1.1 NFS服務(wù)內(nèi)容的概述

RPC服務(wù)知識(shí)概念介紹說明,以及RPC服務(wù)存在價(jià)值必須理解掌握

NFS服務(wù)工作原理講解(必須理解掌握)

NFS共享文件系統(tǒng)使用原理講解(必須理解掌握

NFS服務(wù)配罝文件exports編寫格式說明(必須理解掌握

1.2 NFS是什么

NFSNetwork File System)即網(wǎng)絡(luò)文件系統(tǒng)

  它的主要功能是通過網(wǎng)絡(luò)(一般是局域網(wǎng))讓不同的主機(jī)系統(tǒng)之間可以共享文件或目錄。

  分布式文件系統(tǒng)Moosefs(mfs)\glusterFS

1.2.1 NFSqudian

nfs屬于本地文件存儲(chǔ)服務(wù)

  缺點(diǎn)一:

    winndows上無法使用

  缺點(diǎn)二:

在高并發(fā)場(chǎng)景,以及存儲(chǔ)量比較高的場(chǎng)景,對(duì)數(shù)據(jù)安全性要求比較高場(chǎng)景

        需要采用分布式儲(chǔ)存(mfs  FastDFS

        分布式文件系統(tǒng):無法在服務(wù)器中看到真實(shí)的文件信息

1.2.2 實(shí)現(xiàn)Windowslinux系統(tǒng)文件數(shù)據(jù)共享方法

        a.ftp(ftp服務(wù)部署)

        b.samba服務(wù)   

1.3 NFS共享網(wǎng)絡(luò)文件系統(tǒng)企業(yè)應(yīng)用

主要用于存儲(chǔ)web服務(wù)器上用戶上傳的數(shù)據(jù)信息,圖片 附件 頭像 視頻 音頻

1.4 NFS文件系統(tǒng)存在意義

實(shí)現(xiàn)數(shù)據(jù)共享,數(shù)據(jù)統(tǒng)一一致

1.4.1 實(shí)現(xiàn)的不同方法

軟件實(shí)現(xiàn):

本地文件系統(tǒng)NFS  分布式文件系統(tǒng) mfs

硬件實(shí)現(xiàn):

IBM (服務(wù)器 小型機(jī) 大型機(jī) 存儲(chǔ) DS V7000 V5000) Oracle EMC = IOE

回到頂部

1.5 NFS 網(wǎng)絡(luò)文件系統(tǒng)工作方式

 nfs服務(wù)端創(chuàng)建共享目錄

 通過mount 網(wǎng)路掛載,將NFS客戶端本地目錄掛載到NFS服務(wù)端共享目錄上

 NFS客戶端掛載目錄上創(chuàng)建、刪除、查看數(shù)據(jù)操作,等價(jià)于在服務(wù)端進(jìn)行的創(chuàng)建、刪除、查看數(shù)據(jù)操作

 

如圖10-5所示,在 NFS服務(wù)器端設(shè)置好一個(gè)共享目錄 /video后,其他有權(quán)限訪問 NFS服務(wù)器端的客戶端都可以將這個(gè)共享目錄 /video掛載到客戶端本地的某個(gè)掛載點(diǎn)(其實(shí)就是一個(gè)目錄,這個(gè)掛載點(diǎn)目錄可以自己隨意指定),圖10-5中的兩個(gè) NFS客戶端本地的掛載點(diǎn)分別為/ v/video/video ,不同客戶端的掛載點(diǎn)可以不相同。

客戶端正確掛載完畢后,就可以通過 NFS客戶端的掛載點(diǎn)所在的/v/video /video目錄查看

NFS服務(wù)器端 /video共享出來的目錄下的所有數(shù)據(jù)。在客戶端上查看時(shí) NFS服務(wù)器端的 /video目錄就相當(dāng)于客戶端本地的磁盤分區(qū)或目錄,幾乎感覺不到使用上的區(qū)別,根據(jù) NFS服務(wù)器端授予 NFS共享權(quán)限以及共享目錄的本地系統(tǒng)權(quán)限,只要在指定的 NFS客戶端操作掛載/ v/video/video的目錄,就可以將數(shù)據(jù)輕松地存取到NFS服務(wù)器端上的/video目錄中了。

1.6 NFS網(wǎng)絡(luò)文件系統(tǒng)重點(diǎn)要了解兩個(gè)重要服務(wù)

 RPC服務(wù)

      NFS服務(wù)

1.6.1 NFS工作流程圖

 

 

1.6.2 RPC服務(wù)工作原理

1.6.3 NFS詳細(xì)的訪問流程

當(dāng)訪問程序通過NFS客戶端向NFS服務(wù)器存取文件時(shí),其請(qǐng)求數(shù)據(jù)流程大致如下:

01.首先用戶訪間網(wǎng)站程序,由程序在NFS客戶端上發(fā)出存取NFS文件的請(qǐng)求,這時(shí)NFS客戶端(即執(zhí)行程序的服務(wù)器)的RPC服務(wù)(rpcbind服務(wù))就會(huì)通過網(wǎng)絡(luò)向NFS服務(wù)器端的RPC服務(wù)(rpcbind服務(wù))的111端口發(fā)出NFS文件存取功能的詢間請(qǐng)求.

02.NFS服務(wù)器端的RPC服務(wù)(rpcbind服務(wù))找到對(duì)應(yīng)的已注冊(cè)的NFS端口后,通知NFS客戶端的RPC服務(wù)(rpcbind服務(wù))。

03.此時(shí)NFS客戶端獲取到正確的端口,并與NFS daemon聯(lián)機(jī)存取數(shù)據(jù)

04.NFS客戶端把數(shù)據(jù)存取成功后,返回給前端訪間程序,告知用戶存取結(jié)果,作為網(wǎng)站用戶,就完成了一次存取操作。

  因?yàn)?/span>NFS的各項(xiàng)功能都需要向RPC服務(wù)(rpcbind服務(wù))注冊(cè),所以只有RPC服務(wù)才能獲取到NFS服務(wù)的各項(xiàng)功能對(duì)應(yīng)的端口號(hào)(port number)PID、NFS在主機(jī)所監(jiān)聽的IP等信息,而NFS客戶端也只能通過向RPC服務(wù)詢問才能找到正確的端□。也就是說,NFS需要有RPC服務(wù)的協(xié)助才能成功對(duì)外提供服務(wù)。從上面的描述,我們不難推斷,無論是NFS客戶端還是NFS服務(wù)器端,當(dāng)要使用NFS時(shí),都需要首先啟動(dòng)RPC服務(wù),NFS服務(wù)必須在RPC服務(wù)啟動(dòng)之后啟動(dòng),客戶端無需啟動(dòng)NFS服務(wù),但需要啟動(dòng)RPC服務(wù)。

第2章 實(shí)踐操作NFS 服務(wù)

2.1 進(jìn)行服務(wù)器架構(gòu)規(guī)劃

NFS服務(wù)器部署角色IP

服務(wù)器系統(tǒng)

角色

IP

CentOS release 6.9 (Final)

NFS服務(wù)器端(NFS-Sever)

10.0.0.31

CentOS release 6.9 (Final)

NFS客戶端1(NFS-Client1)

10.0.0.8

CentOS release 6.9 (Final)

NFS客戶端2(NFS-Client2)

10.0.0.41

2.2 NFS服務(wù)端部署過程

2.2.1 第一個(gè)里程碑-確認(rèn)軟件是否已經(jīng)安裝,安裝NFS服務(wù)相關(guān)軟件

  rpm -qa|grep nfs

  rpm -qa|grep rpc

安裝rpcbind nfs-utils服務(wù)程序,并進(jìn)行驗(yàn)證安裝是否成功

  yum install -y nfs-utils rpcbind

  rpm -qa nfs-utils rpcbind

 

2.2.2 第二個(gè)里程碑-編寫nfs配置文件

  nfs配置文件默認(rèn)存在/etc/exports

  vim /etc/exports

  #share /data by oldboy for share at 20170220

  /data  172.16.1.0/24(rw,sync) 

/etc/exports文件說明:

第一部分:/data            --指定共享目錄信息

第二部分:172.16.1.0/24  --指定了一個(gè)網(wǎng)段信息,表示允許指定的網(wǎng)段主機(jī)掛載到我本地的共享目錄上

第三部分:(rw,sync)      --表示定義共享參數(shù)信息,

            rw    表示讀寫,對(duì)共享目錄設(shè)置的權(quán)限

            sync  同步,數(shù)據(jù)會(huì)先寫入到NFS服務(wù)器內(nèi)存中,會(huì)立刻同步到磁盤里面==直接存儲(chǔ)硬盤中

2.2.3 第三個(gè)里程碑:創(chuàng)建共享目錄,進(jìn)行權(quán)限設(shè)定

  mkdir /data -p

  chown -R nfsnobody.nfsnobody /data

說明:

NFS共享目錄管理用戶為nfsnobody,此用戶不用創(chuàng)建,安裝nfs軟件時(shí)會(huì)自動(dòng)創(chuàng)建

2.2.4 第四個(gè)里程碑:?jiǎn)?dòng)服務(wù)(注意順序

  首先,啟動(dòng)rpc服務(wù)

/etc/init.d/rpcbind start

  其次,啟動(dòng)nfs服務(wù)

/etc/init.d/nfs start

  rpcbind服務(wù)啟動(dòng)信息查看

  [root@nfs01 ~]# ps -ef|grep rpcbind

  rpc        4050      1  0 10:55 ?        00:00:00 rpcbind

  root      4054  3878  0 10:55 pts/1    00:00:00 grep --color=auto rpcbind

  [root@nfs01 ~]# netstat -lntup|grep 111

  tcp        0      0 0.0.0.0:111                0.0.0.0:*                  LISTEN      4050/rpcbind       

  tcp        0      0 :::111                      :::*                        LISTEN      4050/rpcbind       

  udp        0      0 0.0.0.0:111                 0.0.0.0:*                              4050/rpcbind       

  udp        0      0 :::111                      :::*                                    4050/rpcbind       

  [root@nfs01 ~]# rpcinfo -p localhost

  program vers proto  port  service

    100000    4  tcp    111  portmapper

    100000    3  tcp    111  portmapper

    100000    2  tcp    111  portmapper

    100000    4  udp    111  portmapper

    100000    3  udp    111  portmapper

    100000    2  udp    111  portmapper

  nfs啟動(dòng)后查看信息

[root@nfs01 ~]# rpcinfo -p localhost

  program vers proto  port  service

    100000    4  tcp    111  portmapper

    100000    3  tcp    111  portmapper

    100000    2  tcp    111  portmapper

    100000    4  udp    111  portmapper

    100000    3  udp    111  portmapper

    100000    2  udp    111  portmapper

    100024    1  udp  28467  status

    100024    1  tcp  56269  status

    100011    1  udp    875  rquotad

    100011    2  udp    875  rquotad

    100011    1  tcp   875  rquotad

    100011    2  tcp    875  rquotad

    100005    1  udp  32886  mountd

    100005    1  tcp  6154  mountd

    100005    2  udp  38339  mountd

    100005    2  tcp  60288  mountd

    100005    3  udp  49824  mountd

    100005    3  tcp  24427  mountd

    100003    2  tcp  2049  nfs

    100003    3  tcp  2049  nfs

    100003    4  tcp  2049  nfs

    100227    2  tcp  2049  nfs_acl

    100227    3  tcp  2049  nfs_acl

    100003    2  udp  2049  nfs

    100003    3  udp  2049  nfs

    100003    4  udp  2049  nfs

    100227    2  udp  2049  nfs_acl

    100227    3  udp  2049  nfs_acl

    100021    1  udp  61803  nlockmgr

    100021    3  udp  61803  nlockmgr

    100021    4  udp  61803  nlockmgr

    100021    1  tcp  6064  nlockmgr

    100021    3  tcp  6064  nlockmgr

    100021    4  tcp  6064  nlockmgr

2.2.5 到此服務(wù)端部署配置完成

[root@nfs01 ~]# showmount -e 172.16.1.31

Export list for 172.16.1.31:

/data 172.16.1.0/24

NFS服務(wù)開啟后,默認(rèn)的參數(shù)文件位置,注意:修改此文件,對(duì)nfs服務(wù)沒有任何影響

[root@nfs01 ~]# cat /var/lib/nfs/etab 
/data    172.16.1.0/24(rw,sync,wdelay,hide,nocrossmnt,secure,root_squash,all_squash,no_subtree_check,secure_locks,acl,anonuid=65534,anongid=65534,sec=sys,rw,root_squash,all_squash)

2.3 NFS 客戶端部署

2.3.1 第一個(gè)里程碑:確認(rèn)軟件有沒有安裝,進(jìn)行nfs rpc 服務(wù)軟件安裝部署

yum install rpcbind nfs-utils -y

2.3.2 第二個(gè)里程碑:?jiǎn)?dòng)服務(wù)

提示:

rpcbindnfs軟件都可以不啟動(dòng)

2.3.3 第三個(gè)里程碑: 檢查NFS服務(wù)端是否有可以進(jìn)行掛載的目錄

[root@nfs01 ~]# rpm -qf `which showmount`

nfs-utils-1.2.3-75.el6.x86_64

說明:showmount使用,需要安裝nfs-utils軟件

2.3.4 第四個(gè)里程碑:進(jìn)程nfs客戶端掛載

mount -t nfs 172.16.1.31:/data /mnt

 

[root@backup ~]# showmount -e 172.16.1.31

Export list for 172.16.1.31:

/data 172.16.1.0/24

[root@backup ~]# mount -t nfs 172.16.1.31:/data /mnt

說明: 如果nfs軟件不安裝

        a 無法使用showmount 命令

        b 客戶端無法識(shí)別nfs 文件系統(tǒng)類型

2.3.5 第五個(gè)里程碑: 進(jìn)行檢查測(cè)試

[root@backup ~]# df -h

Filesystem        Size  Used Avail Use% Mounted on

/dev/sda3          19G  1.5G  17G  9% /

tmpfs              238M    0  238M  0% /dev/shm

/dev/sda1          190M  40M  141M  22% /boot

172.16.1.31:/data  19G  1.5G  17G  9% /mnt

【測(cè)試】本地nfs客戶端 進(jìn)行增刪改數(shù)據(jù) 等價(jià)于 nfs服務(wù)端共享目錄操作

[root@backup mnt]# echo "test123">test.txt

[root@backup mnt]# ll test.txt

-rw-r--r-- 1 nfsnobody nfsnobody 8 Oct 13 11:28 test.txt

[root@nfs01 data]# cat test.txt

test123

第3章 知識(shí)深入

3.1 NFS服務(wù)相關(guān)進(jìn)程信息

3.1.1 簡(jiǎn)略說明

rpcbind        rpc啟動(dòng)進(jìn)程 主進(jìn)程

rpc state     檢查數(shù)據(jù)存儲(chǔ)的一致性

rpc.rquotad    磁盤配額

rpc.mountd    權(quán)限管理驗(yàn)證

nfsd            NFS主進(jìn)程

rpc.idmapd    用戶壓縮映射

3.1.1 進(jìn)程/服務(wù) 詳細(xì)說明

服務(wù)或進(jìn)程名

用途說明

portmapper

rpcbind服務(wù)的進(jìn)程(centos5.x 上為 portmap軟件)

rquotad

磁盤配額進(jìn)程

nfs、nfs_acl

  nfs服務(wù)進(jìn)程

nfsd (rpc.nfsd )

rpc.nfsd的主要功能是管理NFS客戶端是否能夠登入NFS服務(wù)器端主機(jī),其中還包括含登入者的ID判別等。

mountd

rpc.mountd的主要功能則是管理NFS文件系統(tǒng)。當(dāng)NFS客戶端順利通過rpc.nfsd登入NFS服務(wù)器端主機(jī)時(shí),在使用NFS服務(wù)器提供數(shù)據(jù)之前,它會(huì)去讀NFS的配置文件/etc/exports來比對(duì)NFS客戶端的權(quán)限,通過這一關(guān)之后,還要經(jīng)過NFS服務(wù)器端本地文件系統(tǒng)使用權(quán)限(就是ownergroup、other權(quán)限)等認(rèn)證程序。如果都通過了,NFS客戶端就可以取得使用NFS服務(wù)器端文件的權(quán)限。

注意:這個(gè)/etc/exports文件也是我們用來管理NFS共享目錄的使用權(quán)限與安全設(shè)置的地方,特別強(qiáng)調(diào),NFS本身設(shè)置的是網(wǎng)絡(luò)共享權(quán)限,整個(gè)共享目錄的權(quán)限還和目錄自身的系統(tǒng)權(quán)限有關(guān)。

rpc.lockd (非必要)

用來鎖定文件,用于多客戶端同時(shí)寫入

rpc.statd (非必要)

檢查文件的一致性,與rpc.lockd有關(guān)。cd兩個(gè)服務(wù)雲(yún)要客戶端,服務(wù)器端同時(shí)開啟才可以;rpc.statd監(jiān)聽來自其他主機(jī)重啟的通知,并且管理當(dāng)本地系統(tǒng)重啟時(shí)主機(jī)列表。

rpc.idmapd

表示用戶映射或用戶壓縮(重要

3.2 /etc/exports配置文件說明

3.2.1 /etc/exports文件說明

NFS共享目錄:

NFS服務(wù)器端要共享的實(shí)際目錄,要用絕對(duì)路徑,如 /data )。注意共享目錄的本地權(quán)限,如果需要讀寫共享,一定要讓本地目錄可以被 NFS客戶端的用戶 nfsnobody)讀寫。

NFS客戶端地址:

NFS服務(wù)器端授權(quán)的可訪問共享目錄的NFS客戶端地址,可以為單獨(dú)的IP地址或主機(jī)名、域名等,也可以為整個(gè)網(wǎng)段地址。還可以用來匹配所有客戶端服務(wù)器,這里所謂的客戶端一般來說是前端的業(yè)務(wù)的業(yè)務(wù)服務(wù)器,例如:web服務(wù)。

□權(quán)限參數(shù)集

對(duì)授權(quán)的NFS客戶端的訪問權(quán)限設(shè)置。

nfs權(quán)限(共享目錄\借給你手機(jī))nfs配置的/ etc/exports /data 172.16.1.0/24(rw)

本地文件系統(tǒng)權(quán)限(\手機(jī)密碼不告訴你)掛載目錄的權(quán)限rwxr- xr-x root root/data

3.2.2 指定 NFS客戶端地址的配置詳細(xì)說明 

客戶端地址           

具體地址       

授權(quán)單一客戶端訪問NFS

10.0.0.30

一般情況,生產(chǎn)環(huán)境中此配置不多

授權(quán)整個(gè)網(wǎng)段可訪問NFS

10.0.0.0/24

其中的24等同于255.255.255.0 ,指定網(wǎng)段為生產(chǎn)環(huán)境中最常見的配置。配置簡(jiǎn)單,維護(hù)方便

授權(quán)整個(gè)網(wǎng)段可訪問NFS

10.0.0.*

指定網(wǎng)段的另外寫法(不推薦使用)

授權(quán)某個(gè)域名客戶端訪問

nfs.oldboyedu.com

此方法生產(chǎn)環(huán)境中一般情況不常用

授權(quán)整個(gè)域名客戶端訪問

*.oldboyedu.com

此方法生產(chǎn)環(huán)境中一般情況不常用

3.2.3 常見案例

常用格式說明

要共享的目錄客戶端IP地址或IP(1,2,)

配罝例一

/data10.0.0.0/24(ro,sync)

說明:允許客戶端讀寫,并且數(shù)據(jù)同步寫入到服務(wù)器揣的磁盤里

注意:24"("之間不能有空格

配置例二

/data10.0.0.0/24(rw,sync/all_squash,anonuid=2000,anongid=2000)

說明:允許客戶揣讀寫,并且數(shù)據(jù)同步寫到服務(wù)器揣的磁盤里,并且指走客戶端

的用戶UIDGID,早期生產(chǎn)環(huán)境的一種配罝,適合多客戶端共享一個(gè)NFS服務(wù)

單目錄,如果所有服務(wù)器的nfsnobody賬戶UID都是65534,則本例沒什么必

要了.早期centos5.5的系統(tǒng)默認(rèn)情況下nfsnobodyUID不一定是65534,

此時(shí)如果這些服務(wù)器共享一個(gè)NFS目錄,就會(huì)出現(xiàn)訪問權(quán)限問題.

配置例三

/home/oldboy10.0.0.0/24(ro)

說明:只讀共享

用途:例如在生產(chǎn)環(huán)境中,開發(fā)人員有查看生產(chǎn)眼務(wù)器日志的需求,但又不希罜

給開發(fā)生產(chǎn)服務(wù)器的權(quán)限,那么就可以給開發(fā)提供從某個(gè)測(cè)試服務(wù)器NFS客戶端

上查看某個(gè)生產(chǎn)服務(wù)器的日志目錄(NFS共享)的權(quán)限,當(dāng)然這不是唯一的方法,

例如可以把程序記錄的日志發(fā)送到測(cè)試服務(wù)器供開發(fā)查看或者通過收集日志等其

它方式展現(xiàn)

3.2.4 nfs客戶端訪問服務(wù)原理

 

3.2.5 nfs服務(wù)訪問原理

 

客戶端(無論用什么用戶訪問)------服務(wù)端(nfsnobody rpc.idmapd

3.3 NFS服務(wù)端設(shè)置rpcbind nfs服務(wù)開機(jī)自啟動(dòng)

[root@nfs01 ~]#  chkconfig rpcbind on

[root@nfs01 ~]#  chkconfig nfs  on

[root@nfs01 ~]#  chkconfig |egrep "rpcbinf|nfs"

nfs            0:off  1:off  2:on  3:on  4:on  5:on  6:off

nfslock         0:off  1:off  2:off  3:on  4:on  5:on  6:off

3.4 NFS配置文件編寫說明

3.4.1 官方舉例配置

EXAMPLE

      # sample /etc/exports file

      /              master(rw) trusty(rw,no_root_squash)

      /projects      proj*.local.domain(rw)

      /usr            *.local.domain(ro) @trusted(rw)

      /home/joe      pc001(rw,all_squash,anonuid=150,anongid=100)

      /pub            *(ro,insecure,all_squash)

      /srv/www        -sync,rw server @trusted @external(ro)

      /foo            2001:db8:9:e54::/64(rw) 192.0.2.0/24(rw)

      /build          buildhost[0-9].local.domain(rw)

3.4.2 /etc/exports文件配置格式為:

    NFS共享目錄 NFS客戶端地址1(參數(shù)1,參數(shù)2,... 客戶端地址2(參數(shù)1,參數(shù)2,...

   

    NFS共享目錄 NFS客戶端地址1(參數(shù)1,參數(shù)2,...

    NFS共享目錄 NFS客戶端地址2(參數(shù)1,參數(shù)2,...

注意:nfs服務(wù)默認(rèn)沒有認(rèn)證機(jī)制,安全性不如分布式文件系統(tǒng)

      只能通過控制配置文件中網(wǎng)絡(luò)地址信息,實(shí)現(xiàn)安全性

3.5 nfs配置參數(shù)說明

 

參數(shù)

說明

rw

可讀寫的權(quán)限

ro 

只讀的權(quán)限

no_root_squash

登入NFS主機(jī),使用該共享目錄時(shí)相當(dāng)于該目錄的擁有者,如果是root的話,那么對(duì)于這個(gè)共享的目錄來說,他就具有root的權(quán)限,這個(gè)參數(shù)『極不安全』,不建議使用

root_squash

登入NFS主機(jī),使用該共享目錄時(shí)相當(dāng)于該目錄的擁有者。但是如果是以root身份使用這個(gè)共享目錄的時(shí)候,那么這個(gè)使用者(root)的權(quán)限將被壓縮成為匿名使用者,即通常他的UIDGID都會(huì)變成nobody那個(gè)身份

all_squash

不論登入NFS的使用者身份為何,他的身份都會(huì)被壓縮成為匿名使用者,通常也就是nobody

anonuid

可以自行設(shè)定這個(gè)UID的值,這個(gè)UID必需要存在于你的/etc/passwd當(dāng)中

anongid

anonuid,但是變成groupID就是了

sync

資料同步寫入到內(nèi)存與硬盤當(dāng)中

async

資料會(huì)先暫存于內(nèi)存當(dāng)中,而非直接寫入硬盤

insecure

允許從這臺(tái)機(jī)器過來的非授權(quán)訪問

3.6 nfs配置參數(shù)實(shí)踐

3.6.1 all_squash 參數(shù)實(shí)踐

服務(wù)端修改配置

[root@nfs01 ~]# vim /etc/exports

#share 20171013 hzs

/data 172.16.1.0/24(rw,sync,all_squash)

[root@nfs01 ~]# /etc/init.d/nfs reload

         配置修改需要平滑重啟nfs 服務(wù)

         reload   平滑重啟

         用戶的訪問體驗(yàn)更好

nfs客戶端進(jìn)行測(cè)試

[root@backup mnt]# touch test.txt

[root@backup mnt]# ll

-rw-r--r-- 1 nfsnobody nfsnobody    8 Oct 13 11:28 test.txt

[root@backup ~]# su - oldboy

[oldboy@backup ~]$ cd /mnt/

[oldboy@backup mnt]$ touch oldboy1.txt

[oldboy@backup mnt]$ ll

-rw-rw-r-- 1 nfsnobody nfsnobody    0 Oct 13 12:34 oldboy1.txt

-rw-r--r-- 1 nfsnobody nfsnobody    8 Oct 13 11:28 test.txt

說明:

不論登入NFS的使用者身份為何,他的身份都會(huì)被壓縮成為匿名使用者,通常也就是nobody

3.6.2 no_all_squash,root_squash 參數(shù)實(shí)踐

服務(wù)端修改配置

[root@nfs01 ~]# vim /etc/exports

#share 20171013 hzs

/data 172.16.1.0/24(rw,sync,no_all_squash,root_squash)

[root@nfs01 ~]# /etc/init.d/nfs reload

 

客戶端卸載重新掛載服務(wù)器配置修改后客戶端要重新掛載

[root@backup ~]# umount /mnt/

[root@backup ~]# mount -t nfs 172.16.1.31:/data /mnt

nfs客戶端測(cè)試結(jié)果:

[root@backup mnt]# touch test1.txt

[root@backup mnt]# ll

-rw-r--r-- 1 nfsnobody nfsnobody    0 Oct 13 12:37 test1.txt

[root@backup mnt]# su - oldboy

[oldboy@backup ~]$ cd /mnt/

[oldboy@backup mnt]$ touch oldboy1.txt

touch: cannot touch `oldboy1.txt': Permission denied

[oldboy@backup mnt]$ touch oldboy2.txt

touch: cannot touch `oldboy2.txt': Permission denied

服務(wù)端驗(yàn)證:

[root@nfs01 ~]# ll /data/

-rw-rw-r-- 1 nfsnobody nfsnobody    0 Oct 13 12:34 oldboy1.txt

-rw-r--r-- 1 nfsnobody nfsnobody    0 Oct 13 12:37 test1.txt

-rw-r--r-- 1 nfsnobody nfsnobody    8 Oct 13 11:28 test.txt

說明:

no_all_squash,是所有用戶都不進(jìn)行壓縮,所以oldboy用戶對(duì)nfs的目錄沒有寫入的權(quán)限(與nfs服務(wù)器的共享目錄權(quán)限有關(guān))。root用戶進(jìn)行壓縮所以可以寫入。

3.6.3 no_root_squash 參數(shù)實(shí)踐(root用戶不進(jìn)行壓縮映射)

服務(wù)端修改配置

[root@nfs01 ~]# vim /etc/exports

#share 20171013 hzs

/data 172.16.1.0/24(rw,sync,no_root_squash)

[root@nfs01 ~]# /etc/init.d/nfs reload

客戶端卸載重新掛載服務(wù)器配置修改后客戶端要重新掛載

[root@backup ~]# umount /mnt/

[root@backup ~]# mount -t nfs 172.16.1.31:/data /mnt

nfs客戶端測(cè)試結(jié)果:

[root@backup mnt]# touch root.txt

[root@backup mnt]# ll

total 16

-rw-rw-r-- 1 nfsnobody nfsnobody    0 Oct 13 12:34 oldboy1.txt

-rw-r--r-- 1 root      root        0 Oct 13 12:45 root.txt

-rw-r--r-- 1 nfsnobody nfsnobody    0 Oct 13 12:37 test1.txt

-rw-r--r-- 1 nfsnobody nfsnobody    8 Oct 13 11:28 test.txt

刪除測(cè)試

[root@backup mnt]# rm -rf ./*

[root@backup mnt]# ll

total 0

說明:

由于對(duì)root用戶沒有進(jìn)行壓縮,所以到達(dá)nfs服務(wù)器后依舊是root身份,root用戶默認(rèn)對(duì)所有的文件都有權(quán)限,所以可以寫入。(很危險(xiǎn))

本文使用的系統(tǒng)版本為: CentOS Linux release 7.4.1708 (Core) 內(nèi)核版本為: 3.10.0-693.el7.x86_64

CentOS 7下NFS實(shí)例筆記 http://www./Linux/2016-12/138708.htm

Linux下NFS搭建步驟 http://www./Linux/2016-08/134022.htm

NFS文件系統(tǒng)詳解  http://www./Linux/2016-06/131940.htm

基于LAMP平臺(tái)利用NFS遠(yuǎn)程共享資源實(shí)現(xiàn)站點(diǎn)構(gòu)建  http://www./Linux/2016-07/133510.htm

Linux NFS服務(wù)器的安裝與配置詳解 http://www./Linux/2017-01/139886.htm

CentOS 7.2中NFS1.3 安裝 http://www./Linux/2016-10/135970.htm

NFS網(wǎng)絡(luò)文件共享存儲(chǔ)服務(wù)器  http://www./Linux/2017-06/145030.htm

Ubuntu 14.04安裝配置NFS服務(wù)器 http://www./Linux/2016-04/129848.htm

Linux的NFS配置  http://www./Linux/2017-04/143135.htm

本文永久更新鏈接地址http://www./Linux/2017-12/149493.htm

linux

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多