Пользователи и sudo в Linux: добавить пользователя, группы и права
Чтобы добавить пользователя в Linux, выполните sudo adduser имя в Debian и Ubuntu или sudo useradd -m имя и затем sudo passwd имя в Fedora и Arch. Права sudo выдаются добавлением в группу: sudo usermod -aG sudo имя в Debian и Ubuntu, sudo usermod -aG wheel имя в Fedora и Arch. Ниже тонкая настройка через visudo, sudo без пароля для отдельных команд и восстановление доступа, если что-то сломалось.

Содержание
Как добавить пользователя: adduser и useradd
В Linux две похожие команды. useradd - низкоуровневая утилита из shadow-utils, она есть везде и делает ровно то, что указано в опциях. adduser в Debian и Ubuntu - дружелюбная обёртка: создаёт домашний каталог, копирует шаблоны из /etc/skel, спрашивает пароль и имя. В Fedora adduser просто ссылка на useradd, а в Arch его нет.
# Debian, Ubuntu: интерактивно
sudo adduser ivan
# Fedora, Arch и любой другой дистрибутив
sudo useradd -m -s /bin/bash ivan
sudo passwd ivan Флаг -m создаёт домашний каталог, без него пользователь появится, но /home/ivan не будет. -s задаёт оболочку: в некоторых системах по умолчанию стоит /bin/sh, и без флага в терминале не будет привычного bash. Сразу добавить в группы можно ключом -G, например -G wheel,video.
Проверить, что всё создано:
id ivan
getent passwd ivan
ls -ld /home/ivan Если вы пока путаетесь в командах терминала, начните со статьи об основных командах Linux, а права на файлы и каталоги разобраны отдельно в материале про chmod и chown.
Группы пользователя: добавить, убрать, проверить
Группы в Linux открывают доступ к устройствам и функциям: сокет Docker, последовательные порты, виртуальные машины, права администратора. Добавить пользователя в группу:
sudo usermod -aG docker ivan
# убрать из группы
sudo gpasswd -d ivan docker
# посмотреть группы
groups ivan Ключ -a обязателен. Команда usermod -G docker ivan без него заменит весь список дополнительных групп на одну docker, и пользователь потеряет, например, sudo. Это одна из самых частых причин внезапного "is not in the sudoers file".
Новые группы применяются при следующем входе в систему. Выйдите из сеанса и войдите снова или откройте новую оболочку через su - ivan. Перезагрузка не нужна.
| Зачем | Debian, Ubuntu | Fedora | Arch |
|---|---|---|---|
| Права администратора через sudo | sudo | wheel | wheel |
| Docker без sudo | docker | docker | docker |
| Виртуальные машины libvirt | libvirt | libvirt | libvirt |
| Последовательные порты, Arduino | dialout | dialout | uucp |
| Чтение системного журнала | adm, systemd-journal | wheel, systemd-journal | wheel, systemd-journal |
Группа docker фактически равна root: через сокет можно смонтировать любой каталог в контейнер. Безопаснее вариант без root, о нём статья про Docker Rootless.
Добавить пользователя в sudo
В Debian и Ubuntu sudo получают все члены группы sudo, в Fedora группа wheel:
# Debian, Ubuntu
sudo usermod -aG sudo ivan
# Fedora, Arch
sudo usermod -aG wheel ivan В Arch этого мало: строка для wheel в sudoers по умолчанию закомментирована, а сам пакет sudo может быть не установлен. Поставьте его, откройте файл через visudo и раскомментируйте строку %wheel ALL=(ALL:ALL) ALL:
pacman -S sudo
EDITOR=nano visudo Debian с паролем root
Если при установке Debian 13 вы задали пароль root, установщик не добавит вашего пользователя в sudo, а иногда и не поставит sudo. Права выдают из-под root:
su -
apt install sudo
usermod -aG sudo ivan
exit После повторного входа проверьте: sudo -l покажет, что вам разрешено, а sudo whoami должна вывести root.
Visudo и каталог sudoers.d
Файл /etc/sudoers правят только через visudo. Он открывает копию, при сохранении проверяет синтаксис и не даст записать файл с ошибкой. Ошибка в sudoers, сохранённая обычным редактором, отключает sudo для всех, и чинить придётся через root или режим восстановления.
Удобнее не трогать основной файл, а класть правила в отдельные файлы каталога /etc/sudoers.d/. Их легко удалить, и они не конфликтуют с обновлениями пакета:
sudo visudo -f /etc/sudoers.d/ivan
# проверить все файлы
sudo visudo -c Имя файла не должно содержать точку и заканчиваться на ~, иначе sudo его пропустит. Права выставит сам visudo, правильные это 0440. Редактор выбирается переменной: sudo EDITOR=nano visudo. Если nano для вас непривычен, загляните в статью о редакторе nano.
Синтаксис правила
# пользователь, хосты=(от чьего имени) команды
ivan ALL=(ALL:ALL) ALL
# группа обозначается знаком %
%devops ALL=(ALL) ALL
# только перезапуск nginx от root
deploy ALL=(root) /usr/bin/systemctl restart nginx Пути к командам указывайте полностью, узнать их помогает command -v systemctl. Если правил для пользователя несколько, применяется последнее подходящее. Файлы из sudoers.d подключаются в конце основного файла, поэтому их правила обычно перекрывают групповые.
Sudo без пароля: безопасный вариант
Полностью убрать пароль можно одной строкой, но это значит, что любая программа или скрипт, запущенные от вашего имени, получат root без вопросов. Для домашнего ноутбука с одним пользователем это компромисс, для сервера с доступом по SSH плохая идея.
# всё без пароля: только если понимаете риск
ivan ALL=(ALL) NOPASSWD: ALL
# лучше: без пароля только конкретные команды
ivan ALL=(root) NOPASSWD: /usr/bin/systemctl restart nginx, /usr/bin/apt update Если раздражает частый ввод пароля, сначала попробуйте увеличить время, на которое sudo запоминает ввод. Строка Defaults timestamp_timeout=30 в отдельном файле sudoers.d растягивает его до 30 минут. Пароль остаётся, а просить его будут заметно реже. Для автоматизации на серверах выделяйте отдельного пользователя с NOPASSWD только на нужные команды, а вход для него разрешайте по ключу, как описано в статье о защите SSH.
Sudo-rs в Ubuntu 26.04: что поменялось
Начиная с Ubuntu 25.10 команда sudo по умолчанию запускает sudo-rs, переписанную на Rust реализацию. В Ubuntu 26.04 LTS так и осталось. Для пользователя почти ничего не изменилось: тот же синтаксис, тот же sudoers, те же группы. Отличия, которые встречаются на практике:
- при вводе пароля показываются звёздочки; вернуть тишину можно строкой
Defaults !pwfeedback; - шаблоны со звёздочкой внутри аргументов команд в sudoers не поддерживаются, такие правила просто не сработают;
- часть редких опций классического sudo не реализована, в том числе некоторые переменные окружения.
Проверить, какая реализация у вас, и при необходимости вернуть классическую:
sudo --version
sudo update-alternatives --config sudo Классический sudo в Ubuntu 26.04 доступен как sudo.ws. Canonical планирует оставить только sudo-rs в следующих выпусках, поэтому правила с шаблонами в аргументах лучше переписать сразу.
Пароль root: сменить, включить, заблокировать
В Ubuntu и Fedora с пользователем-администратором пароль root не задан и вход под root заблокирован. Работать от root по-прежнему можно через sudo:
# оболочка root через sudo
sudo -i
# задать или сменить пароль root
sudo passwd root
# снова заблокировать вход по паролю
sudo passwd -l root Пароль root нужен, если вы хотите пользоваться su - или входить в режим восстановления, который его спрашивает. Разница простая: su - спрашивает пароль root, sudo -i ваш собственный. Свой пароль меняют командой passwd без аргументов, а про требования к паролям и срок их действия есть статья о passwd.
Переименовать, заблокировать или удалить пользователя
# заблокировать вход и снять блокировку
sudo usermod -L ivan
sudo usermod -U ivan
# переименовать вместе с домашним каталогом
sudo usermod -l petr -d /home/petr -m ivan
# удалить пользователя, домашний каталог остаётся
sudo userdel ivan
# удалить вместе с домашним каталогом и почтой
sudo userdel -r ivan usermod -L блокирует только пароль, вход по SSH-ключу останется. Чтобы закрыть учётную запись полностью, добавьте sudo chage -E 0 ivan или смените оболочку на /usr/sbin/nologin. Перед userdel -r сохраните нужные файлы, корзины здесь нет. Если пользователь ещё в системе, удаление откажет: завершите его процессы через sudo pkill -u ivan. В Debian и Ubuntu есть аналог sudo deluser --remove-home ivan.
Сломался sudoers или пропали права: как вернуть
Если после правки sudo пишет об ошибке синтаксиса или пользователь пропал из группы, есть несколько путей, от простого к сложному:
- Если задан пароль root:
su -, затемvisudoилиusermod -aG sudo ivan. - В Ubuntu и других системах с polkit часто срабатывает
pkexec visudo: polkit спросит пароль администратора отдельно от sudo. - Режим восстановления: в меню GRUB выберите "Advanced options" и recovery mode, затем root shell. Корень может быть смонтирован только для чтения, перемонтируйте его командой
mount -o remount,rw /. - Загрузка с Live USB, монтирование корня и правка файла с указанием пути, например
visudo -f /mnt/etc/sudoers.
Перед экспериментами держите открытой вторую сессию с sudo -i: если правило окажется ошибочным, вы исправите его из этой сессии. Полное описание формата есть в man sudoers.
Частые вопросы
Как добавить пользователя в sudo в Ubuntu?
Выполните sudo usermod -aG sudo имя и попросите пользователя выйти из сеанса и войти снова. Проверка: sudo whoami должна вывести root.
Чем adduser отличается от useradd?
В Debian и Ubuntu adduser интерактивный: создаёт домашний каталог, спрашивает пароль и данные. useradd делает только то, что указано в опциях, поэтому с ним нужны -m и отдельная команда passwd.
Как сделать sudo без пароля?
Создайте файл через sudo visudo -f /etc/sudoers.d/имя и добавьте строку имя ALL=(ALL) NOPASSWD: ALL. Безопаснее разрешать без пароля только конкретные команды с полным путём.
Почему пишет user is not in the sudoers file?
Пользователь не состоит в группе sudo или wheel либо новые группы ещё не применились. Проверьте командой groups, добавьте через usermod -aG и перелогиньтесь.
Как узнать, какие пользователи есть в системе?
Команда getent passwd выводит все учётные записи. Обычные пользователи обычно имеют UID от 1000, системные меньше.
Документация и источники
- sudoers manual, Sudo project, 2026
- Sudo, ArchWiki, 2026
- Users and groups, ArchWiki, 2026
- sudo-rs, Trifecta Tech Foundation, 2026
Читайте также
Команды проверены на актуальных версиях дистрибутивов на момент обновления. Перед изменением системных настроек сделайте резервную копию.