Webdav

使用 cookie 身份驗證在 Linux 上掛載 webdav

  • November 30, 2017

我正在嘗試從 Linux 控制台訪問我的“Onedrive for Business”儲存,特別是無頭 Ubuntu 16.04 伺服器。唯一官方支持的方法是 Windows 同步應用程序。

我想使用 Onedrive 作為遠端文件系統來擴展我的本地儲存,而不是使用同步客戶端在本地複制所有文件。

“Onedrive for business”實際上是 Sharepoint 的一種變體,它不會通過 webdavs 接受使用者名和密碼 - 必須已經存在用於 webdavs 客戶端的身份驗證 cookie。

通過調整以下說明,我已成功將遠端儲存安裝為 Windows 10 中的 webdavs 文件夾:https ://www.imss.caltech.edu/content/mounting-onedrive-business-mapped-drive但它僅在登錄後才有效我們的 Onedrive 網站使用 Internet Explorer 創建供 Windows Explorer 使用的 cookie。

在 Linux 上,我可以通過在 Konqueror Web 瀏覽器中登錄 Onedrive 網站,然後使用該 cookie 連接到 Konqueror 文件瀏覽器中的 webdavs 來複製此行為。這總比沒有好,但我真的需要控制台訪問。不幸的是,KioFuse 似乎早已被拋棄。

除了 Konqueror,還有什麼方法可以讓 Linux 控制台可以訪問遠端文件系統?我查看了 davfs2、gvfs 和 cadaver,但找不到任何使用現有 cookie 進行身份驗證的文件。

您可以使用帶有add_header配置選項的 davfs2 來發送Cookie HTTP 標頭。將這兩行添加到/etc/davfs2/davfs2.conf

[/mount/path]
add_header Cookie rtFa=<...>;FedAuth=<...>

當您連接到 OneDrive 時,您可以在瀏覽器發送的 HTTP 請求中找到/mount/path您的掛載路徑和rtFacookie 。FedAuth

確保 的第二個參數中沒有空格add_header

然後,您可以從命令行掛載驅動器:

/sbin/mount.davfs https://<name>.sharepoint.com/<...> /mount/path

引用自:https://unix.stackexchange.com/questions/337329