Как добавить пользователя на Ubuntu Server

Когда выбирать useradd или adduser
Коротко:
- useradd — фундаментальная утилита, даёт полный контроль через флаги. Подходит для скриптов и автоматизации.
- adduser — оболочка с пошаговыми подсказками; удобна при ручном создании пользователей.
Определение: useradd — системная утилита для добавления учётных записей; adduser — Perl-скрипт/обёртка, упрощающий ввод данных.
Важно: обе команды доступны в Ubuntu и большинстве дистрибутивов Linux; поведение может немного отличаться в разных дистрибутивах.
Создание пользователя через useradd
useradd — мощный инструмент с множеством опций. Пример базового добавления (без домашней директории):
useradd maketecheasierЧаще нужно создать пользователя с домашней директорией, задать оболочку и добавить в группы. Корректная команда выглядит так:
useradd -m -g users -G sudo -s /bin/bash maketecheasierРазбор флагов:
- -m — создать домашнюю папку (/home/maketecheasier).
- -g users — назначить основную группу users.
- -G sudo — добавить в дополнительные группы (здесь — sudo).
- -s /bin/bash — указать shell по умолчанию.
После создания задайте пароль:
passwd maketecheasierПримечание: если вы используете скрипты деплоя, useradd отлично подходит, потому что все параметры заданы в команде.
Создание пользователя через adduser
adduser удобен для интерактивного создания с подсказками. Выполните:
sudo adduser maketecheasier
Команда предложит ввести пароль и основные информации профиля (полное имя, номер телефона и т.д.). Это полезно, если вы хотите заполнить метаданные сразу при создании.
Совет: adduser автоматически создаёт домашнюю директорию и обычно задаёт стандартные настройки оболочки и групп.
Добавление пользователей в группы
Контроль доступа часто реализуется через группы. Сначала посмотрите список доступных групп:
cut -d: -f1 /etc/group | more
Если нужно создать новую группу:
groupadd wheelПосмотреть, в каких группах состоит пользователь:
groups maketecheasierЧтобы добавить пользователя в группу sudo (чтобы он мог выполнять команды с sudo), выполните под root или от учётки с правами sudo:
usermod -aG sudo maketecheasierРазбор: -aG — добавить в дополнительные группы, не удаляя существующие.
Важно: редактирование /etc/group вручную редко нужно — используйте usermod или gpasswd для модификации.

Удаление пользователя
Базовая команда для удаления учётной записи:
sudo userdel maketecheasierЕсли нужно удалить и домашнюю директорию, используйте -r. Для принудительного удаления добавьте -f:
sudo userdel -r -f maketecheasierПредупреждение: удаление с -r и -f удалит домашнюю папку и некоторые файлы; убедитесь, что нет нужных данных.
Права sudo и безопасная настройка
Рекомендации по безопасности при предоставлении sudo:
- Давайте sudo по необходимости — не все пользователи должны быть в sudo.
- Используйте /etc/sudoers.d/ для отдельных правил и прав доступа.
- Всегда правьте sudoers через visudo, чтобы избежать синтаксических ошибок.
- По возможности настройте sudo с привязкой к конкретным командам, а не полной админской привилегией.
- Ограничьте доступ по SSH: запретите вход root (PermitRootLogin no) и используйте AllowUsers / AllowGroups.
- Рассмотрите двухфакторную аутентификацию или SSH-ключи вместо паролей.
Пример ограничения прав (создать файл в /etc/sudoers.d/deploy):
# /etc/sudoers.d/deploy
deploy ALL=(ALL) NOPASSWD: /usr/bin/systemctl restart myserviceЭто позволит пользователю deploy выполнять только конкретную команду без пароля.
Методология безопасного добавления пользователя (мини-процесс)
- Проверить необходимость учётной записи и требуемые группы.
- Создать пользователя через useradd (для автоматизации) или adduser (для интерактивного ввода).
- Задать пароль или загрузить SSH-ключ в ~/.ssh/authorized_keys.
- Добавить в нужные группы через usermod.
- Настроить sudo через /etc/sudoers.d с visudo.
- Проверить вход и права тестовым sudo -l и группами.
- Зафиксировать изменения в системе учёта (CMDB) и удалить изрядные привилегии, если нужно.
Чек-лист по ролям
Для системного администратора:
- Пользователь создан с -m и корректной оболочкой.
- Пароль/SSH-ключ настроен.
- Проверены группы и права sudo.
- Правила в /etc/sudoers.d корректны.
- Запись в документации и CI/CD (если применимо).
Для разработчика:
- Доступ к нужным проектным группам есть.
- Нет лишних привилегий sudo.
- SSH-ключ зарегистрирован.
Для сервисных/системных учётных записей:
- Установлена ограниченная оболочка (например /sbin/nologin) при необходимости.
- Нет интерактивного входа, ключи/токены хранятся в безопасном хранилище.
Когда предложенные методы не подойдут и альтернативы
Контексты, когда useradd/adduser не подходят:
- Массовое создание учётных записей: используйте скрипты, Ansible/Cloud-init или LDAP/AD.
- Централизованная аутентификация: используйте FreeIPA, LDAP, AD или SSO.
- Серверы в облаке: можно использовать cloud-init для создания пользователей при старте инстанса.
Альтернативы:
- Ansible user модуль для декларативного управления учётными записями.
- LDAP/Active Directory для централизованной учётной записи.
Когда всё идёт не так — распространённые ошибки и как их исправить
Проблема: пользователь создан, но нет домашней директории.
Решение: проверьте опцию -m; если домашняя директория не создана, создайте вручную и установите владельца:
mkdir -p /home/maketecheasier
chown maketecheasier:users /home/maketecheasierПроблема: sudo не работает для пользователя.
Проверьте: состоит ли пользователь в группе sudo? Выполните groups
Проблема: ssh вход не работает.
Проверьте права на ~/.ssh и authorized_keys (700 для .ssh, 600 для файла). Убедитесь, что владелец файлов — пользователь.
Критерии приёмки
- Учётная запись существует: id maketecheasier возвращает UID и группы.
- Домашняя директория создана и принадлежит пользователю.
- Пароль или SSH-ключ настроен; пользователь может войти.
- Права sudo настроены в соответствии с политикой и протестированы sudo -l.
- Изменения задокументированы.
Глоссарий — 1 строка
useradd — системная утилита для создания пользователей; adduser — более удобная интерактивная оболочка для useradd.
Короткая методика тестирования (acceptance)
Тест 1 — создание через useradd:
- Выполнить useradd -m -s /bin/bash testuser.
- Установить пароль и проверить вход: su - testuser.
- Убедиться, что каталог /home/testuser и права корректны.
Тест 2 — sudo:
- Добавить testuser в sudo.
- Выполнить sudo -l и sudo whoami; результат должен быть root (если разрешено).
Резюме
Добавлять пользователей на Ubuntu Server можно двумя способами: useradd (гибкий, для автоматизации) и adduser (удобный, интерактивный). Для контроля доступа используйте группы и корректно настраивайте sudo через /etc/sudoers.d. Для масштабных задач лучше использовать Ansible, LDAP или cloud-init. Всегда тестируйте вход, права и документируйте изменения.
Важно: замените примерное имя maketecheasier на реальное имя пользователя в ваших командах.
Спасибо за чтение — какие инструменты вы предпочитаете: adduser или useradd? Напишите в комментариях.
Похожие материалы
Что делать, если средство устранения неполадок Windows не работает
hiberfil.sys — что это и как удалить
Как изменить язык виджетов в Windows 11
Лучший телевизор для домашнего кинотеатра
Ремонт и улучшение геймпада — проблемы и решения