Сразу после установки Debian многие новички пытаются выполнить команду с sudo и получают пугающую ошибку: "username is not in the sudoers file. This incident will be reported". Это не баг системы, а стандартный механизм безопасности. В этой статье мы подробно разберём, что такое sudoers, как правильно добавить пользователя в группу sudo и как исправить самые частые ошибки, возникающие у начинающих.
💡 Если вы вводите пароль и видите «is not in the sudoers file» — это руководство для вас. Мы настроим права администратора так, чтобы вы могли спокойно выполнять команды с привилегиями root.
В этом руководстве вы узнаете:
- Как переключиться на root, если
sudoне работает - Как установить пакет
sudoв Debian - Как создать нового пользователя и добавить его в группу
sudo - Как проверить права доступа
- Как исправить 6 самых частых ошибок новичков
Для кого: новички в Linux (первые шаги с sudo), сисадмины (быстрая настройка прав), владельцы VPS (безопасное администрирование), пользователи Debian 11, 12 и 13.
1. 🔐 Что такое sudo и sudoers простыми словами
sudo (superuser do) — это программа, позволяющая обычному пользователю выполнять команды с правами суперпользователя (root). Это безопаснее, чем работать напрямую от root, потому что:
- Вы случайно не повредите систему
- Все действия с
sudoлогируются - Не нужно никому передавать пароль root
Файл sudoers (/etc/sudoers) — это главный конфигурационный файл, в котором прописано, кто и какие команды может выполнять с sudo. В Debian, как и в большинстве дистрибутивов на основе Debian, все пользователи из группы sudo автоматически получают полные права на выполнение любых команд с sudo.
💡 Вывод для новичка: Чтобы получить права администратора, нужно просто добавить вашего пользователя в группу sudo. Править сам файл /etc/sudoers обычному пользователю не нужно.
2. 🛠️ Пошаговая инструкция: добавление пользователя в sudoers
Мы пройдём все шаги от начала до конца. Вы можете выполнять их как для существующего пользователя (который выдал ошибку), так и для нового.
2.1 Переключение на пользователя root
Если ваш обычный пользователь не может использовать sudo, нужно временно стать суперпользователем. Это делается командой su - (switch user).
Команда:
su -
Что делает эта команда:
| Часть команды | Объяснение |
|---|---|
su | Switch user — переключить пользователя |
- | Создать «логин-шелл» (полное окружение root, как при входе в систему) |
Система попросит ввести пароль root. Это тот пароль, который вы задавали для суперпользователя при установке Debian.
✅ Признак успеха: Приглашение в терминале изменится с user@hostname:~$ на root@hostname:~#. Символ # означает, что вы работаете от root.
2.2 Установка пакета sudo (если отсутствует)
В минимальных или серверных установках Debian пакет sudo может отсутствовать.
Команды:
apt update
apt install sudo -y
Что делает эта команда:
| Команда | Объяснение |
|---|---|
apt update | Обновляет список доступных пакетов из репозиториев |
apt install sudo -y | Устанавливает пакет sudo, -y автоматически отвечает «yes» на вопрос |
Проверка установки:
sudo --version
✅ Ожидаемый вывод: Версия Sudo (например, Sudo version 1.9.13p3).
2.3 Создание нового пользователя (опционально)
Если вы хотите создать отдельного пользователя для административных задач (вместо того, чтобы давать права существующему), используйте команду adduser.
Команда:
adduser <имя_пользователя>
Пример с пользователем «admin»:
adduser admin
Что делает эта команда:
| Действие | Описание |
|---|---|
| Запрос пароля | Придумайте и дважды введите надёжный пароль |
| Запрос информации о пользователе | Можно просто нажимать Enter, пропуская поля |
✅ Признак успеха: Сообщение Successfully added user ... и созданная домашняя директория /home/username/.
2.4 Добавление пользователя в группу sudo
Это главный шаг. Именно он даёт права на выполнение команд с sudo.
Команда:
usermod -aG sudo <имя_пользователя>
Пример для пользователя «admin»:
usermod -aG sudo admin
Что делает эта команда:
| Часть команды | Объяснение |
|---|---|
usermod | Команда для изменения учётной записи пользователя |
-aG | -a (append) — добавить, а не заменить группы; -G (groups) — указать список групп |
sudo | Имя группы, в которую добавляем пользователя |
Альтернативный способ (если вам так понятнее):
gpasswd -a <имя_пользователя> sudo
2.5 Проверка членства в группе sudo
Убедимся, что пользователь действительно добавлен в нужную группу.
Команда:
id <имя_пользователя>
Пример для пользователя «admin»:
id admin
✅ Ожидаемый вывод:
uid=1001(admin) gid=1001(admin) groups=1001(admin),27(sudo)
Главное — наличие 27(sudo) в строке groups.
2.6 Применение изменений (важно!)
Группа, в которую вы добавили пользователя, не обновляется автоматически в текущей сессии. Нужно либо выйти из системы и зайти снова, либо использовать команду:
Команда для текущей сессии (от пользователя, которому дали права):
newgrp sudo
Или просто закройте и откройте терминал.
Если вы переключались на root (su -), вернитесь к обычному пользователю:
exit
2.7 Финальная проверка: работает ли sudo?
Теперь самое главное — проверить, что всё работает.
Команда:
sudo whoami
Что делает эта команда: whoami выводит имя текущего пользователя. Запущенная через sudo, она должна вернуть root.
Система попросит ввести пароль вашего обычного пользователя (не root).
✅ Ожидаемый вывод:
[sudo] password for admin:
root
Если вы видите root — поздравляю, вы успешно настроили sudo!
3. ❌ Разбор популярных ошибок и их решение
Новички часто сталкиваются с одними и теми же ошибками. Вот 6 самых частых ситуаций и способы их исправить.
3.1 Ошибка: «пользователь is not in the sudoers file»
Текст ошибки:
josh is not in the sudoers file. This incident will be reported.
Причина: Пользователь не добавлен в группу sudo, либо он не перелогинился после добавления.
Решение:
- Переключитесь на root:
su - - Добавьте пользователя в группу:
usermod -aG sudo username - Выйдите из root:
exit - Выйдите из системы и зайдите снова (или закройте/откройте терминал)
- Проверьте:
sudo whoami
3.2 Ошибка: «sudo: command not found»
Текст ошибки:
sudo: command not found
Причина: Пакет sudo не установлен в системе. Часто бывает в минимальных или серверных установках Debian.
Решение:
- Переключитесь на root:
su - - Установите sudo:
apt update && apt install sudo -y - Выйдите из root:
exit - Теперь команда
sudoбудет работать.
3.3 Ошибка: «adduser: command not found»
Текст ошибки:
adduser: command not found
Причина: Пакет adduser не установлен (редко, но бывает в очень минимальных образах) или вы не переключились на root.
Решение:
- Переключитесь на root:
su - - Установите adduser:
apt update && apt install adduser -y - Либо используйте команду
useradd(ноadduserудобнее для новичков).
3.4 Ошибка: sudo работает, но просит пароль каждый раз
Ситуация: Вы ввели пароль 5 секунд назад, а sudo снова его запрашивает.
Причина: По умолчанию sudo запоминает пароль на 15 минут. Если пароль запрашивается каждую команду — возможно, вы используете sudo в скрипте или изменили настройки тайм-аута.
Решение (если хотите увеличить тайм-аут):
- Отредактируйте sudoers специальной командой:
sudo visudo - Добавьте строку (замените
username):Defaults:username timestamp_timeout=30
30— минут;0— запрашивать всегда;-1— запрашивать один раз навсегда
- Сохраните (
Ctrl+X,Y,Enter)
⚠️ Безопасность: Не ставьте -1 на общих компах, системах или ноутбуках — если отойдёте от компьютера, любой сможет выполнять команды от root.
3.5 Ошибка: после добавления в группу sudo права не появляются
Ситуация: Вы выполнили usermod -aG sudo username, проверили id username — группа есть, но sudo whoami всё равно выдаёт ошибку.
Причина: Группа не обновилась в текущей сессии пользователя.
Решение:
Самый надёжный способ — полностью выйти из системы и зайти снова (log out / log in). Если вы в терминале без графики:
# Переключитесь на пользователя заново с логин-шеллом
su - username
# Теперь проверьте
sudo whoami
Или используйте команду newgrp sudo внутри сессии пользователя, но это временное решение.
3.6 Ошибка с CD-ROM при обновлении на виртуальной машине («deb cdrom…»)
Ситуация: Вы выполнили sudo apt update, и в выводе видите ошибки с упоминанием cd-rom.
При этом система установлена на виртуальной машине (VirtualBox, VMware, Proxmox).
Типичный текст ошибки:
E: The repository 'cdrom://[Debian GNU/Linux 13 ...] bookworm Release' does not have a Release file.
W: Failed to fetch cdrom:... Please use apt-cdrom to make this CD-ROM recognized by APT.
Причина: При установке Debian на виртуальную машину вы использовали ISO-образ. Установщик автоматически добавил этот образ в список репозиториев (sources.list). Теперь APT (менеджер пакетов) ищет диск в приводе, но его там нет — отсюда и ошибка.
💡 Суть проблемы: Система думает, что у вас вставлен установочный диск с пакетами, и пытается оттуда обновляться. В виртуальной среде это не нужно — все обновления должны скачиваться из интернета.
Решение (два простых способа):
Способ 1 — закомментировать строку (рекомендуется для новичков)
Откройте файл со списком репозиториев:
sudo nano /etc/apt/sources.list
Найдите строку, которая начинается с deb cdrom: (обычно она самая первая (Примечание: эта строка там может быть одна единственная)). Поставьте символ # в самом начале строки.
Было:
deb cdrom:[Debian GNU/Linux 13 ...]/ bookworm main
Стало:
# deb cdrom:[Debian GNU/Linux 13 ...]/ bookworm main
Сохраните файл: Ctrl+X, затем Y, затем Enter.
Способ 2 — удалить строку через apt (быстро)
sudo apt-add-repository --remove 'deb cdrom:*'
После любого из способов выполните:
sudo apt update
Ошибка должна исчезнуть. Вы увидите сообщение All packages are up to date! (если у вас свежая система) или начнётся нормальное обновление из интернет-репозиториев.
Что важно знать:
| Действие | Почему это важно |
|---|---|
| Не удаляйте другие строки | В sources.list могут быть строки с deb http://deb.debian.org/... — это интернет-репозитории, они нужны для обновлений |
| Если после комментария нет других репозиториев | Вам нужно добавить стандартные репозитории Debian. Вставьте следующие строки в sources.list:deb http://deb.debian.org/debian/ bookworm main contrib non-freedeb http://deb.debian.org/debian/ bookworm-updates main contrib non-freedeb http://security.debian.org/debian-security bookworm-security main contrib non-free |
| Кодовое имя | Для Debian 12 — bookworm, для Debian 13 (testing) — trixie. Используйте то, которое соответствует вашей версии |
Чек-лист: проверка после исправления
- [ ] Закомментирована или удалена строка
deb cdrom:... - [ ] Есть активные строки с
deb http://...(интернет-репозитории) - [ ] Команда
sudo apt updateзавершается без ошибок - [ ] Появилось сообщение
All packages are up to date!или список обновлений
Почему это особенно актуально для виртуальных машин:
| Фактор | Объяснение |
|---|---|
| ISO-образ подключён только при установке | После установки виртуальная машина обычно не имеет доступа к этому ISO |
| Нет физического привода | На виртуальной машине нет CD/DVD-привода по умолчанию |
| APT продолжает искать диск | Система не знает, что установка завершена, и требует «вставить диск» |
💡 Вывод: После установки Debian на виртуальную машину всегда проверяйте /etc/apt/sources.list и удаляйте или комментируйте строку deb cdrom:.... Это избавит вас от путаницы с обновлениями.
4. 📝 Чек-лист: всё готово к работе
Пройдитесь по пунктам, чтобы убедиться, что sudo настроен правильно:
- [ ] Пользователь добавлен в группу
sudo(командаid usernameпоказывает27(sudo)) - [ ] Вы перелогинились или выполнили
newgrp sudo - [ ] Команда
sudo whoamiвозвращаетroot - [ ] Команда
sudo apt updateработает без ошибок - [ ] В файле
/etc/apt/sources.listзакомментирована строка сdeb cdrom:(если была ошибка с CD-ROM)
5. 🔧 Дополнительно: как удалить пользователя из sudoers (лишить прав)
Если нужно лишить пользователя прав администратора — просто удалите его из группы sudo.
(username — меняете на имя пользователя)
Команда:
sudo deluser username sudo
Или:
sudo gpasswd -d username sudo
Проверка:
id username
В выводе больше не должно быть 27(sudo).
Заключение
Вы успешно настроили права sudo в Debian. Теперь ваш пользователь может выполнять административные команды без необходимости знать пароль root.
Что теперь есть в системе:
- ✅ Обычный пользователь с правами на выполнение команд через
sudo - ✅ Пакет
sudoустановлен и настроен - ✅ Вы знаете, как добавить других пользователей
- ✅ Вы умеете диагностировать и исправлять 6 самых частых ошибок
Что дальше:
- Настройте SSH-ключи для безопасного удалённого доступа (вместо входа по паролю)
- Почитайте про базовую настройку файрвола (ufw или iptables)
- Научитесь просматривать логи sudo в
/var/log/auth.log(кто и когда выполнял команды)