После того, как мне сказали, что виртуальные частные серверы не подойдут для моего проекта, я робко вошел в мир выделенного хостинга. К сожалению, это заставляет меня изучать основы администрирования Linux-серверов.
У GoDaddy есть главная учетная запись для сервера. Когда вы используете SSH, они хотят, чтобы вы использовали "su" для переключения на пользователя root. До сих пор я мог сделать все, что мне было нужно, через командную строку в качестве этого пользователя root.
Однако теперь мне нужно загрузить файлы на свой сервер. Я привык использовать WinSCP для загрузки файлов. Я могу использовать свою общую учетную запись сервера для просмотра файлов, но когда я пытаюсь перетащить или создать файлы, он говорит, что я не могу, потому что у меня нет разрешения на это.
Я изучил документацию WinSCP и, похоже, эта функция «su» выходит за рамки программы.
Как мне предоставить себе доступ для загрузки этих файлов с помощью SSH?
Мне создать пользователя с соответствующими правами? Я бы с радостью это сделал, но пока что я не смог разобраться в том, что нашел в сети.
Я постараюсь двигаться вперед, но любая помощь и/или информация будут оценены по достоинству.
решение1
Я не знаком с GoDaddy, но вы можете загружать файлы с помощью winscp в какой-нибудь каталог. Ограниченный пользователь имеет доступ на запись, например, в домашний каталог.
затем подключитесь к серверу по ssh, войдите в систему как root и переместите файлы в нужное место, а затем настройте права доступа.
вы можете использовать какой-нибудь консольный файловый менеджер, например Midnight Commander (mc), если он установлен на сервере
решение2
Вы можете запустить его su
в WinSCP, но не совсем понятно, как это сделать.
В настройках соединения в разделе Environment/SCP/Shell найдите верхний элемент под названием "Shell" в этом поле, введите su -
... или любую команду, которую вы хотите. Обычно это используется для выбора того, какая оболочка будет запущена, но когда вы просто вводите команду, как su -
там, она вместо этого начинает сеанс оболочки как root, используя профиль root (опция -
), поэтому будет запущена оболочка по умолчанию для root.
решение3
Одним из решений было бы использование scp
вместо winscp
. Для этого потребуется локальный компьютер с *nix. Cygwin позволит вам запускать *nix локально в Windows. Или, если у вас есть запасной компьютер, вы можете установить на него Linux. Или выполнить двойную загрузку вашего компьютера. Или использовать Mac.
решение4
Я думаю, что лучше спросить:почему вы пытаетесь обновить файлы как root через scp? Если речь идет о развертывании файлов, вам следует рассмотреть системы управления конфигурацией и установщики.
Например, если вы копируете конфигурации, взгляните на puppet или cfengine. Если вы смотрите на установку программ, взгляните на систему управления пакетами вашего дистрибутива Linux (aptitude, yum и т. д.).
Я также мог бы сказать вам, что вашим окончательным решением будет войти в систему как root
пользователь, но это создает огромную дыру в безопасности и отключено в большинстве систем. Но если вы хотите пойти по этому пути, вы можете снова включить вход root, открыв конфигурацию SSH (скорее всего в /etc/ssh/sshd_config
) и установив:
PermitRootLogin yes
И затем перезапустите sshd:
sudo /etc/init.d/sshd restart
Андрей