網路檔案系統(NFS,Network File System)是一種將遠程主機上的分區(目錄)經網路掛載到本地系統的一種機制,通過對網路檔案系統的支援,使用者可以在本地系統上像操作本地分區一樣來對遠程主機的共用分區(目錄)進行操作。
在嵌入式Linux 的開發過程中,開發人員需要在Linux 伺服器上進行所有的軟體開發,交叉編譯後,通用FTP 方式將可執行檔下載到嵌入式系統運行,但這種方式不但效率低下,且無法實現線上的調試。因此,可以通過建立NFS,把Linux 伺服器上的特定分區共用到待調試的嵌入式目標系統上,就可以直接在嵌入式目標系統上操作Linux 伺服器,同時可以線上對程式進行調試和修改,大大的方便了軟體的開發。因此,NFS 的是嵌入式Linux 開發的一個重要的組成部分,本部分內容將詳細說明如何配置嵌入式Linux 的NFS
開發環境。
嵌入式Linux 的NFS 開發環境的實現包括兩個方面:一是Linux 伺服器端的NFS 伺服器支援;二是嵌入式目標系統的NFS 用戶端的支援。因此,NFS 開發環境的建立需要配置linux 伺服器端和嵌入式目標系統端。
一、Linux 伺服器端NFS 伺服器的配置
以root 身份登陸Linux 伺服器,編輯/etc 目錄下的共用目錄設定檔exports,指定共用目錄及許可權等。
執行如下命令編輯檔案/etc/exports:
# vi /etc/exports
在該檔案裡添加如下內容:
/home/work 192.168.0.*(rw,sync,no_root_squash)
然後儲存退出。
添加的內容表示:允許ip 位址範圍在192.168.0.*的電腦以讀寫的許可權來訪問/home/work 目錄。
/home/work 也稱為伺服器輸出共用目錄。
括弧內的參數意義描述如下:
rw:讀/寫入權限,唯讀許可權的參數為ro;
sync:資料同步寫入記憶體和硬碟,也可以使用async,此時資料會先暫存於記憶體中,而不立即寫入硬碟。
no_root_squash:NFS 伺服器共用目錄使用者的屬性,如果使用者是 root,那麼對於這個共用目錄來說就具有 root 的許可權。
接著執行如下命令,啟動連接埠映射:
# /etc/rc.d/init.d/portmap start
最後執行如下命令啟動NFS 服務,此時NFS 會啟用守護進程,然後就開始監聽 Client 端的請求:
# /etc/rc.d/init.d/nfs start
使用者也可以重新啟動Linux 伺服器,自動啟動NFS 服務。
在NFS 伺服器啟動後,還需要檢查Linux 伺服器的防火牆等設定(一般需要關閉防火牆服務),確保沒有屏蔽掉NFS 使用的連接埠和允許通訊的主機,主要是檢查Linux 伺服器iptables,ipchains 等選項的設定,以及/etc/hosts.deny,/etc/hosts.allow 檔案。
我們首先在Linux 伺服器上進行NFS 伺服器的迴環測試,驗證共用目錄是否能夠被訪問。在Linux 伺服器上運行如下命令:
# mount –t nfs 192.168.0.20:/home/work /mnt
# ls /mnt
命令將Linux 伺服器的NFS 輸出共用目錄掛載到/mnt 目錄下,因此,如果NFS 正常工作,應該能夠在/mnt 目錄看到/home/work 共用目錄中的內容。
二、嵌入式目標系統NFS 用戶端的配置
在Linux 伺服器設定好後,還需要對用戶端進行相關配置。在配置核心時選擇Load an Alternate Configuration File輸入設定檔的路徑和檔案名稱添加核心對NFS的支援:
選中networking options-》IP:kernel level auloconfiguralion項
選中file systems-》network file systems-》下的root file system on nfs
和nfs file system support重新編譯核心下載bootloader和kernel到開發板上
在嵌入式目標系統的Linux Shell 下,執行如下命令來進行NFS 共用目錄掛載:
# mkdir /mnt/nfs //建立Linux 伺服器輸出共用目錄的掛載點;
# mount –t nfs 192.168.0.20:/home/work /mnt/nfs –o nolock
# cd /mnt/nfs
# ls
此時,嵌入式目標系統端所顯示的內容即為Linux 伺服器的輸出目錄的內容,即Linux 伺服器的輸出目。
錄/home/work 通過NFS 映射到了嵌入式目標系統的/mnt/nfs 目錄。使用者可以用增/刪/修改檔案的方式來驗證實際效果。mount 命令中的192.168.0.20 為Linux 伺服器的IP 位址,/home/work 為Linux 伺服器端所配置的共用輸出目錄,/mnt/nfs 為嵌入式裝置上的本地目錄。
在開發過程中,來回輸入命令非常煩人,我寫了兩個簡單的指令碼來完成nfs的啟動,掛載。
host啟動nfs:
snfs
#!/bin/bash
ifconfig eth0 192.168.0.20
/etc/rc.d/init.d/portmap start
/etc/rc.d/init.d/nfs start
嵌入式目標機掛載nfs:
mnfs:
#!/bin/sh
mount -t nfs 192.168.0.20:/home/work/nfs /mnt/nfs -o nolock
echo “nfs ok!”
核心提示:
nfs 服務是基於 rpc 來實現的一個方便的共用檔案系統, linux 和 windows 之間共用的檔案非常的便利。 linux 中 nfs 已經被完全整合進了核心,只要在編譯核心的時候選擇編譯檔案系統,那麼預設就支援 nfs nfs
nfs 服務是基於 rpc 來實現的一個方便的共用檔案系統, linux 和 windows 之間共用的檔案非常的便利。 linux 中 nfs 已經被完全整合進了核心,只要在編譯核心的時候選擇編譯檔案系統,那麼預設就支援 nfs
nfs 主服務進程使用的連接埠是 2049 udp 和 2049 tcp 其他進程連接埠都是半隨機的基於 portmap 建議在 /etc/sysconfig/nf 將隨機連接埠定義成靜態連接埠,使連接埠不混亂,並且利於配置 iptables 防火牆策略
nfs 裝置包是 nfs-utils 基於 uid 識別使用者,設定檔 /etc/export 和 /etc/sysconfig/nf
nfs 多進程的
nfsd 主服務進程 工作於核心中的只能以 root 使用者來運行
1 rpc.mountd 基於 rpc 實現的掛載監控的進程
2 rpc.srard 使用者建立的串連若是斷掉,負責通知伺服器重建立立 4 串連
3 lockd 處置用戶端請求檔案鎖,防止多使用者同時對一個檔案寫入造成的抵觸
4 rpc.rquotad RPC 輔助進程,預設監察隨機連接埠
若是想讓系統在啟動時自動掛載 NFS 伺服器上的輸出目錄,就編輯 /etc/fstab 加入如下格式
NFS 伺服器名或 IP 位址:輸出目錄 外地掛載目錄 nf default 0 0
實現 nfs 服務 只需要編譯 /etc/export , 該檔案預設為空白的每一行表示你共用的一個檔案系統
添加格式:
共用檔案目錄 允許訪問的主機(存取權限)
註:被匯出的目錄為獨立的檔案系統,若不是則在許可權中定義 subtrww_check 使更安全,如果共用檔案中有空格用 “ 括起來,
定義允許訪問的主機可以是 IP 網段, IP NIS 域( @NIS 網域名稱)並且可以通配)
下面介紹幾種常用的存取權限
ro 可讀
rw 可讀可寫
async 非同步寫入 先將資料儲存在記憶體緩衝區中,必要時才寫入磁碟
sync 同步寫入 將資料同步寫入記憶體緩衝區與磁碟中,效率低但是可以保證資料的一致性
使用者映射選項
root_squash 如果是 root 使用者來掛載的話,許可權太大,就把 root 使用者映射成來賓帳號(預設設定)
no_root_squash root 訪問時,不把 root 映射成來賓帳號 該設定很危險
all_squash 將遠端存取的所有使用者和所屬使用者組都映射成匿名使用者或使用者組
no_all_squash 不將遠端存取的所以使用者和所屬擁護組映射成匿名 預設設定)
anonuid=xxx 將遠端存取的所以使用者都映射成匿名使用者,並指定為本機使用者( UID=xxx
anongid=xxx 將遠端存取的所以使用者組都映射成匿名使用者組賬戶,並指定為本機使用者組( GID=xxx
其他常用項
secure 限制用戶端只能從小於 1024 TCP/IP 連接埠串連 NFS 伺服器(預設設定)
insecur 允許用戶端從大於 1024 TCP/IP 連接埠串連 NFS 伺服器
subtree_check 若輸出目錄是一個子目錄,則 NFS 將檢查其父目錄的許可權(預設設定)
no_subtree_check 即使輸出的目錄是一個子目錄, NFS 也不檢查其父目錄的許可權
每當修改了 /etc/export 檔案後,不需要重啟 NFS 服務,使用 exportfs 就可以使設定立即生效
exportfs 命令就是用來維護 NFS 服務的輸出目錄列表的
exportfs -r 重新讀取 /etc/export 檔案設定,並使設定立即生效
exportf – ra 重新匯出全部
exportf – v 將當前系統匯出項顯示在螢幕上
exportf – au 關閉服務
exportf – a 開啟所有的全部匯出
showmount 命令檢查 NFS 伺服器上的共用資訊
showmount – e localhost 檢查當前主機共用的檔案系統 只在服務端執行
showmount – a 檢查所有被掛載資訊 服務端執行)
showmount – d 只顯示被掛載目錄
showmount – e IP 檢查該 IP 共用的資訊(用戶端)
示範掛載過程
1 # vim /etc/exports
/var/ftp 192.168.0.71 rw sync 192.168.1.0/24 ro
/var/pub * ro
2 #servic nf restart
#servic portmap status nfs 基於 portmap 所以確定 portmap 啟動的
portmap pid 3110 is running...
#rpcinfo – p localhost 顯示進去當前 rpc 裡 portmap 預設選擇的連接埠
基於 rpc 提供服務
#servic nf restart 重啟 nfs 服務,或者 #exportf – r
showmount – e localhost 檢查當前主機共用的檔案系統
切換到 192.168.0.71
#mount – t nf 192.168.0.71:/var/ftp /mnt
#cd /mnt l 檢查 /var/ftp 下的檔案是不是被掛在 /mnt 下了
Debian NFS伺服器的啟動和設定
2010-10-08 11:33轉載自 415245871最終編輯 415245871
NFS是網路檔案分享權限設定系統。在網路中,這個協議的使用非常廣泛,也是基於共用,網路才有了今天的發展。那麼現在我們主要講解一下Debian NFS伺服器的一些安裝和設定。 Debian下安裝NFS伺服器 安裝Debian NFS伺服器端: # aptitude install nfs-common nfs-kernel-server portmap 在用戶端則需要安裝: # aptitude install nfs-common portmap 啟動服務: # /etc/init.d/nfs-kernel-server start 停止服務: # /etc/init.d/nfs-kernel-server stop 重啟服務: # /etc/init.d/nfs-kernel-server restart Debian NFS伺服器配置: 1、建立共用目錄: # mkdir /home/share # chown nobody.nogroup /home/share 2、建立或修改/etc/exports設定檔 當將同一目錄共用給多個客戶機,但對每個客戶機提供的許可權不同時,可以這樣: [共用的目錄] [主機名稱1或IP1(參數1,參數2)] [主機名稱2或IP2(參數3,參數4)] Debian NFS伺服器共用的常用參數: ro 唯讀訪問 rw 讀寫訪問 sync 所有資料在請求時寫入共用 async NFS在寫入資料前可以相應請求 secure NFS通過1024以下的安全TCP/IP連接埠發送 insecure NFS通過1024以上的連接埠發送 wdelay 如果多個使用者要寫入NFS目錄,則歸組寫入(預設) no_wdelay 如果多個使用者要寫入NFS目錄,則立即寫入,當使用async時,無需此設定。 hide 在NFS共用目錄中不共用其子目錄 no_hide 共用NFS目錄的子目錄 subtree_check 如果共用/usr/bin之類的子目錄時,強制NFS檢查父目錄的許可權(預設) no_subtree_check 和上面相對,不檢查父目錄許可權 all_squash 共用檔案的UID和GID映射匿名使用者anonymous,適合公用目錄。 no_all_squash 保留共用檔案的UID和GID(預設) root_squash root使用者的所有請求映射成如anonymous使用者一樣的許可權(預設) no_root_squas root使用者具有根目錄的完全管理存取權限 anonuid=xxx 指定NFS伺服器/etc/passwd檔案中匿名使用者的UID anongid=xxx 指定NFS伺服器/etc/passwd檔案中匿名使用者的GID Debian NFS伺服器設定檔/etc/exports內容如下: $ cat /etc/exports /home/share 192.168.102.15(rw,sync) *(ro) 配置說明: 對192.168.102.15賦予讀寫權限,其他機器僅有唯讀許可權。 重啟伺服器: # /etc/init.d/nfs-kernel-server restart 3、在客戶機上查看NFS伺服器的資源共用情況: # showmount -e 192.168.102.47 4、在用戶端使用mount命令掛載共用目錄: # mount 192.168.102.47:/home/share /mnt 是不是我們每次修改了設定檔都需要重啟Debian NFS伺服器服務呢? 這個時候我們就可以用exportfs命令重新掃描/etc/exports檔案,來使改動立刻生效。 比如: # exportfs -au 卸載所有共用目錄 # exportfs -rv 重新共用所有目錄並輸出詳細資料 exportfs 命令有軟體包 nfs-kernel-server 提供,詳細的 exportfs 命令說明請查看: # man exportfs |
網路檔案系統(NFS,Network File System)是一種將遠程主機上的分區(目錄)經網路掛載到本地系統的一種機制,通過對網路檔案系統的支援,使用者可以在本地系統上像操作本地分區一樣來對遠程主機的共用分區(目錄)進行操作。
在嵌入式Linux 的開發過程中,開發人員需要在Linux 伺服器上進行所有的軟體開發,交叉編譯後,通用FTP 方式將可執行檔下載到嵌入式系統運行,但這種方式不但效率低下,且無法實現線上的調試。因此,可以通過建立NFS,把Linux 伺服器上的特定分區共用到待調試的嵌入式目標系統上,就可以直接在嵌入式目標系統上操作Linux 伺服器,同時可以線上對程式進行調試和修改,大大的方便了軟體的開發。因此,NFS 的是嵌入式Linux 開發的一個重要的組成部分,本部分內容將詳細說明如何配置嵌入式Linux 的NFS
開發環境。
嵌入式Linux 的NFS 開發環境的實現包括兩個方面:一是Linux 伺服器端的NFS 伺服器支援;二是嵌入式目標系統的NFS 用戶端的支援。因此,NFS 開發環境的建立需要配置linux 伺服器端和嵌入式目標系統端。
一、Linux 伺服器端NFS 伺服器的配置
以root 身份登陸Linux 伺服器,編輯/etc 目錄下的共用目錄設定檔exports,指定共用目錄及許可權等。
執行如下命令編輯檔案/etc/exports:
# vi /etc/exports
在該檔案裡添加如下內容:
/home/work 192.168.0.*(rw,sync,no_root_squash)
然後儲存退出。
添加的內容表示:允許ip 位址範圍在192.168.0.*的電腦以讀寫的許可權來訪問/home/work 目錄。
/home/work 也稱為伺服器輸出共用目錄。
括弧內的參數意義描述如下:
rw:讀/寫入權限,唯讀許可權的參數為ro;
sync:資料同步寫入記憶體和硬碟,也可以使用async,此時資料會先暫存於記憶體中,而不立即寫入硬碟。
no_root_squash:NFS 伺服器共用目錄使用者的屬性,如果使用者是 root,那麼對於這個共用目錄來說就具有 root 的許可權。
接著執行如下命令,啟動連接埠映射:
# /etc/rc.d/init.d/portmap start
最後執行如下命令啟動NFS 服務,此時NFS 會啟用守護進程,然後就開始監聽 Client 端的請求:
# /etc/rc.d/init.d/nfs start
使用者也可以重新啟動Linux 伺服器,自動啟動NFS 服務。
在NFS 伺服器啟動後,還需要檢查Linux 伺服器的防火牆等設定(一般需要關閉防火牆服務),確保沒有屏蔽掉NFS 使用的連接埠和允許通訊的主機,主要是檢查Linux 伺服器iptables,ipchains 等選項的設定,以及/etc/hosts.deny,/etc/hosts.allow 檔案。
我們首先在Linux 伺服器上進行NFS 伺服器的迴環測試,驗證共用目錄是否能夠被訪問。在Linux 伺服器上運行如下命令:
# mount –t nfs 192.168.0.20:/home/work /mnt
# ls /mnt
命令將Linux 伺服器的NFS 輸出共用目錄掛載到/mnt 目錄下,因此,如果NFS 正常工作,應該能夠在/mnt 目錄看到/home/work 共用目錄中的內容。
二、嵌入式目標系統NFS 用戶端的配置
在Linux 伺服器設定好後,還需要對用戶端進行相關配置。在配置核心時選擇Load an Alternate Configuration File輸入設定檔的路徑和檔案名稱添加核心對NFS的支援:
選中networking options-》IP:kernel level auloconfiguralion項
選中file systems-》network file systems-》下的root file system on nfs
和nfs file system support重新編譯核心下載bootloader和kernel到開發板上
在嵌入式目標系統的Linux Shell 下,執行如下命令來進行NFS 共用目錄掛載:
# mkdir /mnt/nfs //建立Linux 伺服器輸出共用目錄的掛載點;
# mount –t nfs 192.168.0.20:/home/work /mnt/nfs –o nolock
# cd /mnt/nfs
# ls
此時,嵌入式目標系統端所顯示的內容即為Linux 伺服器的輸出目錄的內容,即Linux 伺服器的輸出目。
錄/home/work 通過NFS 映射到了嵌入式目標系統的/mnt/nfs 目錄。使用者可以用增/刪/修改檔案的方式來驗證實際效果。mount 命令中的192.168.0.20 為Linux 伺服器的IP 位址,/home/work 為Linux 伺服器端所配置的共用輸出目錄,/mnt/nfs 為嵌入式裝置上的本地目錄。
在開發過程中,來回輸入命令非常煩人,我寫了兩個簡單的指令碼來完成nfs的啟動,掛載。
host啟動nfs:
snfs
#!/bin/bash
ifconfig eth0 192.168.0.20
/etc/rc.d/init.d/portmap start
/etc/rc.d/init.d/nfs start
嵌入式目標機掛載nfs:
mnfs:
#!/bin/sh
mount -t nfs 192.168.0.20:/home/work/nfs /mnt/nfs -o nolock
echo “nfs ok!”
核心提示:
nfs 服務是基於 rpc 來實現的一個方便的共用檔案系統, linux 和 windows 之間共用的檔案非常的便利。 linux 中 nfs 已經被完全整合進了核心,只要在編譯核心的時候選擇編譯檔案系統,那麼預設就支援 nfs nfs
nfs 服務是基於 rpc 來實現的一個方便的共用檔案系統, linux 和 windows 之間共用的檔案非常的便利。 linux 中 nfs 已經被完全整合進了核心,只要在編譯核心的時候選擇編譯檔案系統,那麼預設就支援 nfs
nfs 主服務進程使用的連接埠是 2049 udp 和 2049 tcp 其他進程連接埠都是半隨機的基於 portmap 建議在 /etc/sysconfig/nf 將隨機連接埠定義成靜態連接埠,使連接埠不混亂,並且利於配置 iptables 防火牆策略
nfs 裝置包是 nfs-utils 基於 uid 識別使用者,設定檔 /etc/export 和 /etc/sysconfig/nf
nfs 多進程的
nfsd 主服務進程 工作於核心中的只能以 root 使用者來運行
1 rpc.mountd 基於 rpc 實現的掛載監控的進程
2 rpc.srard 使用者建立的串連若是斷掉,負責通知伺服器重建立立 4 串連
3 lockd 處置用戶端請求檔案鎖,防止多使用者同時對一個檔案寫入造成的抵觸
4 rpc.rquotad RPC 輔助進程,預設監察隨機連接埠
若是想讓系統在啟動時自動掛載 NFS 伺服器上的輸出目錄,就編輯 /etc/fstab 加入如下格式
NFS 伺服器名或 IP 位址:輸出目錄 外地掛載目錄 nf default 0 0
實現 nfs 服務 只需要編譯 /etc/export , 該檔案預設為空白的每一行表示你共用的一個檔案系統
添加格式:
共用檔案目錄 允許訪問的主機(存取權限)
註:被匯出的目錄為獨立的檔案系統,若不是則在許可權中定義 subtrww_check 使更安全,如果共用檔案中有空格用 “ 括起來,
定義允許訪問的主機可以是 IP 網段, IP NIS 域( @NIS 網域名稱)並且可以通配)
下面介紹幾種常用的存取權限
ro 可讀
rw 可讀可寫
async 非同步寫入 先將資料儲存在記憶體緩衝區中,必要時才寫入磁碟
sync 同步寫入 將資料同步寫入記憶體緩衝區與磁碟中,效率低但是可以保證資料的一致性
使用者映射選項
root_squash 如果是 root 使用者來掛載的話,許可權太大,就把 root 使用者映射成來賓帳號(預設設定)
no_root_squash root 訪問時,不把 root 映射成來賓帳號 該設定很危險
all_squash 將遠端存取的所有使用者和所屬使用者組都映射成匿名使用者或使用者組
no_all_squash 不將遠端存取的所以使用者和所屬擁護組映射成匿名 預設設定)
anonuid=xxx 將遠端存取的所以使用者都映射成匿名使用者,並指定為本機使用者( UID=xxx
anongid=xxx 將遠端存取的所以使用者組都映射成匿名使用者組賬戶,並指定為本機使用者組( GID=xxx
其他常用項
secure 限制用戶端只能從小於 1024 TCP/IP 連接埠串連 NFS 伺服器(預設設定)
insecur 允許用戶端從大於 1024 TCP/IP 連接埠串連 NFS 伺服器
subtree_check 若輸出目錄是一個子目錄,則 NFS 將檢查其父目錄的許可權(預設設定)
no_subtree_check 即使輸出的目錄是一個子目錄, NFS 也不檢查其父目錄的許可權
每當修改了 /etc/export 檔案後,不需要重啟 NFS 服務,使用 exportfs 就可以使設定立即生效
exportfs 命令就是用來維護 NFS 服務的輸出目錄列表的
exportfs -r 重新讀取 /etc/export 檔案設定,並使設定立即生效
exportf – ra 重新匯出全部
exportf – v 將當前系統匯出項顯示在螢幕上
exportf – au 關閉服務
exportf – a 開啟所有的全部匯出
showmount 命令檢查 NFS 伺服器上的共用資訊
showmount – e localhost 檢查當前主機共用的檔案系統 只在服務端執行
showmount – a 檢查所有被掛載資訊 服務端執行)
showmount – d 只顯示被掛載目錄
showmount – e IP 檢查該 IP 共用的資訊(用戶端)
示範掛載過程
1 # vim /etc/exports
/var/ftp 192.168.0.71 rw sync 192.168.1.0/24 ro
/var/pub * ro
2 #servic nf restart
#servic portmap status nfs 基於 portmap 所以確定 portmap 啟動的
portmap pid 3110 is running...
#rpcinfo – p localhost 顯示進去當前 rpc 裡 portmap 預設選擇的連接埠
基於 rpc 提供服務
#servic nf restart 重啟 nfs 服務,或者 #exportf – r
showmount – e localhost 檢查當前主機共用的檔案系統
切換到 192.168.0.71
#mount – t nf 192.168.0.71:/var/ftp /mnt
#cd /mnt l 檢查 /var/ftp 下的檔案是不是被掛在 /mnt 下了
Debian NFS伺服器的啟動和設定
2010-10-08 11:33轉載自 415245871最終編輯 415245871
NFS是網路檔案分享權限設定系統。在網路中,這個協議的使用非常廣泛,也是基於共用,網路才有了今天的發展。那麼現在我們主要講解一下Debian NFS伺服器的一些安裝和設定。 Debian下安裝NFS伺服器 安裝Debian NFS伺服器端: # aptitude install nfs-common nfs-kernel-server portmap 在用戶端則需要安裝: # aptitude install nfs-common portmap 啟動服務: # /etc/init.d/nfs-kernel-server start 停止服務: # /etc/init.d/nfs-kernel-server stop 重啟服務: # /etc/init.d/nfs-kernel-server restart Debian NFS伺服器配置: 1、建立共用目錄: # mkdir /home/share # chown nobody.nogroup /home/share 2、建立或修改/etc/exports設定檔 當將同一目錄共用給多個客戶機,但對每個客戶機提供的許可權不同時,可以這樣: [共用的目錄] [主機名稱1或IP1(參數1,參數2)] [主機名稱2或IP2(參數3,參數4)] Debian NFS伺服器共用的常用參數: ro 唯讀訪問 rw 讀寫訪問 sync 所有資料在請求時寫入共用 async NFS在寫入資料前可以相應請求 secure NFS通過1024以下的安全TCP/IP連接埠發送 insecure NFS通過1024以上的連接埠發送 wdelay 如果多個使用者要寫入NFS目錄,則歸組寫入(預設) no_wdelay 如果多個使用者要寫入NFS目錄,則立即寫入,當使用async時,無需此設定。 hide 在NFS共用目錄中不共用其子目錄 no_hide 共用NFS目錄的子目錄 subtree_check 如果共用/usr/bin之類的子目錄時,強制NFS檢查父目錄的許可權(預設) no_subtree_check 和上面相對,不檢查父目錄許可權 all_squash 共用檔案的UID和GID映射匿名使用者anonymous,適合公用目錄。 no_all_squash 保留共用檔案的UID和GID(預設) root_squash root使用者的所有請求映射成如anonymous使用者一樣的許可權(預設) no_root_squas root使用者具有根目錄的完全管理存取權限 anonuid=xxx 指定NFS伺服器/etc/passwd檔案中匿名使用者的UID anongid=xxx 指定NFS伺服器/etc/passwd檔案中匿名使用者的GID Debian NFS伺服器設定檔/etc/exports內容如下: $ cat /etc/exports /home/share 192.168.102.15(rw,sync) *(ro) 配置說明: 對192.168.102.15賦予讀寫權限,其他機器僅有唯讀許可權。 重啟伺服器: # /etc/init.d/nfs-kernel-server restart 3、在客戶機上查看NFS伺服器的資源共用情況: # showmount -e 192.168.102.47 4、在用戶端使用mount命令掛載共用目錄: # mount 192.168.102.47:/home/share /mnt 是不是我們每次修改了設定檔都需要重啟Debian NFS伺服器服務呢? 這個時候我們就可以用exportfs命令重新掃描/etc/exports檔案,來使改動立刻生效。 比如: # exportfs -au 卸載所有共用目錄 # exportfs -rv 重新共用所有目錄並輸出詳細資料 exportfs 命令有軟體包 nfs-kernel-server 提供,詳細的 exportfs 命令說明請查看: # man exportfs |