如何在CyberDuck中使用SFTP进行sudo操作?

46

我从这里复制了这个问题:http://getsatisfaction.com/cyberduck/topics/can_i_use_sudo_over_sftp_with_cyberduck 我遇到同样的问题,很难找到答案:
当我尝试上传文件时,我可以连接并浏览文件,但是遇到权限错误。我的网站主机说我需要使用“sudo”命令。我知道如何在终端中执行此操作,但是否可以告诉Cyberduck使用sudo?
请不要告诉我使用root,因为:
如果您没有root访问权限或不想启用root访问权限怎么办?

2
我敢打赌你还没有找到解决方案,实际上做了类似于jeffp建议的事情。但我很乐意被证明是错的。 - cregox
5个回答

13

我用Cyberduck上传文件到一个我可以写入的文件夹(例如,与Cyberduck连接的用户的主文件夹)。然后,我通过ssh登录到机器上并使用sudo mv命令将文件移动到所需的目标文件夹中。


12

我曾经也遇到过类似的问题很长一段时间,最后只能使用putty编辑文件或将它们移动到我的主目录下。

不幸的是,这只是部分解决办法,因为它在Linux中无法本地运行。你也许能够通过wine来使用它。 结果发现可以使用winscp来实现这个功能。

在winscp中设置一个新的SFTP会话, Setup page 1

之后,在设置的SFTP部分,选择自定义SFTP服务器,然后键入sudo -s添加到远程sftp-server二进制文件的路径中。为了使其起作用,您需要启用无需密码即可运行sudo。您可以在远程服务器上使用whereis命令查找sftp-server的路径。

How to retrieve sftp-server path

Last Step


4

我认为最好的解决方案是在ssh中使用sudo修改权限。你甚至可以编写一个小的shell脚本,在你工作时给你访问权限,并在你完成后将权限设置回来。

实际上,我很好奇是否有更好的方法来解决这个问题,但我相当确定没有。


0

可以使用sudo启动远程SFTP服务器,但我怀疑您是否能找到支持此功能的任何SFTP GUI客户端。


0
如果您可以访问服务器,您可能可以使用您的ssh用户声明目录所有权。之后,您应该能够在不使用sudo的情况下复制和编辑数据。
sudo chown -R $(whoami) /your/current/dir

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接