Команда su - в терминале запрашивает пароль root, но в Ubuntu и ряде других дистрибутивов она завершается ошибкой Authentication failure — это не сбой, а следствие того, что учётная запись суперпользователя там заблокирована по умолчанию. Прежде чем искать «неисправность», нужно определить, какой именно способ входа под root предусмотрен в вашей системе.
В этой статье разберём все рабочие методы получения прав суперпользователя: через sudo, su, прямой вход по паролю и аварийные варианты. Отдельно объясним, чем отличаются подходы в Ubuntu, Debian, Fedora и других дистрибутивах, и какие риски несёт постоянная работа под root.
Что такое root и почему вход под ним может быть заблокирован
Root — это учётная запись суперпользователя в Linux и других Unix-подобных системах. Она имеет неограниченные права: может изменять любые системные файлы, устанавливать и удалять программы, управлять пользователями и службами. Именно поэтому работа под root без необходимости считается небезопасной практикой.
Дистрибутивы семейства Ubuntu (включая Linux Mint и ряд производных) по умолчанию блокируют прямой вход под root: у аккаунта не задан пароль, и аутентификация невозможна. Вместо этого применяется механизм sudo — временное повышение привилегий для отдельных команд. В Debian, Fedora или CentOS при установке системы обычно предлагается задать пароль root, и там вход через su работает сразу.
Первое диагностическое действие — проверить, в какой группе состоит ваш пользователь и есть ли у root пароль. Для этого выполните:
id
sudo -v
Если вторая команда запросила ваш пароль и завершилась без ошибок — вы можете выполнять любые команды с правами root через sudo, и отдельный вход под суперпользователем вам, скорее всего, не нужен.
Способ 1: временные права через sudo
Самый безопасный и рекомендуемый метод — не входить под root постоянно, а выполнять отдельные команды с приставкой sudo. Система запросит пароль вашей учётной записи (не root) и выполнит команду с повышенными привилегиями:
sudo apt update
sudo nano /etc/fstab
Если нужно выполнить много команд подряд, удобно открыть полноценную сессию суперпользователя:
sudo -i
После этого приглашение командной строки сменится на # — это признак того, что вы работаете от имени root. Выйти из сессии можно командой exit.
Обратите внимание: sudo доступен только пользователям, входящим в группу sudo (в Ubuntu) или wheel (в Fedora, CentOS). Проверить членство можно командой groups.
Способ 2: вход через команду su
Команда su (substitute user) переключает текущую сессию на другого пользователя. Без аргументов она переключает на root:
su -
Дефис важен: он загружает полное окружение суперпользователя, включая правильные пути и домашний каталог /root. Без дефиса вы получите права root, но сохраните переменные окружения своего пользователя, что иногда приводит к ошибкам в работе программ.
Для успешного входа через su необходимо знать пароль учётной записи root. Если система отвечает Authentication failure при верном, как вам кажется, пароле — вероятные причины две:
- 🔒 У root не установлен пароль (типично для Ubuntu) — аккаунт заблокирован
- ⌨️ Раскладка клавиатуры при вводе пароля отличается от ожидаемой — пароль при вводе не отображается, это нормально
- 👤 Ваш пользователь не входит в группу, которой разрешён
su(например, wheel в некоторых системах)
⚠️ Внимание: пароль при вводе в терминале Linux не отображается вообще — ни звёздочками, ни точками. Это не зависание: просто вводите пароль вслепую и нажимайте Enter.
Способ 3: включение root-аккаунта в Ubuntu
Если вам принципиально нужен классический вход под root в Ubuntu, аккаунт можно разблокировать, задав ему пароль. Это делается одной командой от пользователя с правами sudo:
sudo passwd root
Система дважды запросит новый пароль. После этого вход через su - заработает. Чтобы снова заблокировать аккаунт, используйте sudo passwd -l root.
☑️ Включение root в Ubuntu
Учтите, что включение root не разблокирует автоматически вход под ним в графический интерфейс — экран входа GDM в Ubuntu по умолчанию не показывает root в списке пользователей, и для отображения требуется правка конфигурационных файлов, что создаёт дополнительные риски.
Способ 4: вход под root в графическом окружении и по SSH
Вход в графическую сессию под root — отдельный случай. Большинство современных дистрибутивов и дисплейных менеджеров (GDM, SDDM, LightDM) блокируют такую возможность настройками по умолчанию, и обход этих ограничений зависит от конкретной версии окружения. Универсальной инструкции здесь нет — сверяйтесь с документацией вашего дистрибутива.
Что касается удалённого доступа, то вход под root по SSH в большинстве серверных систем запрещён директивой PermitRootLogin в файле /etc/ssh/sshd_config. Это осознанная мера безопасности: root — первое имя, которое перебирают боты при подборе паролей. Стандартная практика — входить под обычным пользователем и повышать права через sudo.
⚠️ Внимание: включать вход root по SSH с паролем на сервере, доступном из интернета, крайне рискованно. Если такой доступ необходим, используйте как минимум аутентификацию по ключам и нестандартные меры защиты.
Сравнение способов входа под root
Выбор метода зависит от задачи и дистрибутива. Сводная таблица поможет сориентироваться:
| Способ | Команда | Чей пароль | Где работает из коробки |
|---|---|---|---|
| Одна команда с правами | sudo команда | Ваш пользовательский | Ubuntu, Fedora и большинство дистрибутивов |
| Сессия root через sudo | sudo -i | Ваш пользовательский | Там же, где настроен sudo |
| Переключение на root | su - | Пароль root | Debian, Fedora (если пароль задан при установке) |
| Root в Ubuntu | sudo passwd root, затем su - | Сначала ваш, затем root | Требует ручной разблокировки |
| Root по SSH | зависит от sshd_config | Пароль или ключ root | Обычно запрещён по умолчанию |
Почему sudo считается безопаснее su
При sudo каждое действие выполняется от имени конкретного пользователя и логируется — всегда видно, кто и что запускал. При su несколько администраторов делят один пароль root, и установить автора команды сложнее. Кроме того, sudo позволяет гибко ограничивать список разрешённых команд через файл /etc/sudoers.
Что делать, если пароль root утерян
Если пароль суперпользователя забыт, а права sudo у вашей учётной записи отсутствуют, остаются аварийные варианты. Точная процедура зависит от загрузчика и дистрибутива, поэтому ниже — только общий принцип, детали ищите в документации вашей системы.
Один из распространённых подходов — загрузка в однопользовательском режиме или с параметром ядра init=/bin/bash, редактируемым в меню GRUB. После загрузки с правами root можно сбросить пароль командой passwd. Учтите возможные нюансы:
- 💾 Корневая файловая система может быть смонтирована только для чтения — потребуется перемонтирование
- 🔐 При шифровании диска (LUKS) метод не сработает без ключа расшифровки
- 🛡️ При включённом Secure Boot или пароле на GRUB редактирование параметров ядра может быть заблокировано
⚠️ Внимание: любые манипуляции с параметрами загрузки и сбросом паролей выполняйте только на собственном оборудовании или с разрешения владельца системы. Перед изменениями убедитесь, что у вас есть резервные копии важных данных.
Меры предосторожности при работе под root
Получив права суперпользователя, легко одной командой повредить систему: опечатка в пути при удалении файлов или неправильные права на системные каталоги могут сделать ОС незагружаемой. Самая частая причина фатальных поломок — команда rm с неправильно указанным путём, выполненная от root.
Придерживайтесь нескольких правил: работайте под root только на время выполнения конкретной задачи, выходите из сессии командой exit сразу после завершения, дважды проверяйте команды с rm, dd и chmod перед нажатием Enter. Для экспериментов лучше использовать виртуальную машину, где ошибка не затронет основную систему.
Частые вопросы
Почему su пишет Authentication failure, хотя пароль верный?
Скорее всего, вы вводите пароль своего пользователя, а нужен пароль root — это разные пароли. В Ubuntu пароль root по умолчанию не задан вовсе, и вход через su невозможен, пока вы не выполните sudo passwd root.
Чем sudo -i отличается от su -?
Обе команды открывают сессию root с полным окружением. Разница в аутентификации: sudo -i запрашивает пароль вашего пользователя и проверяет права через sudo, а su - требует пароль самого root.
Можно ли войти под root без пароля?
Если у вашего пользователя есть права sudo — да: sudo -i потребует только ваш пароль. Вход без какого-либо пароля возможен только через аварийные режимы загрузки и только при физическом доступе к машине.
Опасно ли постоянно работать под root?
Да. Любая запущенная программа получает полный доступ к системе, включая вредоносный код и скрипты из интернета. Кроме того, возрастает цена случайной опечатки в команде. Рекомендуемый режим — обычный пользователь плюс sudo по необходимости.
Как понять, что я сейчас работаю под root?
Выполните команду whoami — она выведет текущее имя пользователя. Дополнительный признак — символ # в конце приглашения командной строки вместо $.