Команда apt update завершилась ошибкой «Permission denied» или «Are you root?» — значит, текущая сессия работает от обычного пользователя, а для управления системой требуются права суперпользователя. Получение root в Linux — это штатная, предусмотренная системой процедура, но способы отличаются в зависимости от дистрибутива: в Ubuntu учётная запись root по умолчанию заблокирована, а в Debian или Arch она может быть активна с самой установки.
В этом материале разберём рабочие методы: временное повышение привилегий через sudo, переключение в root через su, разблокировку учётной записи и настройку файла sudoers. Отдельно остановимся на рисках — постоянная работа под root остаётся одной из главных причин случайных повреждений системы.
Что такое root и почему его ограничивают
Root — встроенная учётная запись с идентификатором UID 0, которой доступны любые операции: изменение системных файлов, установка пакетов, управление пользователями, монтирование дисков. Ядро Linux не накладывает на этот аккаунт никаких ограничений, поэтому одна ошибочная команда способна удалить всю систему целиком.
Именно поэтому современные дистрибутивы по-разному подходят к доступу. Ubuntu и производные (Linux Mint, Pop!_OS) блокируют пароль root при установке и предлагают работать через sudo. Debian при установке позволяет задать пароль root отдельно. Fedora в свежих версиях по умолчанию делает первого пользователя администратором через sudo.
Способ 1. Временные права через sudo
Самый безопасный и рекомендуемый метод — префикс sudo перед командой. Система запросит пароль вашего пользователя (не root) и выполнит одну команду с повышенными привилегиями. Все действия при этом логируются, что упрощает аудит.
sudo apt update
sudo systemctl restart ssh
Если нужно выполнить серию команд подряд, откройте root-оболочку через sudo -i (имитация полного входа root) или sudo -s (оболочка с вашими переменными окружения). Выйти из такой сессии можно командой exit.
⚠️ Внимание: если sudo отвечает «user is not in the sudoers file», вашей учётной записи не выданы права администратора. Добавить их может только существующий администратор или root — самостоятельно «пробить» доступ штатными средствами нельзя.
Способ 2. Переключение через su
Команда su (switch user) полностью переключает сессию на другого пользователя. Вариант su - загружает окружение root как при обычном входе. В отличие от sudo, здесь запрашивается пароль root, а не ваш собственный.
su -
введите пароль root
Метод работает только если у root задан пароль. В Ubuntu по умолчанию пароля нет, поэтому su вернёт ошибку аутентификации — это не сбой, а штатное поведение заблокированной учётной записи.
- 🔑
sudo— пароль вашего пользователя, логирование команд, гибкая настройка. - 🔄
su -— пароль root, полная смена сессии, минимум контроля. - 🛡️
sudo -i— компромисс: root-оболочка без знания пароля root.
Способ 3. Разблокировка учётной записи root в Ubuntu
Если требуется классический вход под root (например, для консоли восстановления), задайте пароль командой sudo passwd root. Система дважды попросит ввести новый пароль, после чего su - начнёт работать.
sudo passwd root
New password: ...
Retype new password: ...
passwd: password updated successfully
Обратная операция — блокировка — выполняется командой sudo passwd -l root. Учтите, что активный root с слабым паролем — частая цель брутфорс-атак по SSH, поэтому на серверах с открытым 22-м портом разблокировку делать не стоит.
☑️ Безопасная разблокировка root
Настройка прав через sudoers
Файл /etc/sudoers определяет, кто и что может запускать через sudo. Редактировать его нужно только командой visudo — она проверяет синтаксис перед сохранением и не даст заблокировать себе доступ из-за опечатки. Прямое редактирование в nano или vim может привести к полной потере sudo-доступа.
Чтобы выдать пользователю полные права, добавьте его в группу администраторов. Название группы зависит от дистрибутива: в Debian/Ubuntu это sudo, в Fedora/RHEL/Arch — wheel.
usermod -aG sudo username # Debian, Ubuntu
usermod -aG wheel username # Fedora, RHEL, Arch
После добавления в группу нужно завершить сеанс и войти снова — членство в группах применяется при новом логине. Проверить результат можно командой id username или попыткой выполнить sudo -v.
Сравнение способов получения root
| Способ | Чей пароль | Длительность | Когда использовать |
|---|---|---|---|
sudo команда | Ваш | Одна команда | Повседневное администрирование |
sudo -i | Ваш | Сессия оболочки | Серия команд подряд |
su - | Root | Сессия оболочки | Дистрибутивы с активным root |
| Разблокировка root | Root | Постоянно | Консоль восстановления, особые сценарии |
Типичные ошибки и риски
Главная опасность — привычка постоянно работать под root «чтобы не мешало». В такой сессии любая опечатка вроде пробела в rm -rf / tmp выполняется без единого предупреждения. Второй риск — запуск графических приложений и скриптов из интернета с sudo без проверки содержимого.
⚠️ Внимание: командаrm -rf /илиrm -rf /, выполненная от root, безвозвратно удаляет систему. Современные версии coreutils защищают корень флагом--preserve-root, но вариант с/или--no-preserve-rootэту защиту обходит. Перед любым удалением от root трижды проверяйте путь.
- 🚫 Не запускайте браузер, мессенджеры и файловый менеджер от root.
- 📜 Не выполняйте
curl ... | sudo bashбез чтения скрипта. - 🔐 Не разрешайте SSH-вход root по паролю на публичных серверах.
- 💾 Перед правкой
sudoersдержите открытую root-сессию как запасной вариант.
Что делать, если sudo сломан из-за ошибки в sudoers
Перезагрузитесь в режим восстановления (recovery mode) через меню загрузчика, либо загрузитесь с LiveUSB, примонтируйте корневой раздел и исправьте файл /etc/sudoers вручную. Если есть активный пароль root — достаточно войти через su и запустить visudo повторно.
Частые вопросы
Почему su пишет «Authentication failure», хотя пароль верный?
Вероятная причина — вы вводите пароль root, который не задан (типично для Ubuntu). Используйте sudo -i вместо su либо задайте пароль root командой sudo passwd root.
Как проверить, есть ли у меня права sudo?
Выполните sudo -v — если система запросила пароль и приняла его, права есть. Также посмотрите членство в группах командой groups: наличие sudo или wheel указывает на административные права.
Опасно ли постоянно работать под root?
Да. Под root любая программа получает полный контроль над системой, а ошибки в командах необратимы. Безопасная практика — обычный пользователь плюс sudo для отдельных административных задач.
Как забрать права root у пользователя обратно?
Удалите его из административной группы: gpasswd -d username sudo (или wheel). Если для пользователя создавались отдельные строки в sudoers, уберите их через visudo.
Чем sudo -i отличается от sudo -s?
sudo -i имитирует полноценный вход root: загружаются его переменные окружения и домашний каталог /root. sudo -s открывает оболочку с сохранением части вашего окружения. Для администрирования предпочтительнее sudo -i.