各位玩 PVE 虛擬化和 TrueNAS 的同好們,你們是否也遇過這種靈異事件? 興高采烈地在 PVE 中架設好 TrueNAS,安裝了超好用的 Syncthing App 設定手機照片自動同步備份。看著 Syncthing 介面顯示「同步完成」 登入 TrueNAS 後台用 Shell 指令 ls 也確實看到了檔案,心中一陣竊喜... 結果打開電腦的網路芳鄰 (SMB),連進那個共用資料夾,裡面竟然空空如也! 如果你也為此抓破頭皮,甚至熬了一整晚,恭喜你,這篇文章就是你的終極解答! # 💡 問題根源:使用者與權限模型的戰爭 這個問題的根本,不在 Syncthing,也不在 SMB 而在於 TrueNAS (或說 ZFS) 的 「權限控制清單 (ACL)」。 簡單來說,當你透過 TrueNAS App 安裝 Syncthing 時 它是在一個叫 apps 的使用者權限下運作的 而當你透過電腦的 SMB 連線時,你用的是另一個你自訂的 SMB 使用者 (例如 benson)。 當你使用 TrueNAS 預設的 POSIX 權限模式時,它就像傳統 Linux 的權限,比較簡單。 apps 使用者把檔案寫進去後,產生的檔案權限可能不包含你的 benson 使用者, 導致 benson 看得到資料夾,卻「看」不到裡面的檔案。這就是「檔案隱形」的真相!  # ✅ 解決方案:採用更精細的 NFSv4 權限模型 要讓不同的使用者都能和諧地存取同一個資料夾,我們需要一個更強大的權限模型 那就是 NFSv4。它類似 Windows 的權限系統,可以針對不同使用者設定精細的讀、寫、執行權限。 強烈建議所有要作為 SMB 分享的資料集,都在建立時就完成以下設定: 1. 新增資料集時,打開「進階選項」 在建立要給 Syncthing 和 SMB 共用的資料集時,務必點開進階設定。 2. 權限類型選擇 NFSv4 這是最關鍵的一步!將「ACL 類型 (ACL Type)」從預設的 POSIX 改為 NFSv4。  ## 【補充】ACL 模式建議選擇 Passthrough 在 NFSv4 類型下,「ACL 模式 (ACL Mode)」建議設為 Passthrough 這能確保權限的繼承和處理方式最符合預期。  安裝Syncthing並設定好後就可以享受不間斷的備份服務了   
×
Sign in
Email
Password
Forgot password
or
Sign in via Google
Sign in via Facebook
Sign in via X(Twitter)
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
Continue with a different method
New to HackMD?
Sign up
By signing in, you agree to our
terms of service
.