從一部 NFS 伺服器分享檔案稱為匯出目錄,可以使用 NFS 伺服器設定工具 來設定系統當作一部 NFS 伺服器。
如要使用 NFS 伺服器設定工具,您必須執行 X 視窗系統,並擁有 root 的權限,且已安裝 redhat-config-nfs RPM 套件。 如要啟動該應用程式,請選擇面板上的 『主選單按鈕』 => 『系統設定』 => 『伺服器設定』 => 『NFS 伺服器』,或輸入 redhat-config-nfs 指令。
如要新增一個 NFS 共享,請點選 新增 按鈕,將會出現如 圖形 16-2 所示的對話窗。
『基本的』 標簽頁需要下列的資訊:
目錄 — 指定要分享的目錄,如 /tmp。
主機 — 指定可以共享這個目錄的主機,請參考 菴 16.3.2 節 以取得可用格式的解釋。
基本權限設定 — 指定該目錄是否為僅能讀取或可讀寫的權限設定。
您可以在 『一般選項』 的標簽頁中設定下列的選項:
允許大於埠號 1024 的連線 — 在 1024 以下的埠號啟動的服務,必須由 root 才能啟動,選取這個選項以使得非 root 的使用者也可以啟動 NFS 服務,這個選項等同於 insecure。
允許非安全的檔案鎖定 — 不需要一個鎖定要求,這個選項等同於 insecure_locks。
停用 subtree 的檢查 — 假如匯出檔案系統的一個子目錄,不過並不匯出整個檔案系統,伺服器將會檢查所要求的檔案是否在所匯出的子目錄中,這種檢查稱為 『subtree 的檢查』,選取這個選項以停用 subtree 的檢查。 假如匯出整個檔案系統,選取停用 subtree 的檢查將可增加傳輸速率。 這個選項等同於 no_subtree_check。
要求同步寫入操作 — 預設已啟用,在要求所做的變更寫入到磁碟上前,這個選項不允許伺服器對要求做出回應。 這個選項等同於 sync,假如沒有選擇這個選項,則使用 async 選項。
強制立即同步寫入操作 — 不延遲寫入磁碟,這個選項等同於 no_wdelay。
您可以在 『使用者存取』 的標簽頁中設定下列選項:
視遠端的 root 使用者為本機的 root — 預設情況下,root 的使用者與群組 IDs 都是 0,Root squashing 對應使用者 ID 0 與群組 ID 0 為匿名的使用者與群組 IDs,使得用戶端上的 root 沒有 NFS 伺服器上的 root 權限。 假如已選擇這個選項,root 並不對應到匿名使用者,而且用戶端機器上的 root 也會擁有匯出目錄的 root 權限。 藉由選取這個選項將會大大地降低系統的安全性,除非有絕對的需要,請勿選取它,這個選項等同於 no_root_squash。
視所有的用戶端使用者為匿名的使用者 — 假如有選取這個選項,所有的使用者與群組 ID 都對應到匿名的使用者。 這個選項等同於 all_squash。
為匿名的使用者指定本機的使用者 ID — 假如有選取 『視所有的用戶端使用者為匿名的使用者』 選項,這個選項使您可以為匿名的使用者指定一個使用者 ID。 這個選項等同於 anonuid。
為匿名的使用者指定本機的群組 ID — 假如有選取 『視所有的用戶端使用者為匿名的使用者』 選項,這個選項使您可以為匿名的使用者指定一個群組 ID。 這個選項等同於 anongid。
如要修改一個既有的 NFS 共享,請從清單中選取它,再點選 屬性 的按鈕。 如要刪除一個既有的 NFS 共享,請從清單中選取它,再點選 刪除 的按鈕。
在點選 確定 來新增、編輯或刪除清單中的一個 NFS 共享後,變更將立即生效 — 伺服器系統程式將重新啟動,而且舊的設定檔案也儲存為 /etc/exports.bak,新的設定將會寫入到 /etc/exports 檔案中。
NFS 伺服器設定工具 直接讀取並寫入到 /etc/exports 設定檔案,因此在使用這個工具之後,您可以手動編輯這個檔案,而且在手動編輯完該檔案後(必須以正確的語法格式修改檔案),也可以使用這個工具來做設定。
假如您較喜歡使用一個文字編輯器來編輯設定檔案,或者您沒有安裝 X 視窗系統,您可以直接修改設定檔案。
/etc/exports 檔案控制 NFS 伺服器要匯出的目錄,它的格式如下:
directory hostname(options) |
必須指定的唯一選項是 sync 或 async 的其中之一(建議使用 sync)。 假如您指定 sync,在要求所做的變更寫入到磁碟之前,伺服器並不對要求做出回應。
例如:
/misc/export speedy.example.com(sync) |
將允許來自 speedy.example.com 主機的使用者以預設的僅能讀取權限掛載 /misc/export 目錄,不過:
/misc/export speedy.example.com(rw,sync) |
將允許來自 speedy.example.com 主機的使用者以讀寫的權限掛載 /misc/export ,目錄。
請參考 菴 16.3.2 節 以取得關於可用主機名稱格式的說明。
請參考 Red Hat Linux 參考手冊 以取得可以指定的選項清單。
警示 | ||
---|---|---|
請特別小心 /etc/exports 檔案中的空白字元,假如主機名稱與括號中的選項間沒有空白字元,這些選項只適用於該主機名稱,假如有空白存在的話,這些選項則適用於其餘的所有人。 舉例來說,請仔細檢查下列這兩個例子:
第一行允許來自 speedy.example.com 的使用者擁有讀寫的存取權限,而拒絕所有其他的使用者。 第二行允許來自 speedy.example.com 的使用者擁有僅能讀取的權限(預設值),而允許所有其他人讀寫的存取權限。 |
每次您更改完 /etc/exports 檔案,您必須通知 NFS 系統程式,或使用下列指令來重新載入設定檔案:
/sbin/service nfs reload |
主機可以以下列的形式出現:
單一機器 — 一個有效的網域名稱(可以被伺服器解析的)、主機名稱(可以被伺服器解析的)或是一個 IP 位址
以萬用字元指定一連串的機器 — 使用 * 或 ? 字元來指定一個字串符合條件,萬用字元不可與 IP 位址一併使用,然而假如 DNS 的反查詢失敗時,它們也許可以使用。 當您使用萬用字元在有效的網域名稱時,點(.)並不包括在萬用字元中。 舉例來說,*.example.com 包括 one.example.com,不過並不含括 one.two.example.com。
IP 網路 — 使用 a.b.c.d/z,這裡的 a.b.c.d 為所屬網路,而 z 代表網路遮罩的位元數(如 192.168.0.0/24)。 另一個可用的格式是 a.b.c.d/網路遮罩,這裡的 a.b.c.d 代表所屬網路,而 網路遮罩 代表網路遮罩的數值(如 192.168.100.8/255.255.255.0)。
網路群組 — 以 @group-name 格式表示,這裡的 group-name 就是 NIS 網路群組的名稱。
在匯出 NFS 檔案系統的伺服器上,必須執行 nfs 服務。
使用下列指令來檢視 NFS 系統程式的狀態:
/sbin/service nfs status |
使用下列指令來啟動 NFS 系統程式:
/sbin/service nfs start |
使用下列指令來停止 NFS 系統程式:
/sbin/service nfs stop |
如要在開機時啟動 nfs 服務,請使用下列指令:
/sbin/chkconfig --level 345 nfs on |
您也可以使用 chkconfig, ntsysv 或 系統服務設定工具 來設定那些服務要在開機時啟動,請參考 第14章 以取得詳細資訊。