使用 cookie 身份驗證在 Linux 上掛載 webdav
我正在嘗試從 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
您的掛載路徑和rtFa
cookie 。FedAuth
確保 的第二個參數中沒有空格
add_header
。然後,您可以從命令行掛載驅動器:
/sbin/mount.davfs https://<name>.sharepoint.com/<...> /mount/path