Ubuntu 挂载OneDrive为本地磁盘

1.首先需要自己注册申请OneDrive的网盘


2.安装rclone模块挂载网盘

rclone没有ubuntu的安装库,所以一般状况下apt-get 无法直接安装,需要下载从https://rclone.org/downloads/下载

wget https://downloads.rclone.org/v1.46/rclone-v1.46-linux-amd64.deb

dpkg -i rclone-v1.46-linux-amd64.deb


3.配置OneDrive,允许外部api访问磁盘

Getting your own Client ID and Keyrclone uses a pair of Client ID and Key shared by all rclone users when performing requests by default. If you are having problems with them (E.g., seeing a lot of throttling), you can get your own Client ID and Key by following the steps below:

Open https://apps.dev.microsoft.com/#/appList, then click Add an app (Choose Converged applications if applicable)

Enter a name for your app, and click continue. Copy and keep the Application Id under the app name for later use.

Under section Application Secrets, click Generate New Password. Copy and keep that password for later use.

Under section Platforms, click Add platform, then Web. Enter http://localhost:53682/ in Redirect URLs.Under section Microsoft Graph Permissions, Add these delegated permissions: Files.Read, Files.ReadWrite, Files.Read.All, Files.ReadWrite.All, offline_access, User.Read.Scroll to the bottom and click Save.


4.配置rclone

rclone config

e) Edit existing remote

n) New remote

d) Delete remote

r) Rename remote

c) Copy remote

s) Set configuration password

q) Quit config

e/n/d/r/c/s/q> n    <------选择n

name> remote        <------挂载磁盘取名

Type of storage to configure.

Enter a string value. Press Enter for the default ("").

Choose a number from below, or type in your own value

...

17 / Microsoft OneDrive

  \ "onedrive"

...

Storage> 17        <------选择网盘类型

Microsoft App Client Id

Leave blank normally.

Enter a string value. Press Enter for the default ("").

client_id>          <------直接留空回车

Microsoft App Client Secret

Leave blank normally.

Enter a string value. Press Enter for the default ("").

client_secret>      <------直接留空回车

Edit advanced config? (y/n)

y) Yes

n) No

y/n> n              <------选n,放弃手动配置

Remote config

Use auto config?

* Say Y if not sure

* Say N if you are working on a remote or headless machine

y) Yes

n) No

y/n> y              <------选y,自动配置令牌

If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth

Log in and authorize rclone for access

Waiting for code...

Got code            <------此处会重定向到microsoft的登录界面,登录onedrive账号,确认授权

                          因为需要web访问,所以需要开启vnc操作,单纯ssh无法实现

Choose a number from below, or type in an existing value

1 / OneDrive Personal or Business

  \ "onedrive"

2 / Sharepoint site

  \ "sharepoint"

3 / Type in driveID

  \ "driveid"

4 / Type in SiteID

  \ "siteid"

5 / Search a Sharepoint site

  \ "search"

Your choice> 1      <------确认onedrive类型,一般是1

Found 1 drives, please select the one you want to use:

0: OneDrive (business) id=b!Eqwertyuiopasdfghjklzxcvbnm-7mnbvcxzlkjhgfdsapoiuytrewqk

Chose drive to use:> 0    <------选择使用的磁盘,如果有多个

Found drive 'root' of type 'business', URL: https://org-my.sharepoint.com/personal/you/Documents

Is that okay?

y) Yes

n) No

y/n> y                    <------选y

--------------------

[remote]

type = onedrive

token = {"access_token":"youraccesstoken","token_type":"Bearer","refresh_token":"yourrefreshtoken","expiry":"2018-08-26T22:39:52.486512262+08:00"}

drive_id = b!Eqwertyuiopasdfghjklzxcvbnm-7mnbvcxzlkjhgfdsapoiuytrewqk

drive_type = business

--------------------

y) Yes this is OK

e) Edit this remote

d) Delete this remote

y/e/d> y                  <------大功告成

5.挂载为本地磁盘 (rclone mount 被标注为实验性的功能,文件上传下载没有rclone copy 好用)

rclone mount YourDiskName:DiskDirectory /MountPoint --daemon --copy-links --no-gzip-encoding --no-check-certificate

YourDiskName:前面取的磁盘名称

DiskDirectory:OneDrive里面的目录名

MountPoint:本地挂载点

--daemon:挂载为后台程序,不加mount程序不能退出

root@VM-0-8-ubuntu:~# df -h

Filesystem      Size  Used Avail Use% Mounted on

udev            410M    0  410M  0% /dev

tmpfs            87M  12M  75M  14% /run

/dev/vda1        50G  35G  13G  74% /

tmpfs            433M  132K  432M  1% /dev/shm

tmpfs            5.0M    0  5.0M  0% /run/lock

tmpfs            433M    0  433M  0% /sys/fs/cgroup

tmpfs            87M  16K  87M  1% /run/user/117

tmpfs            87M    0  87M  0% /run/user/500

YourDiskName:DiskDirectory  5.0T  27G  5.0T  1% /MountPoint

6.访问控制

OneDrive使用ip段总结:

40.126.12.0/24TCP:443

13.107.136.0/24TCP:443

20.190.140.0/24TCP:443

 有需要配置防火墙的可能需要

总结 :

       本文知识90%从网上免费获取,总结实践后共享给大家。知识都产权保护,大家都玩球啊。OneDrive速度不错,国内访问上传下载基本都有2m/s

你可能感兴趣的:(Ubuntu 挂载OneDrive为本地磁盘)