Зачастую при использовании команды sudo можно столкнуться с ошибкой «[имя_пользователя] is not in the sudoers file. This insident will be reported». Выполнить команду при этом не получается. В этой статье поговорим о причине ошибки и о методах её устранения.
Из текста ошибки можно понять, что пользователь не входит в файл sudoers. Именно включенные в этот файл пользователи могут использовать команду sudo. Как правило, создаваемые при установке операционной системы пользователи в этот файл включены. А вот создаваемые потом пользователи не попадают в файл sudoers автоматически.
Решение проблемы видится простым — добавить пользователя в файл sudoers. Можно добавить туда и группу пользователей.
Обратите внимание на пример файла sudoers на скриншоте ниже. Красным выделены учетная запись и группа, которые могут использовать sudo. Как видите, в данном случае её могут использовать пользователь root и пользователи, входящие в группу sudo.
Полный путь к файлу это /etc/sudoers. В принципе, достаточно просто открыть файл от пользователя с правами администратора и откорректировать (если Вы не знаете пароль суперпользователя root, его можно сбросить по рекомендациям из следующей статьи). Но я рекомендую команду visudo, так как она дополнительно проверяет синтаксис файла /etc/sudoers при сохранении. Вариантов несколько:
1. Добавить пользователя
Просто добавьте строку вида
[имя_пользователя] ALL=(ALL:ALL) ALL
2. Добавить группу, в которую входит пользователь
%[имя_группы] ALL=(ALL:ALL) ALL
Однако, возможно, Вы не хотите давать доступ к sudo всем членам этой группы. Тогда этот способ Вам не подойдёт.
3. Добавить пользователя в группу, которой разрешен доступ к sudo
Для этого достаточно отредактировать файл /etc/group. Делать это тоже нужно из-под учетки с правами администратора. Найдите нужную группу в файле /etc/group и впишите в неё имя пользователя.
На скриншоте ниже мы видим, что группа sudo пуста.
Впишите имя пользователя после двоеточия и сохраните файл. Если в группе уже есть пользователь или пользователи, новых нужно добавлять через запятую без пробелов.
Другой способ добавления пользователя в группу — команда usermod. Подробнее о группах пользователей в Linux можно прочитать в статье по этой ссылке.
Если выбрать последний из трёх способов, то потребуется перезагрузка.
После вышеописанных действий ошибка user is not in the sudoers file появляться не будет.
Статьи по теме: