天天看點

centos7 安裝nfs和設定權限問題

阿裡雲上給ECS主機新加了一塊磁盤,需要挂載到另一個雲主機内網,存放系統日志。

阿裡雲新購買的磁盤時綁定主機的,是以隻能通過nfs的方式給挂載到日志主機上面。

一、安裝 NFS 伺服器所需的軟體包:

1

yum 

install

-y nfs-utils

二、編輯exports檔案,添加從機

1 2

vim 

/etc/exports

/logwarehouse 192.168.0.7(rw,all_squash,anonuid=0,anongid=0)

192.168.0.7 機器可以挂載NFS伺服器上的/data目錄到自己的檔案系統中

rw表示可讀寫;sync表示同步寫,(不要包含fsid=0!!!表示将/data找個目錄包裝成根目錄,否則從機切換到非root使用者後,再通路挂載後端分區,提示permission denied錯誤!)具體參數說明點選這裡

×××××參數說明

  1. #:允許ip位址範圍在192.168.0.*的計算機以讀寫的權限來通路/home/work 目錄。  
  2. /home/work 192.168.0.*(rw,sync,root_squash)  
  3. /home  192.168.1.105 (rw,sync)  
  4. /public  * (rw,sync)  
  5. 配置檔案每行分為兩段:第一段為共享的目錄,使用絕對路徑,第二段為用戶端位址及權限。  
  6. 位址可以使用完整IP或網段,例如10.0.0.8或10.0.0.0/24,10.0.0.0/255.255.255.0當然也可以位址可以使用主機名,DNS解析的和本地/etc/hosts解析的都行,支援通配符,例如:*.chengyongxu.com  
  7. 權限有:  
  8. rw:read-write,可讀寫;    注意,僅僅這裡設定成讀寫用戶端還是不能正常寫入,還要正确地設定共享目錄的權限,參考問題7  
  9. ro:read-only,隻讀;  
  10. sync:檔案同時寫入硬碟和記憶體;  
  11. async:檔案暫存于記憶體,而不是直接寫入記憶體;  
  12. no_root_squash:NFS用戶端連接配接服務端時如果使用的是root的話,那麼對服務端分享的目錄來說,也擁有root權限。顯然開啟這項是不安全的。  
  13. root_squash:NFS用戶端連接配接服務端時如果使用的是root的話,那麼對服務端分享的目錄來說,擁有匿名使用者權限,通常他将使用nobody或nfsnobody身份;  
  14. all_squash:不論NFS用戶端連接配接服務端時使用什麼使用者,對服務端分享的目錄來說都是擁有匿名使用者權限;  
  15. anonuid:匿名使用者的UID值,通常是nobody或nfsnobody,可以在此處自行設定;  
  16. anongid:匿名使用者的GID值。 

三、啟動nfs服務

先為rpcbind和nfs做開機啟動:

1 2

systemctl 

enable

rpcbind.service

systemctl 

enable

nfs-server.service

然後分别啟動rpcbind和nfs服務:

1 2

systemctl start rpcbind.service

systemctl start nfs-server.service

确認NFS伺服器啟動成功:

1

rpcinfo -p

檢查 NFS 伺服器是否挂載我們想共享的目錄 /data:

1 2 3 4

exportfs

#可以檢視到已經ok

/data

192.168.0.100

/data

192.168.0.101

四、在從機上安裝NFS 用戶端

首先是安裝nfs,同上,然後啟動rpcbind服務

先為rpcbind做開機啟動:

1

systemctl 

enable

rpcbind.service

然後啟動rpcbind服務:

1

systemctl start rpcbind.service

注意:用戶端不需要啟動nfs服務

檢查 NFS 伺服器端是否有目錄共享:

1

showmount -e nfs伺服器的IP

在從機上使用 mount 挂載伺服器端的目錄/data到用戶端某個目錄下:

1 2 3

mkdir

/data

mount

-t nfs4 nfs伺服器IP:/    

/data

df

-h 檢視是否挂載成功

想在客戶機上實作開機挂載,則需要編輯/etc/rc.d/rc.local

1 2 3

vi

/etc/rc.d/rc.local

# 加上

mount -t nfs 192.168.0.6:/logwarehouse /logwarehouse

用戶端挂載後,寫檔案時可能會報一個權限問題:Permission denied。

解決這個問題可以修改nfs主伺服器/etc/exports檔案,改成如下內容:

1 2 3

vi

/etc/exports

# xx請根據下面替換

/data

192.168.0.7(rw,

sync

,anonuid=xx,anongid=xx) 

檢視伺服器uid

1 2

# id root 

uid=0(root) gid=0(root) 

groups

=0(root)

重新讀取NFS配置檔案:

1

exportfs -rv

可使用如下指令檢視配置

1

exportfs -

v

繼續閱讀