利用Termux和rclone挂载SFTP服务器至Android

6次阅读
没有评论

如何利用rclone将SFTP服务器挂载至Android设备

背景信息及目标设置

当前您打算通过Termux功能实现将SFTP服务器的特定目录挂载到运行Android 12系统的手机上。然而,存在一些权限和组别限制,如在 Termux 中无法以 root 权限执行 mountumount 操作。此外,需要指定相应的用户属组,否则会遇到访问权限问题。

解决方法

通过结合使用Termuxrclone命令行工具,并设置适当的文件系统挂载选项来解决上述问题。

  1. 准备SFTP服务器环境:
  2. 确保你的SFTP服务器上存在一个目录/mnt/srv-rasp1,并将该目录以正确的权限和属组设置,以便 Termux 通过 rclone 访问。例如:
    shell
    mkdir /mnt/srv-rasp1
    chown root:everybody /mnt/srv-rasp1
    chmod 2775 /mnt/srv-rasp1

  3. 在Termux中安装并初始化rclone:

  4. 首先,更新 Termux 的包列表并升级软件库:
    shell
    pkg update && pkg upgrade -y
  5. 安装 rclone 依赖项和 rclone 本身:
    shell
    apt install fusermount -y
    curl https://rclone.org/install.sh | bash

  6. 使用rclone将SFTP服务器挂载到Termux:

  7. 利用 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 环境中,并方便地进行文件管理操作。

正文完