【人在營運囧途_11】GNU/Linux NFS 伺服器部署時使用權限設定的注意事項

來源:互聯網
上載者:User
    NFS、簡言之、便是檔案伺服器
   在部署過程中、檔案的讀寫權限是比教容易出錯
   本博文按以下 6 個方面展開、但重點放在檔案許可權上、
   
   ● 原理
   ● /etc/exports
   ● 檔案許可權
   ● Server/Client 配置
   ● 2 個常用命令
   ● Troubleshoting
   ● 經驗建議
   
    ㈠ 原理
      
      所謂一圖勝千言、有圖有真相
      Rocky 便隨大流啦、放 2 張圖片

      

      

      

      
      值得注意的是、啟動 NFS 之前、portmap 要先啟動
      
   ㈡ /etc/exports
      
      NFS 的部署其實很簡單、分 3 步走戰略:配置/etc/exports → 啟動 portmap → 啟動 NFS
      那麼、萬裡長征第一步:配置 /etc/exports
      這個設定檔很簡單、每一行最前面是要共用出來的目錄
      然後、是這個目錄可以依照不同的許可權共用給不同的主機
      比如:
      /tmp/rokcy   192.168.1.0/24(ro)    *.fjnu.edu.com(rw,sync)
      格式說明:小括弧()是設定許可權參數的位置、主機名稱與小括弧是連在一起
      主機名稱的設定主要有幾個方式:
      ● 可以使用完整的 IP 或者 網段、例如:192.168.1.110 或 192.168.1.0/24
      ● 可以使用主機名稱、不過這個名稱要在/etc/hosts 或 DNS 裡能找到、對於主機名稱支援萬用字元的使用、如* 或 ?
      許可權方面的常見參數有:
      rw :讀寫;
      ro :唯讀;
      sync :同步模式,記憶體中資料時時寫入磁碟;
      async :不同步,把記憶體中資料定期寫入磁碟中;
      no_root_squash :加上這個選項後,root使用者就會對共用的目錄擁有至高的許可權控制,就像是對原生目錄操作一樣。不安全,不建議使用;
      root_squash :和上面的選項對應,root使用者對共用目錄的許可權不高,只有普通使用者的許可權,即限制了root;
      all_squash :不管使用NFS的使用者是誰,他的身份都會被限定成為一個指定的普通使用者身份;
      anonuid/anongid :要和root_squash 以及 all_squash一同使用,用於指定使用NFS的使用者限定後的uid和gid,前提是原生/etc/passwd中存在這個uid和gid
       
   ㈢ 檔案許可權
      
      對於一個檔案的寫入許可權、需要滿足:
      (1)使用者帳號,亦即 UID 的相關身份
      (2)NFS 伺服器允許有寫入的許可權
      (3)檔案系統確實具有 w 的許可權
      
   ㈣ 2 個命令
      
      ① 在Client端使用:
         showmount -e IP或主機名稱
         查看可掛載的目錄
      
      ② 在Server端使用:
         重新設定/etc/exports後可用:
         exportfs -avr
         
   ㈤ Troubleshoting 
      
      ① 使用者或用戶端身份許可權不符

[root@linux ~]# mount -t nfs localhost:/home/test /home/nfsmount: localhost:/home/test failed, reason given by server: Permission denied

         解決方案:
         如果確定您的 IP 沒有錯誤,那麼請通知伺服器端, 請管理員將你的 IP 加入 /etc/exports 
         
      ② 伺服器或用戶端某些服務未啟動:

[root@linux ~]# mount -t nfs localhost:/home/test /home/nfsmount: RPC: Port mapper failure - RPC: Unable to receive[root@linux ~]# mount -t nfs localhost:/home/test /home/nfsmount: RPC: Program not registered


         解決方案:
         要嘛就是 portmap 忘記開,要嘛就是伺服器端的 nfs 忘記開!解決的方法就是去啟動這兩個咚咚啦!
         
      ③ 被防火牆檔掉了:
        
         這個也很容易忘記了!那就是重新設定一下您的防火牆,這包含了兩部份,包括 iptables 與 TCP_Wrappers !
         因為我們啟動了 portmap ,這個東西有兩個資料需要分享出來,一個是 port 111 需要提供出去,
         因此您的 iptables 規則當中,需要開放這個 port 喔
      
   ㈥ 經驗建議
      
      如果 NFS 在高速環境下啟動並執行話、建議加上:
      mount -t nfs -o nosuid,noexec,nodev,rw,bg,soft,rsize=32768,wsize=32768 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.