LinuxでwebdavマウントとCookie認証を使用する

LinuxでwebdavマウントとCookie認証を使用する

Linuxコンソールで、「Onedrive for Business」リポジトリ、特にヘッドレスUbuntu 16.04サーバーにアクセスしようとしています。ただ公式サポートされる方法は Windows Sync アプリケーションです。

Onedriveをリモートファイルシステムとして使用したいです。延長するすべてのファイルをローカルにコピーするために同期クライアントを使用する代わりに、私のローカルストレージ。

「ビジネス用Onedrive」は、実際にはwebdavでユーザー名とパスワードを受け入れないSharepointのバリ​​エーションです。 webdavsクライアントの認証Cookieがすでに存在している必要があります。

次の手順を適用して、Windows 10のwebdavsフォルダにリモートストレージを正常にマウントしました。https://www.imss.caltech.edu/content/mounting-onedrive-business-mapped-driveただし、Internet Explorerを使用してOnedrive Webサイトにログインし、Windowsエクスプローラで使用するCookieを作成した後にのみ機能します。

Linuxでは、Konqueror WebブラウザからOnedrive Webサイトにログインし、Cookieを使用してKonquerorファイルブラウザからwebdavに接続することでこの動作を再現できます。ないよりも優れていますが、コンソールアクセスが必要です。残念ながら、KioFuseは廃止されているようです。

Konquerorに加えて、Linuxコンソールがリモートファイルシステムにアクセスする方法はありますか?私はdavfs2、gvfs、およびcadaverを見ましたが、認証に既存のCookieを使用する方法に関するドキュメントが見つかりませんでした。

答え1

davfs2とadd_header設定オプションを使用して送信できます。クッキーHTTPヘッダー。次の2行を次に追加します/etc/davfs2/davfs2.conf

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

/mount/pathマウントパスはどこにありrtFaFedAuthOneDriveに接続したときにブラウザから送信されたHTTPリクエストで見つけることができるCookieです。

2番目のパラメータにスペースがないことを確認してくださいadd_header

その後、コマンドラインからドライブをマウントできます。

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

関連情報