MacOS實(shí)現(xiàn)連接Linux NFS服務(wù)器過程
以 Ubuntu 為例。
Ubuntu 服務(wù)器端設(shè)置
1. 進(jìn)入 root 權(quán)限,安裝 NFS 服務(wù)
apt-get update apt-get install nfs-kernel-server
2. 創(chuàng)建共享目錄
mkdir /data chown nobody:nogroup /data chmod 777 /data
3. 配置 /etc/exports 文件
vi /etc/exports
添加:
/data 192.168.1.0/24(rw,sync,insecure,no_subtree_check,no_root_squash)
rw:讀寫權(quán)限。sync:確保數(shù)據(jù)實(shí)時(shí)同步寫入到磁盤,防止數(shù)據(jù)丟失。insecure:允許從非特權(quán)端口發(fā)起的連接。no_subtree_check:關(guān)閉子目錄檢查,提高性能。no_root_squash:允許客戶端以 root 身份訪問(適用特定需求)。
4. 重新加載 NFS 配置
exportfs -rav
5. 啟動(dòng)并檢查 NFS 服務(wù)
systemctl restart nfs-kernel-server systemctl enable nfs-kernel-server systemctl status nfs-kernel-server
6. 檢查共享目錄
exportfs -v
Mac 客戶端設(shè)置
在 Mac 中可以通過命令行和圖形界面連接到 NFS 服務(wù)器。
1. 通過命令行 mount 掛載
mkdir ~/NFS mount -t nfs 192.168.1.111:/data ~/NFS
2. 通過圖形界面連接到 NFS 服務(wù)器
在 Mac 上,點(diǎn)擊桌面菜單欄中的 前往 > 連接服務(wù)器。
在彈出的窗口中,在服務(wù)器地址欄輸入以下內(nèi)容:

