确定,安装有点卷积。不要怪我,我不是系统管理员。

这里的情况。有一台机器,我可以SSH到来自网络外部。我只能远程作为根(是的,你没有听错吧)用我的私钥。我知道,这是更典型的,以登录为用户,然后提升权限,但在这种情况下,我必须做相反。

的问题是,我想,以便远程挂载文件系统使用SSHFS。我有这方面的工作非常完美。不过,我不希望每次我与渣土反映root权限的文件。我想解除提升第一(su到的用户帐户)。

任何人都知道我可以用SSHFS做到这一点?

有帮助吗?

解决方案

可以创建一个脚本来拦截该呼叫到远程机器上的SFTP子系统。把下面的脚本某处在远程服务器上,让我们说/根/斌/ sftp_intercept:

#!/bin/sh
exec sudo -u less_privileged_user /usr/lib/openssh/sftp-server

和然后进行呼叫,像这样:

sshfs root@remote:dir mountpoint -o sftp_server=/root/bin/sftp_intercept

这应该然后得到所需的结果。

您将需要一个apropriate sudoers文件项,以使sudo的工作,没有它提示输入密码,并且不要忘了“搭配chmod 755〜/斌/ sftp_intercept。”

此外,确保/ usr / lib目录/ openssh的/ SFTP服务器确实是路径SFTP服务器。如果不是,那么也许是/ usr / lib中/ SFTP服务器。

其他提示

在sshfs的手册页表明,通过

-o uid=$YOURUID -o gid=$YOURGID

您sshfs的调用应设置用户/组创建到UID / GID的文件。你需要找到这些远程系统上,效果显着。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top