Управление пользователями в Ubuntu

Что нужно знать о работе с пользователями в Ubuntu
Многопользовательские системы требуют отдельной учётной записи для каждого человека. У каждой учётной записи свой пароль и личная область данных. Обычные пользователи не имеют доступа к файлам других пользователей; суперпользователь root может получить доступ ко всему.
Роль системного администратора включает создание и удаление аккаунтов, управление группами и привилегиями, а также поддержку жизненного цикла учётной записи (создание, изменение, блокировка, удаление). Ниже — подробное руководство по типовым операциям и набор дополнительных материалов для рабочих процессов и безопасности.
Как создать пользователя в Ubuntu
В Linux есть две часто используемые утилиты для создания пользователей: useradd и adduser. Они похожи по названиям, но работают немного по‑разному.
- useradd — низкоуровневая утилита, требует явного указания параметров в командной строке.
- adduser — более удобная обёртка (Perl-скрипт на Debian/Ubuntu), которая задаёт вопросы и создаёт домашний каталог автоматически.
Создание через useradd
Пример команды:
sudo useradd -s /bin/bash -m -c "Mary Quinn" -G development maryqПараметры:
- -s /bin/bash — shell по умолчанию.
- -m — создать домашний каталог /home/<имя>.
- -c “Mary Quinn” — полное имя (GECOS-поле).
- -G development — добавить в дополнительную группу development (группа должна существовать).
- maryq — логин пользователя.
После создания нужно установить пароль:
sudo passwd maryqВас попросят ввести новый пароль дважды.
Создание через adduser
Простой и рекомендуемый способ на Ubuntu:
sudo adduser maxn
Утилита попросит задать пароль и заполнить дополнительные поля (Full Name, Room Number и т. п.). Эти поля можно оставить пустыми нажатием Enter.
Как добавить группу и присоединить пользователя к группе
Группы используются для коллективной выдачи прав доступа. Когда вы добавляете пользователя к дополнительной группе, важно не перезаписать его текущие членства.
Для добавления используйте usermod с опцией -a (append) и -G (supplementary groups):
groups maxn
sudo usermod -a -G development maxn
groups maxn
Без -a вы замените список дополнительных групп и можете лишить пользователя доступа к собственным файлам.
Как перечислить пользователей в Ubuntu
Файл /etc/passwd содержит все записи учётных записей, включая системные. Просмотреть его можно через less:
less /etc/passwd
Чтобы отделить «реальных» пользователей (человеческих) от системных, используйте диапазон UID, заданный в /etc/login.defs (обычно UID_MIN=1000 на Ubuntu).
grep -E '^UID_MIN|^UID_MAX' /etc/login.defsЗатем можно получить записи в диапазоне:
getent passwd {1000..60000}Если диапазон большой, ускорьте поиск, найдя максимальный используемый UID:
cut -d: -f3 /etc/passwd | sort -g
И затем ограничить поиск по реальному максимуму, например {1000..1003}.
Как дать пользователю привилегии sudo
Группа, дающая право на использование sudo, обычно называется sudo (или wheel в других дистрибутивах). Проверьте файл sudoers через visudo:
sudo visudo
Добавление пользователя в группу sudo:
groups maryq
sudo usermod -a -G sudo maryq
groups maryq
Если нужна тонкая настройка привилегий — правьте sudoers через visudo и ограничьте конкретные команды, например разрешить установку пакетов через apt только для группы maxn:
sudo visudoДобавьте строку (находясь в редакторе):
# User Max can install software using apt
maxn ALL=(root) /usr/bin/aptОбратите внимание: после имени группы или пользователя должен идти символ табуляции или один пробел (в зависимости от формата), и перечисление команд.

