在被告知虚拟专用服务器不适合我的项目范围后,我胆怯地进入了专用托管的世界。不幸的是,这迫使我学习成为 Linux 服务器管理员的基础知识。
GoDaddy 有一个服务器主帐户。当您使用 SSH 时,他们希望您使用“su”切换到 root 用户。到目前为止,我已经能够以 root 用户身份通过命令行完成迄今为止所需的一切。
但是,现在我需要将文件上传到我的服务器。我习惯使用 WinSCP 上传文件。我可以使用我的通用服务器帐户查看文件,但当我尝试拖动或创建文件时,系统提示我无法执行此操作,因为我没有权限。
我研究过 WinSCP 文档,似乎这个“su”函数超出了程序的范围。
我如何授予自己使用 SSH 上传这些文件的权限?
我是否应该创建具有适当权限的用户?我很乐意这样做,但到目前为止,我还无法理解我在网上找到的内容。
我会尽力继续前进,但任何帮助和/或见解都会受到赞赏。
答案1
我不熟悉 GoDaddy,但你可以使用 winscp 将文件上传到某些目录。有限的用户具有写访问权限 - 即主目录
然后 ssh 到服务器,su root 并将文件移动到适当的位置,最终调整权限
你可以使用一些控制台文件管理器,比如 Midnight Commander (mc)(如果服务器上安装了)
答案2
您可以在 WinSCP 中运行su
,但弄清楚如何操作并不是很直观。
在连接设置中的 Environment/SCP/Shell 下,找到顶部的项目,即“Shell”,在该框中输入su -
... 或任何您想要的命令。通常,这用于选择要运行哪个 shell - 但是当您只是输入一个命令时su -
,它将以 root 身份开始 shell 会话,使用 root 的配置文件(选项-
),因此将运行 root 的默认 shell。
答案3
一种解决方案是使用scp
而不是winscp
。这将需要一台运行 *nix 的本地计算机。Cygwin 将允许您在 Windows 中本地运行 *nix。或者,如果您有一台备用计算机,您可以在其上安装 Linux。或者双启动您的计算机。或者使用 Mac。
答案4
我认为更好的问题是,为什么你尝试通过 scp 以 root 身份更新文件? 如果这是部署文件的问题,您应该研究配置管理系统和安装程序。
例如,如果您要复制配置,请查看 puppet 或 cfengine。如果您要安装程序,请查看特定 Linux 发行版的包管理系统(aptitude、yum 等)。
我还可以告诉你,最终的解决方案是以用户身份登录,但这会带来巨大的安全漏洞,而且大多数系统都禁用此功能。但如果你想走这条路,你可以通过打开 SSH 配置(最有可能在 中)并设置以下内容来root
重新启用 root 登录:/etc/ssh/sshd_config
PermitRootLogin yes
然后重新启动 sshd:
sudo /etc/init.d/sshd restart
安德鲁