Как получить доступ к учетной записи root на Linux-сервере без физического доступа?

«Как получить доступ к учетной записи root на Linux-сервере без физического доступа?» — вопрос из категории Linux, который задают на 23% собеседований Devops Инженер. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

В DevOps-практиках прямой доступ к root обычно ограничен. Получение привилегий root зависит от текущего уровня доступа и конфигурации сервера.

1. Используя sudo (наиболее безопасный и рекомендуемый способ): Если ваш пользователь входит в группу sudo или wheel, выполните:

sudo su -
# или
sudo -i

После ввода пароля текущего пользователя вы получите сессию root.

2. Команда su (если известен пароль root):

su -

Введите пароль учетной записи root. Этот метод менее безопасен, так как требует знания пароля root.

3. Подключение по SSH как root (не рекомендуется для безопасности):

ssh root@<IP_АДРЕС_СЕРВЕРА>

Важно: Прямой root-доступ по SSH (PermitRootLogin) по умолчанию отключен в /etc/ssh/sshd_config. Вместо этого следует подключаться под обычным пользователем и использовать sudo. В инфраструктуре, управляемой кодом (IaC), доступ настраивается через ролевые политики (например, в AWS IAM, sudoers.d файлы), а аутентификация выполняется с помощью SSH-ключей.