使用 edu 邮箱注册的微软账号自带 1TB 云盘空间,我们可以利用 rclone 将它挂载到 linux 服务器,作为本地磁盘使用。

        rclone 内置访问 onedrive 的 api,但是共用人数过多可能会被限速导致无法访问,所以考虑申请自己的 api。

目录

1. 申请 onedrive api

2. 挂载 onedrive 网盘

1. 申请 onedrive api

        前往 Microsoft Azure 管理界面,登录你的微软账号,打开 “应用注册” 服务。

        点击 “新注册” 注册一个应用程序。

        输入名称,勾选权限后注册应用。

         注册成功后将跳转到管理页面,记下图中所示的 “应用程序 (客户端) ID”,供将来挂载使用。

        此时点击 “证书与密码”→“新客户端密码”,填写说明和截至期限后,添加密码。

        添加密码后,我们记录密码值,供将来挂载使用。注意这里一定要将密码记录下来,因为它只显示一次。

        接下来,点击 “API 权限”,为我们的 api 获取权限。Files 中的权限全部勾选。

        至此,我们已经申请好了 onedrive 的 api,目前我们已经得到了客户端 ID 以及密码值

2. 挂载 onedrive 网盘

        以下步骤在 linux 服务器上进行。

        在 rclone 官网文档查看你系统的安装方式,下面以 ubuntu 为例。

apt update
apt install curl
curl https://rclone.org/install.sh | sudo bash

        安装成功后,命令行输入 rclone config 挂载 onedrive 网盘,输入 “n” 新建一个云盘,并输入名称。这个名称就是挂载后磁盘的名称,我起的是“onedrive”。

         接下来,找到 onedrive 这一项,并输入前面的序号。随着 rclone 版本的更新,每一种网盘序号的顺序可能会改变,注意仔细辨别。

         接下来,输入前面保存的客户端 ID、密码以及网盘类型。此处注意区分你的网盘是什么类型,国内大多高校邮箱都是国际版 (1),部分高校是世纪互联版 (4)。

         接下来不进行高级配置 (n),也不进行自动配置 (n)。

         此时程序会要求输入 token,由于我的服务器没有浏览器,所以需要在 windows 系统下获取。我们在官网下载页面下载 windows 系统下的 rclone 并解压,按 win+R 调出运行,输入 “cmd”。

        输入 cd + 解压的文件夹路径,进入 rclone 文件夹下,再输入以下命令开始授权。

#ID和密码替换成你自己的
rclone.exe authorize "onedrive" "客户端ID" "密码"

        此时,浏览器将会自动打开,我们为刚才创建的 api 授权。

         接受后,页面会返回成功提示,同时命令行中会返回 token。

        我们将这个大括号填入服务器中 (config_token>)。

         配置完成后,我们选择类型为 onedrive(1)。此时系统会读取网盘路径,我们输入 y 确认。

         最终,程序还会列出主要信息让你再次确认:

         此时,我们看到一个 “onedrive” 类型的、名为 “onedrive” 的网盘已经创建好,我们输入 q 退出程序,准备将这块网盘挂载到本地目录。

         在 linux 终端中输入以下命令挂载网盘。挂载的命令为:

#创建即将挂载的目录
mkdir -p /home/onedrive
 
#将名为onedrive(刚才创建的)的网盘的目录(/)挂载在服务器的路径(/home/onedrive)
rclone mount onedrive:/ /home/onedrive --copy-links --no-gzip-encoding --no-check-certificate --allow-other --allow-non-empty --umask 000

         以我自己为例:

#创建即将挂载的目录
mkdir -p /home/onedrive
 
#将名为onedrive(刚才创建的)的网盘的目录(/)挂载在服务器的路径(/home/onedrive)
rclone mount onedrive:/ /home/onedrive --copy-links --no-gzip-encoding --no-check-certificate --allow-other --allow-non-empty --umask 000

         挂载成功后便会出现这样的提示:

         此时服务器无法操作,我们也不能强行终止该程序。所以我们可以直接断开与服务器的连接,重新连接服务器。重新连接以后,可以看到网盘已经挂载成功!

         谷歌网盘等各种盘的挂载方式大同小异,本质上都是通过 api 连接网盘,并将网盘挂载到本地目录。