这样的问题是没法访问 /Android/data ,有时候经常需要访问 QQ 下载的文件,普通用户的权限很难做到透过文件系统访问。
在 root 的情况下,虽然可以使用 root 启动 webdav ,不过为了确保最小权限,想了一个比较绕的方法:先 su ,通过 capsh 设置 groups 为 sdcard_rw(1015) 再降权回去。
su -c "PATH=$PATH $(which capsh) --groups=1015,9997,3003 --uid=$(id -u) -- -c 'exec rclone serve webdav /storage/emulated/0 --addr :8080'"
这里给了三个 groups:everybody(9997) 用于获得 /storage/emulated/0 的访问权,1015(sdcard_rw) 获得 /Android/data 的访问权, 3003(inet) 获得网络的访问权
在 root 的情况下,虽然可以使用 root 启动 webdav ,不过为了确保最小权限,想了一个比较绕的方法:先 su ,通过 capsh 设置 groups 为 sdcard_rw(1015) 再降权回去。
su -c "PATH=$PATH $(which capsh) --groups=1015,9997,3003 --uid=$(id -u) -- -c 'exec rclone serve webdav /storage/emulated/0 --addr :8080'"
这里给了三个 groups:everybody(9997) 用于获得 /storage/emulated/0 的访问权,1015(sdcard_rw) 获得 /Android/data 的访问权, 3003(inet) 获得网络的访问权