核心用法
remote-disk-mount 是一个多协议远程存储挂载工具,支持将 SMB/CIFS(Windows 共享)、FTP、SFTP 及 WebDAV 存储映射为本地文件系统目录。执行流程自动化:询问协议与服务器信息 → 检测并安装缺失依赖 → 列出可用共享 → 创建挂载点(默认 ~/mount_名称)→ 执行挂载 → 验证结果。
协议支持详情
| 协议 | 依赖包 | 典型场景 |
|:---|:---|:---|
| **SMB/CIFS** | `smbclient`, `cifs-utils` | Windows 共享、Samba NAS |
| **FTP** | `curlftpfs` | 老旧文件服务器、公开 FTP |
| **SFTP** | `sshfs` | 安全远程服务器、VPS 文件管理 |
| **WebDAV** | `cadaver`, `davfs2` | 云存储(Nextcloud/ownCloud)、网盘 |
关键命令示例
- SMB:
sudo mount.cifs //IP/共享 /mnt -o user=xxx,pass=xxx,uid=1000 - SFTP:
sudo sshfs user@IP:/ /mnt -o uid=1000,gid=1000 - 卸载:
sudo umount /mnt或sudo fusermount -u /mnt
显著优点
1. 协议全覆盖:四种主流协议一站式支持,无需记忆多种工具
2. 自动化依赖管理:自动检测并安装缺失包,降低配置门槛
3. 权限友好:默认设置 uid=1000,gid=1000,普通用户可读写
4. FUSE 基础:SFTP/FTP 基于 FUSE,用户空间运行,无需内核模块
潜在缺点与局限性
| 问题 | 说明 |
|:---|:---|
| **密码明文暴露** | 命令行参数直接传递密码,历史记录与进程列表可见 |
| **无持久化配置** | 未提供 `/etc/fstab` 或 systemd 自动挂载方案 |
| **单会话设计** | 每次需交互输入,不适合无人值守场景 |
| **FTP 无加密** | `curlftpfs` 默认明文传输,敏感数据风险高 |
| **WebDAV 兼容性** | `davfs2` 对大文件和缓存策略支持有限 |
适合人群
- 家庭用户:快速挂载 NAS(群晖/QNAP)或 Windows 共享
- 开发者:临时访问远程服务器代码目录,替代
scp/sftp - Linux 新手:不想手动研究
mount参数,偏好向导式操作
常规风险
- 凭据泄露:建议改用
credentials文件或 SSH 密钥替代明文密码 - 权限提升:全程
sudo操作,需信任技能代码 - 网络中断:FUSE 挂载在网络断开时可能导致进程阻塞
- 数据一致性:缓存机制可能导致远程修改未及时同步
改进建议
- 支持从
~/.netrc或密钥环读取凭据 - 增加
--dry-run预览挂载参数 - 提供 systemd 服务模板实现开机自动挂载