cloud-mount - 云存储挂载工具
让服务器/电脑轻松挂载云存储到本地,像访问本地文件夹一样使用 OneDrive、Google Drive 等。
📖 目录
适用场景
✅ 个人使用
- - Obsidian 笔记同步 — 多设备访问同一 vault
- 个人文件备份 — 自动备份到云端
- 跨设备文件访问 — 在任何地方访问家中文件
✅ 开发场景
- - 代码备份 — 将代码仓库备份到云存储
- 配置文件同步 — 同步 dotfiles 到多台服务器
- 资源文件存储 — 大文件存放在云端,按需访问
✅ 服务器运维
- - 日志归档 — 自动归档日志到云存储
- 数据备份 — 数据库备份上传到云端
- 资源共享 — 团队共享文件存储
✅ 内容创作
- - 素材库管理 — 图片、视频素材云端存储
- 协作编辑 — 多人访问同一文件库
- 版本管理 — 云存储的历史版本功能
前置条件
- - ✅ rclone 已安装(未安装会自动检测并提示)
- ✅ 拥有对应云存储账号
- ✅ 有另一台设备(手机/电脑)可以运行授权流程
检查 rclone 安装
CODEBLOCK0
如果未安装,推荐以下安全安装方式:
方式 A:手动下载(推荐,最安全)
CODEBLOCK1
方式 B:使用包管理器
CODEBLOCK2
方式 C:官方脚本(便捷,但需要审查权限)
curl https://rclone.org/install.sh | sudo bash
⚠️ 注意:官方脚本需要 sudo 权限,建议先审查脚本内容
快速开始
1️⃣ 安装 rclone
推荐安装方式(安全):
CODEBLOCK4
或使用包管理器:
CODEBLOCK5
2️⃣ 配置云存储
CODEBLOCK6
详细步骤:
- 1. 输入
n 创建新配置 - 输入名字:
onedrive(或你喜欢的名字) - 选择存储类型:
- OneDrive 个人版:
41
- Google Drive:
drive
- 阿里云盘:
alidrive
- 其他:查看对应编号
- 4. clientid 和 clientsecret:直接回车(使用默认)
- Advanced config:
n(否) - Web browser:
n(使用授权码方式) - 在浏览器打开提供的 URL,登录云存储账号并授权
- 复制返回的授权码,粘贴到终端
- 选择 drive(通常选第一个)
- 确认配置: INLINECODE7
- 保存并退出:
y → INLINECODE9
3️⃣ 测试配置
CODEBLOCK7
4️⃣ 创建本地挂载点
CODEBLOCK8
5️⃣ 挂载云存储
CODEBLOCK9
6️⃣ 设置开机自启(可选)
使用提供的 systemd 服务脚本:
CODEBLOCK10
脚本工具
mount-cloud.sh - 一键挂载
基本用法:
CODEBLOCK11
参数说明:
| 参数 | 说明 | 默认值 |
|---|
| INLINECODE10 | rclone 配置的远程名称 | onedrive |
| INLINECODE11 |
本地挂载点 | ~/cloud-storage/
|
选项:
| 选项 | 说明 |
|---|
| INLINECODE12 | 显示所有挂载状态 |
| INLINECODE13 |
显示帮助信息 |
check-mount.sh - 检测挂载状态
基本用法:
CODEBLOCK12
输出示例:
CODEBLOCK13
enable-autostart.sh - 设置开机自启
命令:
CODEBLOCK14
配置说明
配置文件位置
INLINECODE14
完整配置示例
CODEBLOCK15
挂载选项详解
| 选项 | 说明 | 推荐值 | 备注 |
|---|
| INLINECODE15 | 后台运行 | 必需 | 不要省略 |
| INLINECODE16 |
缓存模式 | writes | 可选:minimal/writes/full |
| --vfs-cache-max-size | 最大缓存 | 1G | 根据内存调整 |
| --allow-other | 允许其他用户访问 | 按需 | 需要 fuse 配置 |
| --uid | 指定文件所有者 UID | 按需 | 配合 allow-other |
| --gid | 指定文件所有者 GID | 按需 | 配合 allow-other |
| --read-only | 只读模式 | 按需 | 保护云端数据 |
| --timeout | 空闲超时 | 1h | 自动断开空闲连接 |
缓存模式选择
| 模式 | 说明 | 适用场景 |
|---|
| INLINECODE26 | 最小缓存 | 内存紧张、只读访问 |
| INLINECODE27 |
写入缓存(推荐) | 日常使用、平衡性能 |
| full | 完整缓存 | 频繁读写、内存充足 |
支持的云存储
| 云存储 | rclone 类型 | 难度 | 地区 | 备注 |
|---|
| OneDrive 个人版 | INLINECODE29 | ⭐⭐ | 全球 | 最常用,5GB 免费 |
| OneDrive 商业版 |
onedrive | ⭐⭐⭐ | 全球 | 需要企业账号 |
| Google Drive | drive | ⭐⭐ | 海外 | 15GB 免费,需科学上网 |
| 阿里云盘 | alidrive | ⭐⭐ | 中国 | 速度快,容量大 |
| 百度网盘 | baidu | ⭐⭐⭐ | 中国 | 需申请 API key |
| Dropbox | dropbox | ⭐⭐ | 全球 | 国际通用 |
| Amazon S3 | s3 | ⭐⭐⭐ | 全球 | 对象存储,按量付费 |
| WebDAV | webdav | ⭐⭐ | 通用 | 支持坚果云、天翼云盘等 |
| SFTP | sftp | ⭐⭐ | 通用 | 远程服务器 |
| FTP | ftp | ⭐⭐ | 通用 | 传统文件传输 |
💡 提示:支持所有 rclone 支持的云存储(70+ 种),查看完整列表:https://rclone.org/
最佳实践
1. Obsidian 云同步
CODEBLOCK16
同步说明:
- - 手机/平板安装 OneDrive App
- 所有设备自动同步
- 无需额外配置
2. 服务器备份方案
CODEBLOCK17
3. 多云存储管理
CODEBLOCK18
4. 性能优化
内存优化(2GB 内存服务器):
CODEBLOCK19
性能优化(8GB+ 内存服务器):
CODEBLOCK20
故障排查
问题 1:挂载后看不到文件
症状: 挂载成功,但目录为空
排查步骤:
CODEBLOCK21
问题 2:token 过期
症状: InvalidAuthenticationToken 错误
解决方案:
CODEBLOCK22
问题 3:挂载失败,权限错误
症状: Permission denied 或 INLINECODE41
解决方案:
CODEBLOCK23
问题 4:内存占用过高
症状: 服务器内存紧张,OOM
解决方案:
CODEBLOCK24
问题 5:开机自启失败
症状: 重启后挂载未自动恢复
排查步骤:
CODEBLOCK25
问题 6:文件写入失败
症状: 无法创建或修改文件
解决方案:
CODEBLOCK26
高级配置
使用配置文件模板(非交互式)
适合批量部署或自动化配置:
CODEBLOCK27
多云存储配置示例
CODEBLOCK28
systemd 服务模板
手动创建服务文件 /etc/systemd/system/cloud-mount@.service:
CODEBLOCK29
启用服务:
CODEBLOCK30
监控脚本
创建监控脚本 /usr/local/bin/watch-cloud-mount.sh:
CODEBLOCK31
添加到 crontab:
CODEBLOCK32
🔒 安全说明
为什么会被标记为 "Suspicious"?
本技能使用以下系统级操作,可能触发自动安全扫描的启发式检测:
| 行为 | 用途 | 必要性 | 风险等级 |
|---|
| INLINECODE44 | 创建 systemd 服务实现开机自启 | 可选 | 低(标准 Linux 功能) |
| INLINECODE45 |
安装 rclone 依赖(已提供更安全的替代方案) | 可选 | 中(已提供替代方案) |
| kill | 停止旧挂载进程 | 必需 | 低(精确 PID 控制) |
| systemd | 进程管理和自启 | 可选 | 低(标准 Linux 功能) |
重要说明:
- - ✅ 所有高风险操作都是功能必需或有明确用途的
- ✅ 没有隐藏的后门或恶意代码
- ✅ 所有脚本都是开源的,可以审查
- ✅ 不发送任何数据到外部服务器
- ✅ 所有网络请求仅用于访问云存储服务
安全验证
VirusTotal 扫描结果:
- - ✅ 70+ 安全厂商全部显示 "Undetected"
- ✅ 无恶意软件、病毒、木马检测
- ⚠️ "Suspicious" 标记来自启发式分析(行为模式检测)
OpenClaw 扫描结果:
- - ✅ Benign(良性) - medium confidence
代码审计:
- - ✅ 所有脚本可在 GitHub 公开审查
- ✅ 无网络请求(除访问云存储外)
- ✅ 无数据收集或遥测
- ✅ 权限使用透明(所有 sudo 操作都有提示)
信任验证指南
建议用户在安装前执行:
- 1. 审查源代码
CODEBLOCK33
- 2. 验证 rclone 官方性
CODEBLOCK34
- 3. 监控系统行为
# 安装后监控进程
ps aux | grep rclone
# 监控网络连接
netstat -tulpn | grep rclone
# 查看系统日志
journalctl -u cloud-mount
最小权限原则
如果你担心权限问题,可以:
- 1. 不使用开机自启
- 跳过 enable-autostart.sh
- 手动运行 mount-cloud.sh 挂载
- 2. 使用只读模式
CODEBLOCK36
- 3. 限制缓存大小(适合 2GB 内存服务器)
CODEBLOCK37
- 4. 使用容器隔离(高级用户)
- 在 Docker 容器中运行 rclone
- 限制容器权限和资源
安全建议
1. 保护敏感信息
CODEBLOCK38
2. 限制挂载权限
CODEBLOCK39
3. 使用专用账号
- - 为服务器创建专用的云存储账号
- 限制账号权限(如只读、特定文件夹)
- 定期更换 token
4. 定期审计
CODEBLOCK40
5. 备份配置
CODEBLOCK41
相关文件
| 文件 | 说明 |
|---|
| INLINECODE49 | 一键挂载脚本 |
| INLINECODE50 |
状态检测脚本 |
| scripts/enable-autostart.sh | 开机自启脚本 |
| ~/.config/cloud-mount/config.sh | 配置文件 |
| ~/.config/rclone/rclone.conf | rclone 配置(含 token) |
资源链接
- - rclone 官方文档: https://rclone.org/docs/
- rclone 下载: https://rclone.org/downloads/
- ClawHub 技能页面: https://clawhub.ai/skills/cloud-mount
- GitHub 仓库: (待添加)
更新日志
v1.3.0 (2026-03-23) - 安全改进 🔒
安全增强:
- pkill → 精确 PID 控制 + kill(避免误杀其他进程)
- 添加进程停止验证和回退机制
- 使用 fusermount/umount 正确卸载挂载点
- enable-autostart.sh 增加 sudo 权限说明
- 明确列出将要执行的操作
- 用户必须确认 (y/N) 才能继续
- 新增 "安全说明" 章节,解释被标记原因
- 添加 VirusTotal 扫描结果说明(70+ 厂商全部 Undetected)
- 提供信任验证指南(代码审查、监控方法)
- 最小权限原则实践建议
- 推荐手动下载安装(最安全)
- 提供包管理器安装选项
- 官方脚本标注为可选(带警告)
感谢: VirusTotal 代码洞察反馈
v1.2.0 (2026-03-21) - 安全说明增强 🔒
- 解释 ClawHub "Suspicious" 标记原因
- 5 个误报模式及其实际用途
- 权限使用说明(sudo、文件系统、网络)
- 安全最佳实践和信任验证指南
v1.1.0 (2026-03-20) - 文档优化 📝
- 增加特性亮点和使用场景
- 添加徽章和视觉元素
- 优化表格和代码示例
- 增加常见问题解答
- 添加详细目录导航
- 扩展最佳实践章节
- 完善故障排查指南(6 个常见问题)
- 增加高级配置示例
- 补充安全建议和资源链接
v1.0.0 (2026-03-20)
- - ✨ 首次发布
- 🔧 提供一站式云存储挂载方案
- 📝 集成 rclone 自动检测与配置
- 🔄 支持 systemd 开机自启
- 📊 内置状态检测工具
- 🛡️ 通过安全审计
版本: 1.3.0
作者: LuckyYou (@Liqiuyue9597)
许可: MIT License
最后更新: 2026-03-23
cloud-mount - 云存储挂载工具
让服务器/电脑轻松挂载云存储到本地,像访问本地文件夹一样使用 OneDrive、Google Drive 等。
📖 目录
适用场景
✅ 个人使用
- - Obsidian 笔记同步 — 多设备访问同一 vault
- 个人文件备份 — 自动备份到云端
- 跨设备文件访问 — 在任何地方访问家中文件
✅ 开发场景
- - 代码备份 — 将代码仓库备份到云存储
- 配置文件同步 — 同步 dotfiles 到多台服务器
- 资源文件存储 — 大文件存放在云端,按需访问
✅ 服务器运维
- - 日志归档 — 自动归档日志到云存储
- 数据备份 — 数据库备份上传到云端
- 资源共享 — 团队共享文件存储
✅ 内容创作
- - 素材库管理 — 图片、视频素材云端存储
- 协作编辑 — 多人访问同一文件库
- 版本管理 — 云存储的历史版本功能
前置条件
- - ✅ rclone 已安装(未安装会自动检测并提示)
- ✅ 拥有对应云存储账号
- ✅ 有另一台设备(手机/电脑)可以运行授权流程
检查 rclone 安装
bash
rclone --version
如果未安装,推荐以下安全安装方式:
方式 A:手动下载(推荐,最安全)
bash
1. 下载最新版 rclone
curl -O https://downloads.rclone.org/rclone-current-linux-amd64.zip
2. 解压
unzip rclone-current-linux-amd64.zip
cd rclone-current-linux-amd64
3. 复制到系统路径
sudo cp rclone /usr/bin/
sudo chown root:root /usr/bin/rclone
sudo chmod 755 /usr/bin/rclone
4. 清理
cd ..
rm -rf rclone-current-linux-amd64.zip rclone-current-linux-amd64
5. 验证安装
rclone --version
方式 B:使用包管理器
bash
Debian/Ubuntu
sudo apt update
sudo apt install rclone
CentOS/RHEL
sudo yum install rclone
Arch Linux
sudo pacman -S rclone
方式 C:官方脚本(便捷,但需要审查权限)
bash
curl https://rclone.org/install.sh | sudo bash
⚠️ 注意:官方脚本需要 sudo 权限,建议先审查脚本内容
快速开始
1️⃣ 安装 rclone
推荐安装方式(安全):
bash
1. 下载
curl -O https://downloads.rclone.org/rclone-current-linux-amd64.zip
2. 解压
unzip rclone-current-linux-amd64.zip
cd rclone-current-linux-amd64
3. 安装
sudo cp rclone /usr/bin/
sudo chown root:root /usr/bin/rclone
sudo chmod 755 /usr/bin/rclone
4. 清理
cd .. && rm -rf rclone-current-linux-amd64*
5. 验证
rclone --version
或使用包管理器:
bash
Debian/Ubuntu
sudo apt update && sudo apt install rclone
CentOS/RHEL
sudo yum install rclone
2️⃣ 配置云存储
bash
交互式配置(推荐新手)
rclone config
详细步骤:
- 1. 输入 n 创建新配置
- 输入名字:onedrive(或你喜欢的名字)
- 选择存储类型:
- OneDrive 个人版:41
- Google Drive:drive
- 阿里云盘:alidrive
- 其他:查看对应编号
- 4. clientid 和 clientsecret:直接回车(使用默认)
- Advanced config:n(否)
- Web browser:n(使用授权码方式)
- 在浏览器打开提供的 URL,登录云存储账号并授权
- 复制返回的授权码,粘贴到终端
- 选择 drive(通常选第一个)
- 确认配置:y
- 保存并退出:y → q
3️⃣ 测试配置
bash
列出云存储根目录文件
rclone lsd onedrive:
应该能看到你的云盘文件夹列表
4️⃣ 创建本地挂载点
bash
mkdir -p ~/cloud-storage/onedrive
5️⃣ 挂载云存储
bash
手动挂载(测试用)
rclone mount onedrive: ~/cloud-storage/onedrive --daemon --vfs-cache-mode writes
验证挂载
ls ~/cloud-storage/onedrive/
应该能看到云盘中的文件
6️⃣ 设置开机自启(可选)
使用提供的 systemd 服务脚本:
bash
编辑配置
nano ~/.config/cloud-mount/config.sh
启用服务
~/.openclaw/workspace/skills/cloud-mount/scripts/enable-autostart.sh
脚本工具
mount-cloud.sh - 一键挂载
基本用法:
bash
使用默认配置挂载
~/cloud-mount/scripts/mount-cloud.sh onedrive
指定挂载点
~/cloud-mount/scripts/mount-cloud.sh onedrive ~/my-cloud
检查状态
~/cloud-mount/scripts/mount-cloud.sh --status
参数说明:
| 参数 | 说明 | 默认值 |
|---|
| remotename | rclone 配置的远程名称 | onedrive |
| mountpoint |
本地挂载点 | ~/cloud-storage/
|
选项:
| 选项 | 说明 |
|---|
| --status, -s | 显示所有挂载状态 |
| --help, -h |
显示帮助信息 |
check-mount.sh - 检测挂载状态
基本用法:
bash
检查指定挂载点
~/cloud-mount/scripts/check-mount.sh ~/cloud-storage/onedrive
检查所有云存储挂载
~/cloud-mount/scripts/check-mount.sh --all
查看 rclone 进程
~/cloud-mount/scripts/check-mount.sh --processes
输出示例:
✓ /home/user/cloud-storage/onedrive - 已挂载
挂载源:onedrive:
文件系统:fuse.rclone
权限:可读写
进程:运行中 (PID: 12345)
enable-autostart.sh - 设置开机自启
命令:
bash
启用服务
sudo ~/cloud-mount/scripts/enable-autostart.sh enable
禁用服务
sudo ~/cloud-mount/scripts/enable-autostart.sh disable
查看状态
sudo ~/cloud-mount/scripts/enable-autostart.sh status
重启服务
sudo ~/cloud-mount/scripts/enable-autostart.sh restart
查看日志
sudo ~/cloud-mount/scripts/enable-autostart.sh logs
配置说明
配置文件位置
~/.config/cloud-mount/config.sh
完整配置示例
bash
#!/bin/bash
cloud-mount 配置文件
云存储远程名称(rclone config 中配置的名字)
CLOUD_REMOTE=onedrive
本地挂载点
MOUNT_POINT=$HOME/cloud-storage/onedrive
挂载选项
MOUNT_OPTIONS=--daemon --vfs-cache-mode writes --vfs-cache-max-size 1G
是否开机自启
AUTO_START=true
挂载选项详解
| 选项 | 说明 | 推荐值 | 备注 |
|---|
| --daemon | 后台运行 | 必需 | 不要省略 |
| --vfs-cache-mode |
缓存模式 | writes | 可选:minimal/writes/full |
| --vfs-cache-max-size | 最大缓存 | 1