在被告知虚拟专用服务器不适合我的项目范围之后,我胆怯地进入了专用主机的世界。 不幸的是,这迫使我如何学习Linux服务器pipe理员的基础知识。
GoDaddy拥有服务器的主帐户。 当你使用SSH时,他们希望你使用“su”切换到root用户。 到目前为止,我已经能够以root用户的身份通过命令行完成我所需要的一切。
不过,现在我需要上传文件到我的服务器。 我习惯于使用WinSCP来上传文件。 我可以使用我的通用服务器帐户来查看文件,但是当我尝试拖动或创build文件时,说我不能,因为我没有权限这样做。
我研究了WinSCP文档,看起来这个“su”函数超出了程序的范围。
我如何授予自己使用SSH上传这些文件的权限?
我应该创build一个适当的权限的用户? 我很高兴做到这一点,但迄今为止,我还没有能够理解我在网上find的东西。
我要去尝试和前进,但任何帮助和/或洞察力,表示赞赏。
我不熟悉GoDaddy,但可以用winscp上传文件到一些目录。 有限的用户有写权限 – 即主目录
然后ssh到服务器,su root并将文件移动到适当的位置,最终调整权限
如果安装在服务器上,则可以使用某些控制台文件pipe理器(如Midnight Commander(mc))
你可以在WinSCP中运行su ,但是搞清楚怎么做并不是很直观。
在连接设置中,在Environment / SCP / Shell下,在该框中查找名为“Shell”的顶层项目,inputsu - …或任何您想要的命令。 通常情况下,这是用来select哪个shell将运行 – 但是当你只是把一个像su -那样的命令,它将使用root的configuration文件( -选项)以root身份启动一个shell会话,所以root的默认shell跑。
一种解决scheme是使用scp而不是winscp 。 这将需要一台运行* nix的本地计算机。 Cygwin会让你在Windows中本地运行* nix。 或者如果你有一台备用电脑,你可以在上面安装linux。 或者双启动你的电脑。 或使用Mac。
我认为更好的问题是, 为什么你想通过scp以root身份更新文件 ? 如果这是部署文件的问题,则应该查看configurationpipe理系统和安装程序。
例如,如果您正在复制configuration,请查看puppet或cfengine。 如果您正在寻找安装程序,请查看您的特定Linux发行版的软件包pipe理系统(aptitude,yum等)。
我也可以告诉你,你的最终解决scheme是以root用户身份login,但是这会造成巨大的安全漏洞,并且在大多数系统上被禁用。 但是如果你想走这条路,你可以通过打开你的SSHconfiguration(很可能在/etc/ssh/sshd_config )并设置:
PermitRootLogin yes
然后重新启动sshd:
sudo /etc/init.d/sshd restart
安德鲁