Битлента
Windows, macOS, Android, iOS6 мин чтения·

«Is not in the sudoers file»: как выдать пользователю права sudo в Ubuntu и Debian

Что означает сообщение «is not in the sudoers file», как добавить пользователя в группу sudo, безопасно править sudoers через visudo и что делать без доступа.

Кратко

Сообщение значит, что у учётной записи нет права запускать команды через sudo. На Ubuntu и Debian оно выдаётся членством в группе sudo; добавить его можно из другой учётной записи с правами или из root. Файл sudoers правят только через visudo.

Что означает сообщение и почему оно появляется

При попытке выполнить команду через sudo вы можете увидеть фразу «имя is not in the sudoers file. This incident will be reported». Вторая часть пугает, но на домашнем компьютере речь, как правило, идёт о записи в системный журнал; в некоторых версиях sudo эта фраза не выводится. Смысл сообщения такой: политика sudo не нашла вашу учётную запись среди тех, кому разрешено повышать права.

Правила sudo описаны в файле /etc/sudoers и в дополнительных файлах каталога /etc/sudoers.d. В Ubuntu и Debian в основной файл входит правило для группы sudo, поэтому достаточно состоять в этой группе. В других семействах дистрибутивов для той же цели используется группа wheel, так что на чужих инструкциях стоит учитывать различия.

Чаще всего причина в одном из трёх: учётную запись создали отдельно от установщика и не включили в группу; при установке Debian пароль для root был задан, и первый пользователь не получил sudo; членство добавили, но не перезашли в систему. Первое и второе лечится добавлением в группу, третье — новым входом.

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

Способ 1: добавить пользователя в группу sudo

Это основной и понятный путь. Нужен доступ к другой учётной записи с правами администратора либо к root.

  1. Войдите под учётной записью, у которой sudo уже работает, либо переключитесь на root командой su - (потребуется пароль root, если он задан).
  2. Выполните usermod -aG sudo имя либо adduser имя sudo (от root; из другой учётной записи добавьте sudo в начало команды). Подставьте имя той учётной записи, которой нужны права.
  3. Проверьте членство: getent group sudo — имя должно быть в списке.
  4. Попросите пользователя завершить сеанс и зайти заново либо перезагрузите компьютер.
  5. Проверьте работу командой sudo -l: она выведет, что разрешено этому пользователю. Если команда запрашивает пароль и отвечает списком, всё настроено.

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

Если пользователей несколько и возник вопрос, как отличаются группы и права, подробности вынесены на страницу про пользователей и группы. Там же объяснён ключ -a, пропуск которого приводит к потере уже имеющихся групп.

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

Способ 2: правка sudoers только через visudo

Иногда нужна тонкая настройка: разрешить конкретному пользователю отдельные команды либо изменить поведение sudo. Для этого правят sudoers, но не обычным текстовым редактором напрямую. Правильная команда — sudo visudo. Она открывает файл в редакторе, блокирует одновременную правку и проверяет синтаксис перед сохранением. Ошибка в sudoers может лишить всех пользователей возможности применять sudo.

Предпочтительнее создавать отдельный файл в каталоге /etc/sudoers.d: командой sudo visudo -f /etc/sudoers.d/имя-файла. Так основной файл остаётся нетронутым, а обновления системы не затирают ваши правила. Файлы с точкой в имени или с тильдой на конце sudo пропускает, что полезно помнить при отладке.

Проверить синтаксис всех файлов можно командой sudo visudo -c. Вывод покажет, что синтаксис разобран без ошибок, либо укажет файл и строку с проблемой.

Чем шире выданные права, тем выше риск. Правило, разрешающее все команды без пароля, удобно, но оно упрощает работу и вредоносной программе, и случайной опечатке. Для домашнего компьютера обычно достаточно членства в группе sudo без дополнительных правил.

Если доступа нет ни у одной учётной записи

Неприятная ситуация: у учётной записи нет прав, а пароль root не задан или неизвестен. Обычные способы тут не помогут, но при физическом доступе к компьютеру остаётся восстановление через загрузчик.

Общая схема для восстановления выглядит так, хотя детали зависят от версии дистрибутива и от того, зашифрован ли диск:

  • перезагрузитесь и откройте меню загрузчика GRUB;
  • выберите режим восстановления (recovery mode) либо отредактируйте параметры загрузки по инструкции вашего дистрибутива;
  • в корневой консоли смонтируйте корневой раздел с правом записи;
  • выполните usermod -aG sudo имя и перезагрузитесь.

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

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

Что ещё проверить, если sudo всё равно не работает

Если после добавления в группу сообщение осталось, пройдите проверочный список. Часто причина не в sudoers, а в соседних мелочах.

СимптомЧто проверить
та же ошибка после добавления в группувыйти и войти снова, затем id и groups
пароль не принимаетсяраскладка клавиатуры и Caps Lock; ввод пароля в терминале не отображается
ошибка синтаксиса в sudoerssudo visudo -c, исправить указанную строку
sudo: command not foundпакет sudo не установлен; ставится из root через apt install sudo
правило не срабатываетпорядок строк: последнее подходящее правило в файле имеет приоритет

Отдельно отметим учётные записи в доменной или рабочей среде: там права могут выдаваться централизованно, и самостоятельные правки не помогут. В таком случае обратитесь к администратору. Общий смысл sudo и его отличие от входа под root кратко объяснён в словаре.

Если вы настраиваете компьютер для семьи, разумно разделить роли: администратор с правом sudo существует один или два, а остальные работают под обычными учётными записями без повышенных прав. Так случайная команда или вредоносная программа получит меньше возможностей. Права администратора выдавайте тем, кому они действительно нужны для установки программ и обслуживания, и проверяйте список через getent group sudo время от времени.

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

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

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