22.4. 手動輸出檔案系統

如果您不想使用 YaST,請確定 NFS 伺服器上有執行下列系統:

若要在系統啟動時使用程序檔 /etc/init.d/portmap/etc/init.d/nfsserver 來啟動這些服務,請輸入指令 insserv /etc/init.d/nfsserverinsserv /etc/init.d/portmap 同時在組態檔 /etc/exports中定義哪些檔案系統應輸出至哪些主機。

對每一個要輸出的目錄,必須有一行來設定哪些主機可以何種權限存取該目錄。此目錄中的所有子目錄也會自動輸出。被授權的機器通常會以完整名稱來指定 (包括領域名稱),但是也可能會使用萬用字元,如 *?(以 Bash 外圍程式相同方式擴展)。如果在此處沒有指定機器,任何機器均可以指定權限輸入此檔案系統。

在機器名稱之後以括號設定輸出檔案系統的權限。最重要的選項顯示於 表格 22.1, "輸出檔案系統的權限" 中。

表格 22.1. 輸出檔案系統的權限

選項

意義

ro

檔案系統以唯讀權限輸出 (預設值)。

rw

檔案系統以讀寫權限輸出。

root_squash

這將可確保輸入機器的 root 使用者在此檔案系統上沒有 root 權限。可藉由將使用者 ID 65534 指定給具有使用者 ID 0 (root) 的使用者來達成。此使用者 ID 應設為 nobody (預設值)。

no_root_squash

請勿將使用者 ID 0 指定為使用者 ID 65534,請維持 root 權限的有效性。

link_relative

將絕對連結 (這些是以 / 開頭) 轉換為 ../ 的順序。只有在裝載機器的整個檔案系統時才有用 (預設值)。

link_absolute

符號連結保留不動。

map_identity

使用者 ID 在用戶端與伺服器上是完全相同的 (預設值)。

map_daemon

用戶端與伺服器沒有相符的使用者 ID。這會讓 nfsd 建立使用者 ID 的轉換表。此工作必須有 ugidd 精靈。

您的 exports 檔案看起來會像 範例 22.1, "/etc/exports" /etc/exports 是由 mountd 與 nfsd 讀取。如果您對此檔案做任何變更,請重新啟動 mountd 和 nfsd 讓變更生效。使用 rcnfsserver  restart 可輕易完成。

範例 22.1. /etc/exports

#
# /etc/exports
#
/home            sun(rw)   venus(rw)
/usr/X11         sun(ro)   venus(ro)
/usr/lib/texmf   sun(ro)   venus(rw)
/                earth(ro,root_squash)
/home/ftp        (ro)
# End of exports