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
マウントパスはどこにありrtFa
、FedAuth
OneDriveに接続したときにブラウザから送信されたHTTPリクエストで見つけることができるCookieです。
2番目のパラメータにスペースがないことを確認してくださいadd_header
。
その後、コマンドラインからドライブをマウントできます。
/sbin/mount.davfs https://<name>.sharepoint.com/<...> /mount/path