User is not in the sudoers file или sudo в Debian

 

User is not in the sudoers file или sudo в Debian

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

В чем суть

Итак, пользователям Ubuntu хорошо известна такая утилита как sudo, без которой вы не сможете ни установить, ни удалить программу, ни внести какие нибудь весомые изменения в работу системы. В Debian же, пользователи вместо sudo, в основном пользуются учётной записью root. Стоит только посмотреть на инструкции или HOWTO для Debian в интернете — всегда строка начинается сразу из aptitude, что подразумевает то, что  команду нужно выполнять из-под root. Но как по мне — это не есть совсем правильно, плюс годы использования Ubuntu тоже оставляют свой след. К тому же, до сих пор помню свою первую установку Debian, когда после установки KDE из под рута, в обычном сеансе пользователя у меня не работала звуковая подсистема. Сколько тогда для неопытного было мучений!

Исправляем «User is not in the sudoers file» (способ №1)

Для начала, если 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 — ошибка «User is not in the sudoers file» тревожить нас больше не будет. Но так как, по моему мнению, всегда нужно стремится к универсальности, я поступил по другому.

Исправляем «User is not in the sudoers file» (способ №2)

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

%sudo ALL=(ALL) ALL

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

adduser username sudo

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

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

На этом все. Если кому поможет буду рад.

 

Оставить комментарий

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

 

 

 
Top