Битлента
Словарь терминов3 мин чтения·

sudo: как работают права администратора в Linux

sudo выполняет команду от имени другого пользователя, чаще всего root. Как устроен механизм, файл sudoers и как не навредить системе.

Зачем нужен sudo

В Linux у обычного пользователя ограниченные права, а полный контроль над системой имеет суперпользователь root. Работать под ним постоянно опасно: любая опечатка или вредоносная команда получает неограниченные возможности. Поэтому в большинстве дистрибутивов вход под root отключён или не рекомендуется, а нужные действия выполняют через sudo.

Слово означает «выполнить от имени» (superuser do). Команда, введённая после sudo, запускается с правами root или другого указанного пользователя, а остальное время вы работаете в обычном режиме.

Дополнительное преимущество: в журнале остаётся след о выполненных действиях с привязкой к конкретному пользователю. Работа под общей учётной записью root такой ответственности не обеспечивает, и разобраться в инциденте потом намного труднее.

Как это устроено

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

Правила хранятся в файле sudoers. Его редактируют только специальной командой visudo: она проверяет синтаксис перед сохранением, ведь ошибка в файле может лишить всех прав на администрирование.

Файл sudoers допускает включать дополнительные файлы из отдельной папки, что удобно для автоматизации: каждый администратор или программа добавляет свои правила отдельным файлом, не трогая основной. Права на такие файлы задаются строго, иначе sudo откажется их читать.

Кто получает такое право

В Debian-подобных системах разрешение обычно даётся членам группы sudo, в семействе Red Hat — группы wheel. Право можно ограничить одной командой или набором команд, например разрешить перезапуск конкретной службы без общих прав. Так реализуется принцип наименьших привилегий: каждому только то, что ему нужно.

Отдельный режим — sudo -i или sudo su, открывающий оболочку root; им пользуются реже и осторожнее, ведь всё введённое далее выполняется с полными правами.

🛡️ Остались проблемы с соединением?
Можно пользоваться постоянно: российские приложения работают, включать и выключать ничего не нужно. Без карты и регистрации, настройка за пару минут.
Попробовать бесплатно

Где встречается на практике: sudo

Установка и удаление программ, редактирование системных настроек, управление службами, монтирование дисков, просмотр защищённых журналов — во всём этом нужен sudo. В инструкциях он стоит перед командами, которые меняют систему. Перед запуском чужого скрипта с sudo стоит прочитать его: он получит права над всем компьютером.

В контейнерах и облачных образах пользователь по умолчанию может быть root, и там sudo не нужен, но это не делает работу безопаснее.

Желательно также ограничивать срок действия подтверждения пароля и отключать пароль только для проверенных сценариев автоматизации: постоянный доступ без пароля повышает риск, если учётная запись будет взломана.

Заблуждения: sudo

«sudo — это взлом системы». Нет, это штатный механизм, а права выдаёт администратор. «Sudo защищает пароль root». В большинстве систем root-пароль вообще не задан. «Добавление sudo к команде поможет, если не работает». Часто причина ошибки не в правах, а в неверном пути или отсутствии программы, а лишний sudo создаёт файлы, принадлежащие root, и потом мешает обычной работе.

Осторожность нужна с командами удаления: sudo rm с ошибкой в пути способна стереть системные файлы без всякой защиты.

Если нужно отредактировать системный файл, используйте sudo вместе с текстовым редактором либо специальную команду sudoedit: она открывает временную копию с правами пользователя и только затем записывает изменения.

Как проверить свои права

Выполните sudo -l: он выведет, какие команды вам разрешены. Команда id покажет ваши группы, включая sudo или wheel. Чтобы увидеть журнал использования, откройте системный журнал аутентификации, например через journalctl с фильтром по sudo либо файл auth.log в системах, где он есть. Для тренировки запускайте безопасные команды вроде sudo whoami — она должна вернуть root.

Если команда отвечает, что вас нет в файле sudoers, значит, права не выданы и попытка будет записана в журнал. Обратитесь к администратору системы или, на собственном компьютере, добавьте пользователя в нужную группу.

🛡️ Остались проблемы с соединением?
Можно пользоваться постоянно: российские приложения работают, включать и выключать ничего не нужно. Без карты и регистрации, настройка за пару минут.
Попробовать бесплатно
linuxsudoправа

Часто задаваемые вопросы

Читайте также