3. 自動(dòng)掛載
打開 /etc/fstab:
vi /etc/fstab
添加:
192.168.1.100:/data /Users/your_username/NFS nfs rw,auto,nofail 0 0
即可!
常見問題排查
1. 權(quán)限不足
- 確保共享目錄的權(quán)限適配你的需求(如 777 開放權(quán)限)。
- 檢查 Mac 客戶端用戶是否有寫權(quán)限。
2. 防火墻問題
在 Ubuntu 上允許 NFS 服務(wù)通過防火墻:
ufw allow from 192.168.1.0/24 to any port nfs ufw allow from 192.168.2.0/24 to any port nfs
3. 掛載失敗
- 確保 Mac 可以 ping 通 Ubuntu。
- 確認(rèn) /etc/exports 文件中配置無誤。
4. 多個(gè)子網(wǎng)
如果客戶端所屬多個(gè)子網(wǎng)網(wǎng)段,需將每個(gè)網(wǎng)段都寫上.
/data 192.168.1.0/24(rw,sync,insecure,no_subtree_check,no_root_squash) /data 192.168.2.0/24(rw,sync,insecure,no_subtree_check,no_root_squash)
5. insecure 參數(shù)未配置
如果 MacOS 訪問不到,切記需要將 insecure 參數(shù)加上。這個(gè)問題很多同學(xué)都遇到過,可以展開詳細(xì)的說說。
insecure 的作用
insecure 是 macOS 掛載 NFS 時(shí)的關(guān)鍵配置,特別是使用 Finder 掛載。如果沒有這個(gè)選項(xiàng),macOS 使用的高端口會(huì)被服務(wù)器拒絕,從而導(dǎo)致掛載失敗。
默認(rèn)情況下,NFS 服務(wù)器只接受從 特權(quán)端口(小于1024) 發(fā)起的連接。這是因?yàn)橹挥?root 用戶能夠使用特權(quán)端口,從而防止普通用戶模擬特權(quán)連接。
添加 insecure 后,NFS 服務(wù)器會(huì)接受來自 非特權(quán)端口(大于1024) 的連接。這是為了兼容一些客戶端(例如 macOS Finder)在非特權(quán)端口發(fā)起的請(qǐng)求。
insecure 的潛在安全問題
繞過端口限制:
- 默認(rèn)情況下,要求客戶端使用特權(quán)端口是一種簡(jiǎn)單的安全措施,可以減少普通用戶偽裝成受信任客戶端的風(fēng)險(xiǎn)。
- 啟用 insecure 后,攻擊者可以從非特權(quán)端口發(fā)起請(qǐng)求,更容易偽造連接。
暴露于惡意客戶端:
- 如果你的網(wǎng)絡(luò)環(huán)境不安全(如公網(wǎng)或存在不受信任的設(shè)備),啟用 insecure 可能會(huì)允許未經(jīng)授權(quán)的客戶端連接并訪問數(shù)據(jù)。
結(jié)合其他不安全配置的風(fēng)險(xiǎn):
- 如果同時(shí)啟用了 no_root_squash,惡意客戶端可能以 root 身份訪問共享目錄,導(dǎo)致數(shù)據(jù)被修改或刪除。
何時(shí)使用 insecure 是可以接受的?
在以下場(chǎng)景中,insecure 是可以接受的:
內(nèi)部網(wǎng)絡(luò)環(huán)境:
- 如果你的 NFS 服務(wù)器和客戶端在一個(gè)受信任的局域網(wǎng)中,且沒有外部訪問(如防火墻限制),使用insecure 是可以接受的。
兼容特定客戶端:
- 一些客戶端(如 macOS Finder)需要使用非特權(quán)端口才能掛載 NFS,因此 insecure 是必需的。
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Linux之虛擬機(jī)和主機(jī)互通實(shí)現(xiàn)方式
這篇文章主要介紹了Linux之虛擬機(jī)和主機(jī)互通實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-07-07
Linux下實(shí)現(xiàn)免密碼登錄(超詳細(xì))
這篇文章主要介紹了Linux下實(shí)現(xiàn)免密碼登錄的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,感興趣的朋友一起看看吧2016-10-10
使用反向ssh從外網(wǎng)訪問內(nèi)網(wǎng)主機(jī)的方法詳解
這篇文章主要給大家介紹了使用反向ssh從外網(wǎng)訪問內(nèi)網(wǎng)主機(jī)的方法,文中介紹的非常詳細(xì),對(duì)大家具有一定的參考價(jià)值,需要的朋友們下來要起看看吧。2017-04-04
Linux系統(tǒng)目錄大小通過du命令獲取實(shí)例
在本篇文章里小編給大家整理的是一篇關(guān)于Linux系統(tǒng)目錄大小通過du命令獲取實(shí)例內(nèi)容,需要的朋友們可以參考學(xué)習(xí)下。2020-11-11
詳解Linux 主機(jī)網(wǎng)絡(luò)接入配置
這篇文章主要介紹了詳解Linux 主機(jī)網(wǎng)絡(luò)接入配置的相關(guān)資料,希望通過本文能幫助到大家,讓大家實(shí)現(xiàn)網(wǎng)絡(luò)接入配置的功能,需要的朋友可以參考下2017-10-10
linux報(bào)錯(cuò)INFO:task?xxxxxx:634?blocked?for?more?than?120?
文章描述了一個(gè)Linux最小系統(tǒng)運(yùn)行時(shí)出現(xiàn)的“hung_task_timeout_secs”錯(cuò)誤,并探討了三種解決方案:縮小文件系統(tǒng)緩存大小、修改IO調(diào)度策略和取消120秒時(shí)間限制,通過測(cè)試,發(fā)現(xiàn)縮減文件系統(tǒng)緩存大小和取消120秒時(shí)間限制都可以解決問題2025-01-01
詳解Apache配置多個(gè)監(jiān)聽端口和不同的網(wǎng)站目錄
這篇文章主要介紹了詳解Apache配置多個(gè)監(jiān)聽端口和不同的網(wǎng)站目錄的相關(guān)資料,希望通過本文能幫助到大家,讓大家實(shí)現(xiàn)這樣的方法,需要的朋友可以參考下2017-10-10

