centos7 NFS伺服器搭建記錄

喔易發表於2020-11-02

1、檢查是否已經安裝,沒有顯示就是沒有

rpm -qa nfs-utils rpcbind

 

2、安裝

yum -y install nfs-utils  (centos7可以只安裝nfs-unitls,2個一起安裝也可以)

yum install nfs-utils rpcbind -y   (如果rpcbind沒有也可以一起安裝)

3、啟動或重啟

service rpcbind restart

service nfs restart

//其他命令

service nfs stop  停止

systemctl status nfs.service 檢視狀態

 

4、配置

vi /etc/exports

寫入如下內容,*可以換成指定ip或網段

data/nfs_share/  *(rw,sync,root_squash)

5、重啟nfs

service nfs restart

附:nfs所有不同許可權,表示如下:

      ro:表示只讀許可權

      rw:讀寫許可權

      sync:資料同步寫記憶體硬碟

      async:將資料先儲存在記憶體緩衝區中,必要時才寫入磁碟;

      all_squash:不管你訪問共享目錄的使用者是誰,都必須壓縮為nfsnobody使用者的許可權;

      no_all_squash(預設):訪問使用者先與本機使用者匹配,匹配失敗後再對映為匿名使用者或使用者組;

      root_squash: 如果訪問共享目錄是root的許可權使用者,對共享目錄的許可權會被壓縮為nfsnobody使用者的權

      no_root_squash:來訪的root使用者保持root帳號許可權;

      no_squash:訪問共享目錄時,使用者如果是root許可權,對共享目錄也具有root許可權(最好不要設定,增加服務安全隱患,稍後再提)

      anonuid=<UID>:指定匿名訪問使用者的本地使用者UID,要和root_squash 以及 all_squash一同使用;


      anongid=<GID>:指定匿名訪問使用者的本地使用者組GID,要和root_squash 以及 all_squash一同使用;

 

      【anonuid/anongid :要和root_squash 以及 all_squash一同使用,用於指定使用NFS的使用者限定後的uid和gid,前提是本機的/etc/passwd中存在這個uid和gid】

 

      secure(預設):限制客戶端只能從小於1024的tcp/ip埠連線伺服器;

      insecure:允許客戶端從大於1024的tcp/ip埠連線伺服器;

      

      wdelay(預設):檢查是否有相關的寫操作,如果有則將這些寫操作一起執行,這樣可以提高效率;

 

      no_wdelay:若有寫操作則立即執行,應與sync配合使用;


      subtree_check(預設) :若輸出目錄是一個子目錄,則nfs伺服器將檢查其父目錄的許可權;

 

      no_subtree_check :即使輸出目錄是一個子目錄,nfs伺服器也不檢查其父目錄的許可權,這樣可以提高效率;

 

6、客戶機上掛載

A、安裝

yum install -y nfs-utils

B、啟動rpcbind服務

為rpcbind做開機啟動

  systemctl enable rpcbind.service

  然後啟動rpcbind服務:

  systemctl start rpcbind.service

C、掛載

mount -t nfs 192.168.10.123:/data/nfs_share /data/

192.168.10.123:/data/nfs_share :nfs共享目錄

 

 

相關文章