Исправляем: User is not in the sudoers file

Сколько раз устанавливал Debian, столько раз сталкивался с одним и тем же — настройкой прав пользователя для использования sudo. Каждый раз забывал и приходилось лезть в интернет, и искать решение. Теперь сам пишу, чтобы не искать следующий раз и вам, возможно, пригодится.
Для начала, если sudo у вас не установлен, такое может быть, например, если вы устанавливали лишь базовую систему без графической оболочки — устанавливаемые его.

aptitude install sudo

Как можно догадаться, это делается из под рута. В других случаях sudo должен установиться с системой. Но на этом ещё не конец. Хоть sudo уже установлен, при попытке что нибудь сделать с его использованием, например, проверить обновления, терминал выдаст сообщение что user is not in the sudoers file. Чтобы исправить это, существует несколько вариантов действий.

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

visudo

 

В открывшимся файле нужно найти строчку:

root ALL=(ALL) ALL

 

И под ней необходимо добавить такую же, только вместо root пишем свое имя пользователя (username замените на свое):

username ALL=(ALL) ALL

 

После этого сохранением файл, выходим из visudo, перелогиниваемся и можем пользоваться sudo. Но так как, по моему мнению, всегда нужно стремится к универсальности, я поступил по другому.

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

%sudo ALL=(ALL) ALL

 

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

adduser username sudo

 

Где username — логин пользователя. Затем перелогин и можно работать.

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.