天天看點

NFS

 -----------------------nfs--------------------------

一、前言    

 nfs,即網絡檔案系統,簡單來講類似于windows下的檔案共享。nfs允許一個系統在網絡上與他人共享目錄和檔案。通過使用nfs,使用者和程式可以像通路本地檔案一樣通路遠端系統上的檔案。

    nfs 最初是由 sun microsytem 公司於在1984 年所開發出來的,最主要的功能就是讓網路上的 unix 電腦可以共享目錄及檔案。我們可以将遠端所分享出來的檔案系統,挂載 (mount) 在本地端的系統上,然後就可以很友善的使用遠端的檔案,而操作起來就像在本地操作一樣,不會感到有甚麽不同。而使用 nfs 也有相當多的好處,例如檔案可以集中管理,節省磁碟空間......等等。

       linux下的nfs一般建立在rpc(遠端過程調用)服務至上,它由許多子程序構成:

nfsd:   nfs主程序,服務名為nfsd,監聽tcp/udp2049端口

rpc.mountd:監聽用戶端請求,然後轉發請求至nfsd(預設使用随機端口)

rpc.quotad:   nfs上的配額管理進(預設使用随機端口)

lockd: 檔案鎖程序,防止nfs重讀錯亂(預設使用随機端口)

rpc.statd:記錄檔案鎖狀态(預設使用随機端口)

二、安裝

   nfs的安裝很簡單,linux一般提供有相關rpm包,安裝nfs-utils,nfs-utils-lib即可,一般預設已經安裝,是以隻要手動啟動服務即可:

# service  nfs  start

#rpcinfo  -p  ----->檢視本機關于nfs的端口是否打開

三、使用

nfs的配置檔案有/etc/exports,/etc/sysconfig/nfs.前者主要用來定義本機的共享點資訊。

如我們要共享本機的/www  給網絡上的192.168.0.0/24:

①、#vim  /etc/exports:

         /www       192.168.1.0/24(rw,sync)      

------------>以讀寫,同步的方式把本機的/www目錄共享給192.168.0.0/24

②、之後導出需要共享問目錄:

#    exportsfs  -arv             ------>導出所有共享目錄 ,即可在不重新開機服務時重新導出

    也可使用exportsfs  -auv    :關閉所有共享目錄

 # showmount   -e   192.168.0.1     -------->檢視此主機上的可共享目錄

③、client使用:

  mount   -n  nfs   192.168.0.1:/www     /shared   -------->挂載遠端/www至本地/shared下

至此,用戶端就可以正常通路共享目錄咯、、、、、

        另外,如若我們想實作nfs的自動挂載,如隻有通路需求時才挂載,長期不通路自動退出,可使用autofs指令實作;它也同樣适用于本地目錄的挂載。

他的實作很簡單,需要用到autofs主配檔案 /etc/auto.master。如:

①、vim   /etc/auto.master:

   /mnt       /etc/auto.shared       ---------指定nfs檔案系統可自動挂載至/mnt下

②、vim     /etc/auto.shared:

   shared    -soft, intr,rw   192.168.0.155:/shared

    ------------>挂載155主機的/shared至本機的/mnt/shared

③、service  autofs  start

 之後我們會發現當我們需要通路155的/shared時,執行cd  /mnt/shared即可,即時在本機看不到此目錄 。

          上面講到了nfs的實作及通路,但是有沒有想過,nfs貌似很不安全啊,它沒有讓你提供認證,隻要給出ip或主機名即可輕松通路,這樣隻要我們更改适當的ip即可任意通路nfs。這是因為nfs預設隻檢查使用者名,而且用戶端說自己是哪個使用者,nfsserver就認為你是哪個使用者,是以一般我們的nfs會結合nis實作遠端集中身份驗證,即在遠端有一台主機專門作為nfs的驗證伺服器,所有用戶端的登陸都會在此主機上實作驗證。

為咯實作nis,linux提供咯ypbind和ypserv軟體包,分别基于nis認證用戶端和nis認證伺服器。

用戶端必須首先加入和伺服器同一個域内,過程如下:

1、vim  /etc/yp.conf   :

     domain   mynis      server     192.168.0.254  -------->加入0.254上的指定域 

2、vim /etc/nsswitch.conf:

更改: passwd:     files   nis

             shadow:     files   nis

              group:      files   nis

3、vim   /etc/sysconfig/network:

  nisdomain=mynis    -------------->指定本機加入的域名

4、service ypbind  restart      ----------->啟動nis用戶端服務

      service  autofs  restart

之後既可以實作身份驗證登入遠端nfs主機咯。

繼續閱讀