Невозможно войти на мой сервер Ubuntu 18.04LTS после изменения разрешения файлов - PullRequest
0 голосов
/ 01 марта 2020

Мне пришлось столкнуться с выполнением команды bash с локального сервера PHP на моем сервере Ubuntu из Google Cloud, и через несколько секунд после поиска решения я был отключен от сервера и теперь не могу войти назад.

Команда Я запустил, чтобы изменить права доступа к каталогу :
sudo chown -R www-data /home/my_username

Само собой разумеется, что я облажался. Мой сайт все еще работает, но Я больше не могу войти в систему с s sh
ssh my_username@server_ip -> Ошибка: В доступе отказано (publickey).
или в Google Cloud.

Есть ли у вас какие-либо предложения, прежде чем я перезапущу сервер с нуля?

1 Ответ

1 голос
/ 06 марта 2020

Согласно общей документации Kaybe c :

Решение заключается в создании сценария запуска, который добавляет пару идентификатор пользователя / пароль. Если мы определим этот сценарий и затем перезапустим наш Compute Engine, во время более поздней части процесса загрузки будет запущен сценарий запуска, который может создать нашу личность, которую мы затем сможем использовать для входа в систему. После завершения сценария запуска и запуска экземпляра виртуальной машины мы можем войти в систему через последовательный порт.

Вот пошаговое описание этих шагов, предполагая, что вначале мы заблокированы:

  1. Мы разрешаем вход в последовательный порт, устанавливая метаданные экземпляра Compute Engine serial-port-enable to 1. В Cloud Console есть область флажков, которая делает это простым:

  2. Затем мы выключаем экземпляр Compute Engine.

После выключения мы можем Определите наш скрипт запуска, добавив пользовательские метаданные с ключом startup-script и значением:

useradd --groups google_sudoers tempuser
    echo "tempuser:password" | chpasswd

Вы также можете сделать это на консоли, на странице GCE вашего экземпляра виртуальной машины, где он говорит добавить "Пользовательские метаданные"

Теперь мы перезапускаем Compute Engine. Это заставит запускать скрипт запуска, который добавит нашего временного пользователя. Когда Compute Engine запустится, мы увидим на консоли кнопку с подробностями нашего экземпляра.

Мы должны нажать один раз клавишу ввода в появившемся окне, чтобы появилось приглашение для входа в систему .

Теперь мы можем ввести наш идентификатор пользователя и пароль (например, tempuser / password). Мы будем зарегистрированы как наш временный пользователь. Теперь мы можем переключиться на пользовательскую оболочку root, используя:

sudo bash
На данный момент мы находимся в машине со всеми необходимыми нам полномочиями. Мы можем выполнить наше исследование и ремонт. Когда мы рады, что среда была исправлена, мы должны закрыть экземпляр виртуальной машины и удалить скрипт запуска, который создает наш временный идентификатор пользователя, и мы также должны снять флажок, который разрешает вход через последовательный порт.

Мы должны перезапустить виртуальную машину еще раз и войти в систему с помощью S SH и явно удалить нашего временного пользователя:

deluser tempuser
...