使用 sshfs 以用户权限挂载根文件系统

使用 sshfs 以用户权限挂载根文件系统

我想用来sshfs在我的机器上安装文件系统文件夹(比方说~/home)。

我希望能够编辑/使用任何编辑器安装的文件夹内的文件(例如, edit /etc/sysctl.conf)。

简而言之,我想使用sshfs每个文件的 r+w+x 权限在桌面上挂载整个服务器文件系统

我尝试在这里寻找答案,但一无所获,只能以“只读”权限安装。命令是:

sshfs [email protected]:/ ~/Desktop -o max_conns=8,transform_symlinks,dir_cache=yes,idmap=user,uid=$(id -u),gid=$(id -g),reconnect -d -v -C

答案1

sshfs [email protected]:/ …在服务器端的行为与您登录的用户相同,所以很可能(有点误导性的名称,它是一个用户)。如果不等于在服务器上,那么您无法编辑任意文件是正常的。ssh [email protected]hostnamehostnameroot

SSH 服务器(守护进程)像 一样sshd运行和侦听root。它分叉来满足您的请求。在您进行身份验证后,hostname您最终会被放弃sshd其特权并以hostname.这样你就只能做服务器上hostname能做的事情了。

无论您在本地看到什么,这都有效。这些选项idmap并不uid能克服服务器上适合您的gid事实。这些选项旨在使本地挂载在本地环境中看起来正常。sshdhostname

为了能够/etc/sysctl.conf在本地编辑远程文件,您需要向服务器进行身份验证,作为可以/etc/sysctl.conf在服务器上编辑的用户。这适用于任何文件。两个基本选项:

  1. 您可能会弄乱服务器上的权限。危险的。例如,如果您/etc/sudoers在服务器上设置得太开放,那么sudo将拒绝在那里工作。

  2. 允许自己去做。sshfs [email protected]:/ …不建议

无论如何,你想做的事情并不是一个真正安全的想法。

相关内容