Ошибка user is not in the sudoers file в Ubuntu

Если вы создали нового пользователя в Ubuntu, и пытаетесь от его имени использовать систему, то при попытке выполнения команды sudo можете столкнуться с ошибкой: «user is not in the sudoers file this insident will be reported».

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

Почему возникает ошибка user is not in the sudoers file?

Команда sudo позволяет обычным пользователям выполнять программы от имени суперпользователя со всеми его правами. Использовать команду sudo могут далеко не все пользователи, а только те, которые указаны в файле /etc/sudoers. Это сообщение об ошибке говорит буквально следующее — вашего пользователя нет в файле sudoers, а значит доступ ему к утилите будет запрещен, а об этом инциденте будет сообщено администратору.

Все неудачные попытки использовать sudo, независимо от того, был ли введен неверный пароль или у пользователя нет прав, действительно записываются в каталоге /var/log, так что вы можете посмотреть кто и когда пытался войти в систему.

Исправление ошибки с помощью root

Для исправления ситуации достаточно добавить пользователя sudoers. Но для этого нужно иметь другого пользователя, который может использовать sudo. Если такой пользователь есть, задача становиться довольно простой. Но если кроме текущего пользователя в системе нет больше никого, проблема тоже вполне решаема.

Начнем с более простого варианта, на тот случай, если у вас все-таки есть доступ к системе от имени пользователя root. Войдите от имени пользователя, у которого есть права, например, можно нажать Ctrl+Alt+T и написать его логин и пароль.

В большинстве случаев в файле sudoers настроено так, что утилиту могут использовать все пользователи из группы wheel. Поэтому достаточно добавить нашего пользователя в эту группу. Для этого используйте команду usermod.

usermod -a -G wheel имя_пользователя

Вы также можете добавить нужную настройку для самого пользователя в файл sudoers, для этого добавьте в конец файла такую строку:

имя_пользователя ALL = (ALL) ALL

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

%wheel ALL = (ALL) ALL

Возможно, ее будет достаточно расскоментировать, убрать решетку, которая расположена перед ней. После этого ошибка user is not in the sudoers file исчезнет и вы сможете использовать sudo. Более подробно про это все вы можете прочитать в статье настройка sudo.

Исправление ошибки с помощью режима восстановления

Если на вашем компьютере нет другого пользователя, от имени которого вы могли бы получить доступ к sudo, осталась возможность использовать режим восстановления. Для этого перезагрузите компьютер и в меню Grub нажмите E.

Откроется редактор меню загрузки. В нем найдите строку:

linux vmlinuz...

И в конец добавьте init=/bin/bash. Должно получиться вот так:

linux vmlinuz... init=/bin/bash

Дальше вы загрузитесь в оболочку /bin/bash с правами суперпользователя и от туда уже сможете выполнить все выше приведенные команды, например, добавить пользователя sudoers, добавлением его в группу wheel:

usermod -a -G wheel имя_пользователя

После выполнения команды можно перезагрузить компьютер с помощью команды reboot. Следующая загрузка пройдет в нормальном режиме и вы сможете использовать sudo.

Источник

Понравилась статья? Поделиться с друзьями: