Ошибка 'User is not in the sudoers file': как добавить пользователя в группу sudo
Почему возникает ошибка «user is not in the sudoers file. This incident will be reported»
Вы создали нового пользователя в Linux (например, для нового сотрудника или разработчика), он подключается по SSH, пытается выполнить системную команду администрирования sudo apt update, но операционная система наотрез отказывается выполнять команду и пишет грозное предупреждение: «username is not in the sudoers file. This incident will be reported (Пользователь отсутствует в файле sudoers. Об этом инциденте будет сообщено)».
Архитектура прав суперпользователя в Linux
Утилита sudo (SuperUser DO) позволяет обычным непривилегированным пользователям временно повышать свои привилегии до уровня администратора root для выполнения конкретных задач. По соображениям безопасности только члены специальной системной группы sudo (или группы wheel в дистрибутивах CentOS/RHEL) имеют право использовать эту команду.
Пошаговое исправление ошибки и выдача прав sudo
Для выполнения этой инструкции вам потребуется прямой доступ к учетной записи суперпользователя root.
Шаг 1: Переключение на пользователя root
Переключитесь под суперпользователя root (введите пароль root):
su -Шаг 2: Добавление пользователя в группу sudo
Выполните команду добавления вашего пользователя (замените alex на реальное имя учетной записи) в системную группу администраторов:
usermod -aG sudo alex
Для систем CentOS / RedHat / AlmaLinux:
usermod -aG wheel alexРазбор флагов команды:
-a(Append) — обязательно добавить пользователя в группу, не удаляя его из других существующих групп!-G(Group) — указать целевую группу (sudo).
Шаг 3: Проверка членства в группах
Убедитесь, что пользователь действительно включен в группу:
groups alexВ выводе должно присутствовать слово sudo.
Шаг 4: ОБЯЗАТЕЛЬНЫЙ перезаход в систему
Внимание! В Linux состав групп пользователя обновляется только при новом входе в сессию. Пользователь alex должен выполнить exit (выйти из SSH) и подключиться заново. Теперь любая команда с sudo будет работать идеально!
Типовые ошибки администраторов
- Опасная команда usermod -G без флага -a: Если случайно забыть флаг
-aи выполнитьusermod -G sudo alex, Linux удалит пользователя из всех остальных его групп (например, docker, www-data, audio). Всегда пишите связку флагов вместе:-aG! - Прямое редактирование файла /etc/sudoers через nano: Никогда не редактируйте файл sudoers обычным редактором. Если вы допустите хоть одну синтаксическую ошибку, команда sudo сломается ДЛЯ ВСЕХ пользователей на сервере. Всегда используйте специальную безопасную утилиту проверки синтаксиса:
sudo visudo.
Инженеры ITSTM разработают безопасные политики sudoers (разрешение запуска только определенных скриптов без ввода пароля) и настроят аудит действий через auditd.
Частые вопросы (FAQ)
Куда отправляется сообщение 'This incident will be reported'?
В современных системах это историческое сообщение просто записывается в локальный системный журнал безопасности (/var/log/auth.log или journalctl), а также отправляет локальное почтовое уведомление пользователю root, если настроен локальный почтовый демон (mailutils).
Как разрешить пользователю выполнять sudo без постоянного ввода пароля?
Откройте редактор командой 'sudo visudo' и добавьте в конец файла строчку: 'alex ALL=(ALL) NOPASSWD: ALL'.
Что делать, если пароль от пользователя root забыт, а sudo не работает?
Перезагрузите сервер, войдите в меню загрузчика GRUB, перейдите в режим восстановления (Recovery Mode) или передайте ядру параметр 'init=/bin/bash', после чего перемонтируйте диск в режим записи (mount -o remount,rw /) и добавьте пользователя в группу sudo.
Как забрать у пользователя права sudo обратно?
Удалите его из группы администраторов командой: sudo gpasswd -d alex sudo