您可以创建一个脚本来拦截对远程计算机上sftp子系统的调用.将以下脚本放在远程服务器上的某处,假设/ root/bin/sftp_intercept:
#!/bin/sh
exec sudo -u less_privileged_user /usr/lib/openssh/sftp-server
Run Code Online (Sandbox Code Playgroud)
然后像这样打电话:
sshfs root@remote:dir mountpoint -o sftp_server=/root/bin/sftp_intercept
Run Code Online (Sandbox Code Playgroud)
那应该会产生预期的结果.
你需要一个适当的sudoers条目来使sudo工作而不提示输入密码,并且不要忘记"chmod 755~/bin/sftp_intercept".
另外,确保/ usr/lib/openssh/sftp-server确实是sftp-server的路径.如果没有,那么也许它是/ usr/lib/sftp-server.