NetDrive 在 Linux 上——修復「Permission Denied」掛載錯誤

閱讀時間 5 分鐘 troubleshooting linux
Steve
SteveSenior Engineer
NetDrive 的 Linux 支援仍屬實驗性質。以下說明當掛載無法連接時,如何排除「Permission denied」錯誤。

一位 DevOps 工程師在 Ubuntu 16.04 測試機上設定 NetDrive,想讓 CI runner 讀取一個裝滿測試資料的 S3 儲存桶,執行掛載指令後卻只得到「Permission denied」的回應。同樣的設定,一小時前才在他們的 Windows 筆電上順利掛載成功。Linux 是 NetDrive 掛載行為與 Windows 或 macOS 差異最大的平台,而權限錯誤正是掛載無法連接時最常見的原因。

NetDrive drive manager showing Google Drive, S3 and pCloud mounted as drive lettersMounted clouds appearing as native drives in Windows File Explorer

NetDrive 同樣支援 Windows 與 macOS

NetDrive 讓 Google Drive、OneDrive、S3、SFTP、WebDAV 等在 Windows 與 macOS 上顯示為原生磁碟機 — 不需同步,也不需完整下載。

  • 在 Windows 8–11 與 macOS 14+ 上提供穩定、正式可用的支援
  • 相同的服務商清單——Google Drive、S3、SFTP、WebDAV 等等
  • 在這些平台上完全不需處理 Linux FUSE 權限問題
WindowsmacOS
下載 NetDrive →

免費試用。提供終身與訂閱方案。

為何 Linux 掛載會以不同方式失敗

NetDrive 的 Linux 版本是透過 NetDrive/installer 這個 GitHub 儲存庫另外發布的,而非其他平台所用的 DMG 或 EXE 安裝程式,並且被標記為實驗性功能而非正式版:它不具備與 Windows、macOS 版本相同的穩定性保證,NetDrive 官方的比較頁面也建議以 Windows 或 macOS 作為主要平台。如果你仍然要在 Linux 上執行——不論是無頭建置伺服器、測試機,還是個人的 Ubuntu 桌面——權限錯誤通常是主機端的 FUSE 設定問題,而非安裝損壞。

從 Linux 終端機工作階段檢查 NetDrive 掛載是否運作中

檢查 FUSE 權限鏈

以 FUSE 為基礎的 Linux 掛載,依賴一條與 NetDrive 本身設定無關的權限鏈,當掛載出現「Permission denied」時,這是第一個該檢查的地方:

  • 群組成員資格。 執行 NetDrive 的使用者通常需要屬於該發行版上的 fuse 群組。執行 groups $USER 來確認,如果清單中沒有 fuse,就將該使用者加入該群組,並登出後重新登入——群組變更不會套用到已開啟的工作階段。
  • /dev/fuse 裝置權限。 這個裝置節點必須能讓該使用者或群組讀寫。如果系統更新或自訂的 udev 規則重設了它的權限,即使群組成員資格正確,掛載仍會失敗。
  • /etc/fuse.conf 中的 user_allow_other 如果你要掛載的磁碟機也需要讓同一台機器上的其他使用者讀取——例如共用的 CI runner 帳號——就必須取消這一行的註解。

以上都不是 NetDrive 特有的設定;這是任何以 FUSE 為基礎的 Linux 工具都會依賴的相同權限模型,也是為何確切的修復方式會因發行版與核心版本而略有不同的原因之一。

修復 Permission Denied 錯誤

  1. 開啟終端機,執行 groups $USER,確認啟動 NetDrive 的帳號屬於 fuse 群組。如果不是,請用你所使用發行版的使用者管理工具將其加入,並登出後重新登入。
  2. 檢查 /dev/fuse 權限——確認該裝置節點可讓該使用者或群組存取,如果近期的系統變更重設了它,就加以修正。
  3. 取消 /etc/fuse.confuser_allow_other 的註解,如果該掛載需要讓本機不只一位使用者看到。
  4. 從 NetDrive 重新嘗試掛載,待權限鏈確認無誤後,確認磁碟機已連接成功。
  5. 查看 NetDrive 支援論壇,看看是否有針對特定發行版的說明,如果問題仍然存在——實驗性支援代表較不常見核心版本上的邊緣案例,並非總是事先有文件記錄。

從 NetDrive 磁碟機清單掛載已連接的磁碟機

總結

Linux 上的權限錯誤幾乎都可以追溯到 FUSE 裝置與群組設定,而非 NetDrive 本身的問題,依照上述步驟逐一排查即可解決大多數情況。如果 Linux 的實驗性狀態對正式的生產環境流程而言是無法接受的,在 Ubuntu Linux 上使用 NetDrive 說明了這個平台整體上該有什麼預期,而 用 NetDrive 在 Linux 上掛載 Amazon S3 則在掛載成功後,完整介紹了 S3 的設定流程。遇到類似問題的 macOS 使用者,應改為參閱 用 NetDrive 修復 macOS FUSE 權限錯誤——這兩個平台雖然共用 FUSE 概念,修復方式卻不盡相同。

— Steve, NetDrive