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.
На этом все. Если кому поможет буду рад.
bash: visudo: command not found
Дак мля.. ROOT учетка забанена какого то. А на админ юзвере вот эта хрень. И как быть тогда?
Ваши дистрибутивы оченб хорошие
Поддерживаю!