Linux-NFS原理介紹


  NFS(network filesystem)是由sun公司開發的,其作用是在網絡當中可以將想要開發的目錄共享給別人,這樣使得訪問者訪問nfs服務器上的東西就像訪問本地的文件一樣,在將文件公開給別人的時候就會引起數據安全問題,但nfs有其權限管理機制。只要將權限管理做好,文件划分清晰,對安全問題就高枕無憂了。

  NFS並不是單獨存在的,它和另外2個模塊共同存在,試想兩台網絡當中的主機如何進行通訊,當然只有通過ip+port來發送數據。

  包括NFS在內,這三個模塊分別是NFS,RPC,PORTMAP。NFS只負責將數據通過以文件系統的方式共享出去,並進行登錄管理和權限管理,並不負責數據的傳輸,而數據的傳輸則有RPC來完成。試想遠程客戶端在進行鏈接的時候需要知道哪個端口可用,以便將可用的端口用於NFS數據傳輸(NFS的數據傳輸方式有端口來完成),而負責維護可用端口與遠程主機的映射關系則是有PORTMAP的完成的。

  NFS的兩個子模塊,登錄管理和權限管理分別是由rpc.nfsd和rpc.mountd這兩個子模塊來完成的。在nfs的啟動代碼當中可以看到這兩個程序的存在。

  不難想出,NFS的工作流程是,遠程客戶端進行nfs請求,RPC獲得請求,通知PORTMAP來獲取端口號,然后PORTMAP將可用的端口號傳給NFS、RPC,然后NFS模塊再進行權限檢驗,如果有足夠的權限,RPC就通過PORTMAP給出的端口進行數據傳輸,並通過該端口到達客戶端。

  nfs的幾個模塊大致是這樣協調的,具體的權限管理,模塊配置則可以通過具體的配置文件來完成,如/etc/exports,/var/lib/nfs/xtab等等。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM