在 Linux 上使用 rclone 挂载阿里云 OSS

教程 | 本篇文章共800字,预计阅读3分钟

前言

zhk 事件后,AHdark 大佬给 ACIA 总部群的群友开了个存储桶,可以免费白嫖高速存储空间了。这里要感谢一下 AHdark 一如既往的大方,给广大人民群众提供免费优质的服务。为了免费服务的可持续,请不要滥用。

AHdark 送的存储桶

由于 AHdark 仅提供子目录的访问权限,这个存储桶无法在控制台上看到,因此无法在网页端管理文件。我曾多次尝试使用 ossfs 工具挂载存储桶,可能是因为存储桶权限的限制,均以失败告终。下面分享一下使用 rclone 挂载存储桶的成功尝试。

重要的事情说三遍:不要直接抄命令!不要直接抄命令!不要直接抄命令!必要的地方请自行修改!

配置阿里云子账号

创建一个阿里云子账号,并赋予 AliyunOSSFullAccess 权限。生成 AccessKey,记录下 AccessKeyIDAccessKeySecret 的值,后面会用到。

安装 rclone

推荐使用官方提供的一键脚本安装,适用于所有 Linux 发行版:

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

如果你使用 Ubuntu 或 Debian,推荐使用 apt 来安装:

1
sudo apt install rclone

如果你想通过其他方式安装,请参考官方文档

连接阿里云 OSS

创建 rclone 配置文件夹(若不存在):

1
mkdir -p ~/.config/rclone

编辑配置文件:

1
nano ~/.config/rclone/rclone.conf

输入以下内容,并按实际情况填写 access_key_idsecret_access_keyendpoint

1
2
3
4
5
6
7
8
9
[oss]
type = s3
provider = Alibaba
access_key_id = 此处改为你的 access_key_id
secret_access_key = 此处改为你的 secret_access_key
endpoint = oss-cn-shanghai.aliyuncs.com
acl = public-read
storage_class = STANDARD
bucket_acl = public-read

保存并退出。

挂载阿里云 OSS

创建用于挂载的本地目录(这里以 /home/pi/oss 为例):

1
mkdir /home/pi/oss

编辑 /etc/fuse.conf

1
sudo nano /etc/fuse.conf

删掉 user_allow_other 前面的注释,如图所示。保存并退出。

修改 /etc/fuse.conf

安装挂载 OSS 需要用到的 fuse 工具:

1
sudo apt install fuse

挂载存储桶(这里以挂载 public-sourcecdn 存储桶的 /tony 目录为例):

1
rclone mount oss:public-sourcecdn/tony /home/pi/oss  --copy-links --no-gzip-encoding --no-check-certificate --allow-other --allow-non-empty --umask 000 --daemon

可以看到,存储桶已挂载到 /home/pi/oss 下:

1
2
3
4
5
6
7
8
9
10
pi@raspberrypi:~ $ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/root 59G 11G 46G 19% /
devtmpfs 3.7G 0 3.7G 0% /dev
tmpfs 3.9G 0 3.9G 0% /dev/shm
tmpfs 1.6G 992K 1.6G 1% /run
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
/dev/mmcblk0p1 253M 50M 203M 20% /boot
tmpfs 790M 36K 790M 1% /run/user/1000
oss:public-sourcecdn/tony 1.0P 0 1.0P 0% /home/pi/oss

若要取消挂载,执行以下命令即可:

1
fusermount -qzu /home/pi/oss

开机自动挂载

编辑 rclone.service 文件:

1
sudo nano /etc/systemd/system/rclone.service

填入以下内容(请根据实际情况修改 UserExecStart 字段):

1
2
3
4
5
6
7
8
9
10
[Unit]
Description=rclone

[Service]
User=pi
ExecStart=rclone mount oss:public-sourcecdn/tony /home/pi/oss --copy-links --no-gzip-encoding --no-check-certificate --allow-other --allow-non-empty --umask 000
Restart=on-abort

[Install]
WantedBy=multi-user.target

保存并退出。

为确保配置生效,请重载配置文件:

1
sudo systemctl daemon-reload

启动 rclone 服务:

1
sudo systemctl start rclone

设置开机自启:

1
sudo systemctl enable rclone

其他命令:

1
2
3
4
sudo systemctl stop rclone # 停止服务
sudo systemctl restart rclone # 重启服务
sudo systemctl disable rclone # 禁用开机自启
sudo systemctl status rclone # 查看运行状态

本文作者:Tony

本文链接: https://blog.iamsjy.com/2022/02/18/mount-aliyun-oss-with-rclone-on-linux/

文章默认使用 CC BY-NC-SA 4.0 协议进行许可,使用时请注意遵守协议。

评论