各位玩 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
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up