#Что означает ошибка
not in the sudoers file
В Debian при установке без выбора пароля root пользователь автоматически получает sudo, а если root задан, то обычный пользователь в группу sudo не попадает. Сообщение означает, что в /etc/sudoers и /etc/sudoers.d/ нет вашей записи и вы не состоите в группе sudo. Повторная попытка ничего не даст: нужно один раз получить права root другим способом.
#Причины и решения
| Возможная причина | Как узнать | Что делать |
|---|---|---|
Нет в группе sudoПользователь не добавлен в группу sudo. | groups не содержит sudo. | usermod -aG sudo user от root. |
| Не установлен sudoВ минимальной установке Debian пакета sudo нет. | sudo: command not found. | apt install sudo от root. |
| Старая сессияГруппа добавлена, но сессия не перезапущена. | id в старой сессии без sudo. | Выйдите и войдите снова. |
| Ошибка в sudoersФайл sudoers повреждён или содержит ошибки. | sudo пишет об ошибке синтаксиса. | Исправьте через visudo. |
#Пошаговое решение
- Получите права rootВыполните
su -и введите пароль root (если пароль root не задан, загрузитесь в режиме восстановления:Shiftпри загрузке → «Advanced options» → «recovery mode» → «root shell»). - Установите sudoЕсли вы уже вошли как root или действующий администратор, сначала проверьте наличие команды
command -v sudo. Если её нет, в Debian с настроенными официальными репозиториями root может выполнитьapt update, затемapt install sudo; изучите список пакетов и дождитесь завершения. Установка сама по себе не предоставляет пользователю административные права. Если пароль root неизвестен и другого администратора нет, обратитесь к владельцу системы: не пытайтесь обойти ограничения учётной записи или выполнять команды через уязвимости. - Добавьте пользователя в группуДля настройки sudo нужен уже имеющийся доступ root или уполномоченного администратора. Не пытайтесь повысить права в обход ограничений. Из root-терминала Debian/Ubuntu сначала убедитесь, что установлен пакет sudo (
apt install sudoпри рабочей сети), затем добавьте только нужного пользователя в группуsudoкомандойusermod -aG sudo ИМЯ, подставив реальное имя изid. После нового входа проверьтеsudo -v. В Fedora/Arch типичная группа — wheel, а её политика должна быть разрешена в sudoers. - Проверьте группыПосле того как администратор добавил учётную запись в разрешённую группу
sudo, полностью завершите пользовательский сеанс. В графической Debian это меню пользователя → «Выйти»; на сервере закройте SSH-соединение командойexitи подключитесь снова. Выполнитеid -nG: группаsudoдолжна появиться в новом сеансе (если администратор назначил доступ через эту группу). Только затем пробуйтеsudo -v. Если группа отсутствует, попросите администратора проверить команду назначения и политику/etc/sudoers; перезагрузка всего сервера обычно не требуется. - ПерезайдитеВ терминале выполните
idиgroups, затем сравните список с нужной группой (sudoв Debian/Ubuntu илиwheelв Fedora/Arch, если её разрешили в sudoers). Членство в группе после добавления применяется при новом входе в сеанс: полностью выйдите и войдите обратно, проверьтеidещё раз. Не изменяйте/etc/sudoersобычным редактором; используйтеvisudoиз учётной записи администратора. - Проверьте работуВыйдите из текущей консоли, войдите заново под тем пользователем, которому администратор предоставил права, и выполните
id -nG— в выводе для Debian должна появиться группаsudo, если используется групповой доступ. Затем проверьтеsudo -v: при корректной настройке команда запросит пароль вашей учётной записи и завершится без ошибки. Если снова написаноnot in the sudoers file, не меняйте файл sudoers из непривилегированного сеанса: попросите администратора проверить группы или правила черезvisudo. - Проверьте sudoersТолько администратор должен открывать конфигурацию sudo. Используйте
visudo -cдля проверки синтаксиса, затемsudo visudo, если требуется разрешённое исправление; visudo блокирует одновременные изменения и проверяет формат. Не выдавайте всем пользователямNOPASSWD: ALLкак универсальное решение. Сохраните рабочую root-сессию до проверки нового правила. - Дополнительная команда по темеLinux · Терминал (Bash)КомандаНужен sudoИз блока исключено буквальное имя-заглушка и массовое выполнение действий; назначение прав доступно администратору по статье.
id -nGgetent group sudovisudo -c
Если вы забыли и пароль root, воспользуйтесь режимом восстановления (GRUB): отредактируйте строку загрузки, добавив init=/bin/bash, перемонтируйте корень mount -o remount,rw / и сбросьте пароль passwd. Не оставляйте систему с паролем root «123»: после настройки sudo заблокируйте вход root по SSH. Подробности — .