sshfs 多用户

sshfs 多用户

我想与许多用户一起使用 sshfs。

sshfs [email protected]:/ root/

通过此命令,我可以在目录 root/ 中获取整个文件系统。

当某个文件的用户刚好存在于远程机器上时,是否有可能更改该文件的用户?

我试过:

chown myuser myfile

当我ls -lah在遥控器上制作时,我得到:

-rw-r--r-- 1 otheruser   root       0 Jan 11 11:03 myfile

答案1

问题在于,chown将文件提供给本地 UID属于myuser

举个例子,在本地机器上,你有myuser一个 UID 1001,但是 UID 1001 属于otheruser远程机器。

如果您想要将其提供给myuser远程系统,则必须执行以下操作之一:

  • 在两台机器上同步账户/UID(使用集中配置管理器可以有所帮助);
  • 知道远程UID myuser(使用例如ssh root@distant id -u myuser)并使用chown该UID。

使用第二个选项,您可以执行以下操作(使用 bash):

uid=$(ssh root@distant id -u myuser)
[[ -n $uid ]] && chown $uid. myfile || echo "No uid found. Not chowning"

答案2

查找 posixovl 文件系统。

假设 ~/REMOTESITE 是远程系统的 sshfs 挂载:

/usr/local/sbin/mount.posixovl -F -S ~/REMOTESITE/user-backups /REMOTESITE -- -o allow_other

(我不确定是否严格需要“allow_other”,但它没有什么坏处。)

远程文件仍然归登录到远程帐户的任何人所有,但对于本地系统来说,它们似乎归本地用户所有。

(您可能还希望在此基础上分层 encfs,这样您就不需要信任远程站点)

格雷厄姆

答案3

不,您不能这样做。远程系统上的所有文件都以挂载时使用的“用户”身份访问。在您的情况下,该用户是 root 。

相关内容