如何利用rclone将SFTP服务器挂载至Android设备
背景信息及目标设置
当前您打算通过Termux功能实现将SFTP服务器的特定目录挂载到运行Android 12系统的手机上。然而,存在一些权限和组别限制,如在 Termux 中无法以 root 权限执行 mount
和 umount
操作。此外,需要指定相应的用户属组,否则会遇到访问权限问题。
解决方法
通过结合使用Termux、rclone命令行工具,并设置适当的文件系统挂载选项来解决上述问题。
- 准备SFTP服务器环境:
确保你的SFTP服务器上存在一个目录
/mnt/srv-rasp1
,并将该目录以正确的权限和属组设置,以便 Termux 通过 rclone 访问。例如:
shell
mkdir /mnt/srv-rasp1
chown root:everybody /mnt/srv-rasp1
chmod 2775 /mnt/srv-rasp1在Termux中安装并初始化rclone:
- 首先,更新 Termux 的包列表并升级软件库:
shell
pkg update && pkg upgrade -y 安装 rclone 依赖项和 rclone 本身:
shell
apt install fusermount -y
curl https://rclone.org/install.sh | bash使用rclone将SFTP服务器挂载到Termux:
- 利用
su --mount-master -c
命令为特定用户创建以 rclone 权限运行的子 shell。命令参数包括配置文件名、目录路径和各种权限选项。
shell
su --mount-master -c "HOME=$HOME rclone -vvv mount sshfs-srv-rasp1:/mnt /storage/emulated/legacy/srv-rasp1 \
--gid 9997 --dir-perms 0771 --file-perms 0660 --umask=0 --cache-dir /sdcard/.rclone.cache --vfs-cache-mode full \
--vfs-cache-max-age 2h0m0s --vfs-cache-poll-interval 5m0s --allow-other --daemon"
注意事项
- 确保服务器上配置的组别名
everybody
与您的Android系统支持的一致,确保有足够的读写权限。 - 如果你的SFTP服务需要额外的安全设置或认证方式(如密钥对验证),请对应地调整 rclone 中的相关参数。
通过以上步骤,您可以成功实现将远程SFTP服务器的指定目录挂载到手机 Termux 环境中,并方便地进行文件管理操作。
正文完