После следующего логина член группы сможет выполнять только указанные команды с sudo.
Как изменить пароль пользователя
sudo passwd maxnЧтобы заставить пользователя сменить пароль при следующем входе, используйте -e:
sudo passwd -e maxnКак блокировать и удалять пользователя
Иногда аккаунт нужно временно заблокировать, а не удалять. Блокировка через passwd с опцией -l поставит невозможность входа, сохранив данные:
sudo passwd -l maxnПеред окончательным удалением рекомендуется заархивировать домашний каталог:
sudo tar cfjv maxn-home.tar.bz2 /home/maxn
ls -lh maxn-home.tar.bz2Для удаления вместе с домашним каталогом на Debian-подобных системах:
sudo deluser --remove-home maxnДля других дистрибутивов:
sudo userdel --remove maxn
От зарождения до удаления: жизненный цикл учётной записи
Жизненный цикл учётной записи включает этапы: запрос — создание — настройка групп/прав — изменение/блокировка — удаление/архивация. Управление жизненным циклом должно быть регламентировано в вашей политике доступа.
Рекомендации по безопасности и соответствию
- Минимизируйте число пользователей с постоянными привилегиями root. Используйте временные выдачи прав при необходимости.
- Разрешайте sudo только для конкретных команд, когда это возможно.
- Включайте двухфакторную аутентификацию на внешних точках доступа (VPN, SSH через PAM, систему SSO), если организация это поддерживает.
- Ведите аудит изменений в /etc/sudoers, /etc/passwd и /etc/group (syslog, auditd, или централизованные SIEM-системы).
- Храните резервные архивы домашних директорий в зашифрованном хранилище и определите сроки хранения.
- Минимизируйте хранение персональных данных для соответствия требованиям защиты данных; применяйте политику удаления и архивации.
Playbook: стандартная операция для создания пользователя
- Получить запрос с подтверждением руководителя (писем, тикета, IAM-системы).
- Проверить, нет ли уже аккаунта (getent passwd <имя>). Если есть — согласовать повторное использование.
- Создать аккаунт: sudo adduser <имя>.
- Добавить в необходимые группы: sudo usermod -a -G group1,group2 <имя>.
- Установить пароль или пометить на смену при первом входе: sudo passwd -e <имя>.
- Выдать ограничения sudo через visudo или пометить в IAM.
- Задокументировать действие в системе учёта и уведомить пользователя.
Runbook для инцидента: подозрение на компрометацию учётной записи
- Немедленно заблокировать пользователя: sudo passwd -l <имя>.
- Отключить сессии и ключи SSH (удалить /home/<имя>/.ssh/authorized_keys; заблокировать ключи в SSHD).
- Сохранить временную копию home и логов:
sudo tar cfjv /var/backups/<имя>-home-incident.tar.bz2 /home/<имя>
sudo cp -a /var/log/auth.log /var/backups/<имя>-auth.log- Проверить sudoers, cron, systemd‑unit, запланированные задачи, crontab пользователя.
- Запустить аудитные проверки (последние входы, изменённые файлы): lastlog, last, ausearch/ausearch -ts recent.
- При необходимости — восстановить из резервной копии, сбросить пароли и пересоздать ключи SSH.
- Задокументировать инцидент, уведомить владельцев сервисов и команду безопасности.
Чеклисты по ролям
Администратор (полная ответственность):
- Подтвердить полномочия на создание.
- Создать пользователя и домашний каталог.
- Добавить в группы и задать sudo (если нужно).
- Настроить политики паролей и MFA (если применимо).
- Задокументировать.
Helpdesk (временные операции):
- Сброс пароля через sudo passwd <имя> при наличии запроса владельца.
- Блокировка учётной записи (passwd -l) при увольнении/перерыве.
- Перенаправление тикетов к администратору для удаления/архивации.
Офицер безопасности:
- Периодическая ревизия членов группы sudo и wheel.
- Аудит /etc/passwd, /etc/group, /etc/sudoers.
- Настройка журналирования и механизмов оповещения.
Ментальные модели и эвристики
- Принцип наименьших привилегий: выдавайте минимально необходимые права.
- Разделение обязанностей: разные люди создают учетную запись и дают доступ к критическим ресурсам.
- Архивация перед удалением: никогда не удаляйте данные без резервной копии, если организация может их запросить позже.
Альтернативные подходы
- Управление через LDAP/Active Directory или централизованную систему идентификации (SSO) вместо локальных /etc/passwd на каждом хосте.
- Использование конфигурационных менеджеров (Ansible, Puppet, Chef) для массового и воспроизводимого управления учётными записями.
- Контейнеризация сервисов, чтобы минимизировать число нужных локальных логинов.
Примеры, когда стандартные команды не подходят
- Если учётные записи синхронизируются из внешнего источника (LDAP, AD) — не редактируйте /etc/passwd вручную.
- В средах с централизованным управлением ключей SSH или политиками PAM лучше применять централизованные инструменты.
- Для облачных инстансов создайте IAM-пользователей и ключи в облаке вместо создания локальных root‑аккаунтов.
Таблица быстрых команд (cheat sheet)
- Создать: sudo adduser <имя>
- Создать через useradd: sudo useradd -m -s /bin/bash -c “Full Name” -G group <имя>
- Установить пароль: sudo passwd <имя>
- Заставить сменить пароль: sudo passwd -e <имя>
- Добавить в группу: sudo usermod -a -G group <имя>
- Удалить с домом: sudo deluser –remove-home <имя>
- Блокировка: sudo passwd -l <имя>
- Просмотр пользователей: getent passwd {1000..60000}
Критерии приёмки
При создании пользователя выполнены все условия:
- Аккаунт создан с уникальным логином и рабочим домашним каталогом.
- Члены групп соответствуют требованиям доступа.
- Пароль задан или помечен на смену при первом входе.
- Если нужны привилегии, они назначены через sudoers или группу sudo и задокументированы.
- Пользователь уведомлён и получил инструкции по входу.
Коробка фактов: ключевые значения
- UID 0 — суперпользователь root.
- На Ubuntu по умолчанию UID_MIN = 1000 для «человеческих» учётных записей.
- Группа sudo — распространённое имя для группы, предоставляющей доступ к sudo.
Миграция и совместимость
- При миграции с других дистрибутивов учтите различия: Debian/Ubuntu имеют adduser и deluser; другие дистрибутивы используют useradd/userdel и могут иметь группу wheel вместо sudo.
- Для централизованного управления используйте LDAP/SSSD/AD и избегайте локального дублирования записей.
Защита приватности и юридические заметки
- Собирайте и храните только необходимые личные данные (имя, рабочий email).
- Устанавливайте срок хранения архивов и удаляйте данные в соответствии с политикой организации.
- В случаях обработки персональных данных соблюдайте внутренние правила и локальные требования законодательства.
Пример Mermaid: дерево решений для обработки запроса на изменение учётной записи
flowchart TD
A[Запрос на изменение учётной записи] --> B{Тип запроса}
B --> |Создать| C[Проверить авторизацию]
B --> |Блокировать| D[Заблокировать пароль]
B --> |Удалить| E[Архивировать данные]
C --> F[Создать аккаунт через adduser]
F --> G[Добавить в группы, задать права sudo]
E --> H[Удалить через deluser --remove-home]
D --> I[Документировать и закрыть тикет]
G --> I
H --> IКраткий глоссарий (1 строка на термин)
- UID — уникальный числовой идентификатор пользователя.
- GECOS — поле в /etc/passwd для полного имени и контактной информации.
- sudo — утилита для выполнения команд с привилегиями другого пользователя (обычно root).
- visudo — безопасный способ редактирования файла sudoers.
Финальное резюме
Управление пользователями — базовая, но критичная задача системного администратора. Используйте adduser для простоты, usermod -a -G для добавления в группы и visudo для управления привилегиями sudo. Всегда архивируйте данные перед удалением и документируйте все действия.
Важно: внедрите стандарты и автоматизацию (конфигурационные менеджеры, централизованная идентификация), чтобы снизить риск ошибок и обеспечить соответствие политикам безопасности.
Похожие материалы
Установка ADB‑драйверов на Windows 11
Чёрный экран YouTube на Android — решения
Как отписаться от каналов YouTube — быстро и правильно
Удалить плейлист на YouTube — быстро
Как посмотреть текст песни в YouTube Music