将S端目录mount到C端文件系统中
内容提要
本文介绍了在Linux系统中实现将一个目录在S端mount到C端文件系统中的需求,并提供了几种备选方案,包括sshfs、rclone和dufs。文章详细介绍了这些方案的使用方法和支持的功能。
延伸解读
方案选择需考虑S端服务限制
文章指出S端环境特殊,无法部署NFS Server,且sshfs依赖S端的sftp服务,而目标环境不满足此要求。因此,在实际选型时,需首先确认S端可用的服务协议。rclone和dufs作为WebDAV服务端,不依赖sftp,更适合S端受限的场景。
rclone挂载的认证与安全注意点
使用rclone进行WebDAV挂载时,C端不能直接提供明文口令,必须先用rclone obscure命令生成非明文口令,否则会报错。此外,若S端未启用HTTPS,Windows客户端需修改注册表将BasicAuthLevel设为2才能访问,这提示在非加密环境下需注意认证兼容性与潜在安全风险。
dufs与rclone的轻量级对比
若仅需WebDAV挂载,dufs作为服务端比rclone小巧许多,其体积仅3.6MB,而rclone服务端为56MB。dufs适合资源受限的S端环境,但文章未确认dufs能否作为客户端,因此C端挂载仍建议使用rclone或Windows资源管理器。
Q&A
如何在C端使用sshfs挂载S端目录?
在C端安装sshfs后,使用命令:sshfs -C -o port=<remote port>,idmap=user,dir_cache=yes,reconnect,ServerAliveInterval=5 <remote user>@<remote ip>:<remote directory> <local mount point>。
rclone和dufs有什么区别?
rclone支持多种协议,功能更强大,但体积较大;而dufs是一个小巧的WebDAV服务端,适合仅需WebDAV挂载的场景,体积小于rclone。
如果S端不支持sftp,sshfs还能用吗?
不可以,sshfs依赖S端的sftp服务,如果sftp不可达,sshfs将无法使用。
如何在C端使用rclone挂载WebDAV?
在C端使用命令:./rclone mount --webdav-url http://<S端IP>:8080 --webdav-user <用户名> --webdav-pass $(./rclone obscure <密码>) :webdav:/ ~/src/mnt。
gvfs的挂载方式有什么特点?
gvfs通过gio命令挂载,但无法手动指定本地挂载点,且只支持sftp协议,灵活性不如sshfs。
在C端使用dufs的优势是什么?
dufs的服务端体积仅为3.6MB,相比rclone更小巧,适合仅需WebDAV挂载的场景。