На сервере Ubuntu 22.04 удобнее не работать постоянно под root, а завести отдельного пользователя и выдать ему sudo. Ниже — короткий чеклист: создать пользователя, добавить в группу sudo, проверить права, при необходимости поправить sudoers через visudo, снять права или удалить учётку.
Что понадобится
- Доступ root или уже существующий sudo-пользователь
- Ubuntu 22.04 (команды те же на 20.04/24.04)
- Имя нового пользователя, например
deploy
1. Создать пользователя
Через терминал (предпочтительный вариант на сервере):
sudo adduser имя_пользователя
Утилита спросит пароль и необязательные GECOS-поля (ФИО, телефон — можно пропускать Enter). Будет создан домашний каталог /home/имя_пользователя и базовая группа.
На десктопе с GUI: «Параметры» — «Пользователи» — добавить пользователя. Для серверов и VPS обычно достаточно CLI.
2. Добавить в группу sudo
В Ubuntu права администратора даёт членство в группе sudo:
sudo usermod -aG sudo имя_пользователя
Флаг -aG добавляет группу, не затирая остальные. Чтобы группы подхватились, пользователь должен перелогиниться (новый SSH-сеанс или reboot — по ситуации).
3. Проверить права
Список правил sudo для пользователя:
sudo -l -U имя_пользователя
Проверка «живой» сессии (под этим пользователем):
su - имя_пользователя sudo -v groups
В groups должна быть sudo. sudo -v обновит timestamp пароля; если пароль принят — базовый sudo работает.
4. Точечные правила в sudoers
Группы sudo обычно достаточно. Правки в sudoers нужны, если хотите NOPASSWD, ограничение команд или отдельные алиасы. Редактируйте только через visudo — он ловит синтаксические ошибки и не даёт случайно отрезать себе доступ:
sudo visudo
Пример: пользователь может выполнять всё без повторного пароля (удобно для CI/автоматики, на личном ноутбуке часто избыточно):
имя_пользователя ALL=(ALL) NOPASSWD: ALL
Лучше класть такие правила в drop-in, а не в основной файл:
sudo visudo -f /etc/sudoers.d/имя_пользователя
Права на файл в /etc/sudoers.d/ должны быть строгими (обычно 0440), иначе sudo может игнорировать include.
5. Снять sudo или удалить пользователя
Убрать из группы sudo:
sudo deluser имя_пользователя sudo # либо: sudo gpasswd -d имя_пользователя sudo
Удалить учётку (домашний каталог — по флагу):
sudo deluser --remove-home имя_пользователя
Если остались файлы вне home — проверьте вручную. Не удаляйте единственного sudo-пользователя, пока не убедитесь, что root/другой админ доступен.
Частые вопросы
Что такое sudo? Утилита, которая позволяет обычному пользователю выполнять отдельные команды с правами root после проверки политики (sudoers) и, как правило, пароля.
Почему после usermod «sudo: command not found» или «not in sudoers»? Чаще всего не перелогинились, опечатка в имени или пакет sudo не установлен (минимальные образы). Поставьте sudo apt install sudo из-под root и повторите.
Нужен ли reboot? Обычно нет: достаточно нового login-сеанса. Reboot — крайний случай, если сессии «залипли».
