Linux

Полное руководство по управлению пользователями в Linux: создание, настройка, удаление

Это руководство научит вас полностью управлять учетными записями пользователей в Linux: от создания с правильной оболочкой и домашней директорией до настройки групп и безопасного удаления. Вы получите полный контроль над системой.

Обновлено 8 апреля 2026 г.
10-15 мин
Низкая
FixPedia Team
Применимо к:Ubuntu 20.04/22.04Debian 11/12CentOS 7/8/Rocky Linux 8/9Any systemd-based Linux distro

Введение / Зачем это нужно

Управление пользователями — базовая задача системного администратора или владельца VPS/сервера. Правильная настройка учетных записей обеспечивает безопасность, организацию доступа и изоляцию процессов. Этот гайд покажет, как выполнять ключевые операции: создание, модификация и удаление пользователей в Linux, а также работу с группами и правами. После выполнения вы сможете грамотно администрироватьAccounts на большинстве дистрибутивов (Ubuntu, Debian, CentOS, Rocky Linux).

Требования / Подготовка

  1. Доступ к терминалу с правами root или пользователем, входящим в группу sudo.
  2. Понимание базовых команд (ls, cat, grep).
  3. Активная система с установленными стандартными утилитами (adduser, useradd, usermod, passwd). Они есть в любом стандартном дистрибутиве.
  4. Чёткое понимание, какую учетную запись вы создаёте: обычного пользователя, сервисного аккаунта для приложения или администратора.

Шаг 1: Создание пользователя: adduser vs useradd

В Linux есть две основные утилиты для создания пользователя.

Вариант A (рекомендуется для новичков): adduser Это интерактивный скрипт-обёртка, который задаёт все нужные вопросы и выполняет настройки автоматически.

sudo adduser newuser

Система попросит:

  • Задать пароль (дважды).
  • Указать полное имя, номер комнаты, рабочий телефон (это поля GECOS, можно пропускать, нажав Enter).
  • Подтвердить корректность введённых данных.

Результат: создается пользователь newuser, его домашний каталог /home/newuser, основная группа с таким же именем, оболочка по умолчанию (обычно /bin/bash).

Вариант B (для автоматизации/скриптов): useradd Низкоуровневая утилита, не задающая вопросов. Нужно указать параметры явно.

# Создать пользователя с домашним каталогом и оболочкой bash
sudo useradd -m -s /bin/bash newuser

# Установить пароль отдельной командой
sudo passwd newuser

Ключевые флаги:

  • -m — создать домашний каталог (/home/newuser).
  • -s /bin/bash — указать логическую оболочку (может быть /bin/zsh, /usr/sbin/nologin для сервисных аккаунтов).
  • -c "Comment" — добавить комментарий (например, полное имя).
  • -G <group1,group2> — сразу добавить в дополнительные группы.

⚠️ Важно: При использовании useradd без флага -m домашний каталог не создаётся автоматически. Это частая причина ошибок входа.

Шаг 2: Настройка пароля и дополнительных параметров

После создания аккаунта пароль должен быть установлен командой passwd. Система запросит ввод нового пароля и его подтверждение.

Для изменения или сброса пароля существующего пользователя:

sudo passwd username

Если нужно изменить другие параметры (комментарий, домашний каталог, оболочку), используется usermod:

# Изменить полное имя (поле GECOS)
sudo usermod -c "Иван Петров" newuser

# Изменить домашний каталог (предварительно переместите файлы!)
sudo usermod -d /home/newuser_home newuser

# Запретить вход (сделать оболочку /usr/sbin/nologin)
sudo usermod -s /usr/sbin/nologin newuser

Шаг 3: Работа с группами и правами

Права в Linux назначаются пользователям и группам. Управление группами — ключ к организации доступа.

Создание новой группы:

sudo groupdev newgroup

Добавление пользователя в группу:

# Добавить пользователя newuser в группу sudo (для прав администратора)
sudo usermod -aG sudo newuser

# Добавить в несколько групп через запятую
sudo usermod -aG docker,www-data newuser

⚠️ Критически важно использовать флаг -a (append) вместе с -G. Без -a команда usermod -G заменит все дополнительные группы пользователя на указанные, что может лишить его доступа.

Просмотр групп пользователя:

groups newuser
# Или
id newuser

Шаг 4: Проверка корректности создания

Обязательно проверьте, что все изменения применились:

  1. Проверка записи в /etc/passwd:
    grep newuser /etc/passwd
    

    Пример вывода: newuser:x:1001:1001::/home/newuser:/bin/bash — здесь указаны uid, gid, домашний каталог и оболочка.
  2. Проверка домашнего каталога:
    ls -ld /home/newuser
    

    Владелец (newuser) и группа (newuser) должны быть указаны верно.
  3. Проверка групп:
    id newuser
    

    Убедитесь, что нужные группы (например, sudo) присутствуют в списке.
  4. Тестовая аутентификация (опционально):
    su - newuser
    pwd  # Должен показать /home/newuser
    exit
    

Шаг 5: Удаление пользователя

При удалении пользователя нужно решить, что делать с его данными.

Только учетная запись (без удаления файлов):

sudo userdel newuser

Файлы в домашнем каталоге останутся, но будут "висеть" без владельца (отобразятся как uid 1001, если он был).

Полное удаление (учетная запись + домашний каталог + почта):

sudo userdel -r newuser

Флаг -r рекурсивно удалит домашний каталог /home/newuser и почтовую очередь в /var/mail/newuser.

💡 Совет: Перед удалением убедитесь, что пользователь не работает в системе. Завершите его процессы: sudo pkill -u newuser.

Проверка результата

Главный индикатор успеха — возможность войти в систему под новым пользователем (если это обычный аккаунт) или выполнить команду, требующую его прав (например, sudo). Также проверьте:

  • Существование домашнего каталога и его правильное владение.
  • Корректность групп (id <username>).
  • Отсутствие ошибок в системных логах (sudo tail -f /var/log/auth.log или journalctl -xe при попытке входа).

Возможные проблемы

ПроблемаВероятная причинаРешение
useradd: user 'test' already existsПользователь с таким именем уже есть.Проверьте getent passwd test или /etc/passwd. Выберите другое имя или удалите старого пользователя.
Не удаётся войти по SSH после созданияДомашний каталог не создан или неправильные права.Убедитесь, что использовали -m при useradd или adduser. Проверьте права на /home/newuser: drwxr-xr-x.
sudo: command not found или отказ в правахПользователь не в группе sudo/wheel или конфиг sudoers повреждён.Проверьте группы id. Проверьте /etc/sudoers через visudo. Убедитесь, что есть строка %sudo ALL=(ALL:ALL) ALL.
Ошибка usermod: cannot lock /etc/passwd; try again laterФайл /etc/passwd заблокирован другим процессом (например, другим useradd).Подождите несколько секунд и повторите. Если проблема persists, проверьте, нет ли зависших процессов (`ps aux
Файлы создаются с неправильным владельцем после смены uidСтарые файлы хранят старый uid.После смены uid через usermod -u нужно вручную исправить владельца всех файлов: find / -uid <старый_uid> -exec chown <новый_uid> {} \;.

Дополнительные сценарии

Создание системного (сервисного) пользователя без домашнего каталога и с запретом на вход:

sudo useradd -r -s /usr/sbin/nologin svc_backup

Флаг -r создает системного пользователя с uid < 1000 (стандарт для сервисов).

Массовое создание пользователей из файла:

while read user; do sudo adduser --gecos "" --disabled-password $user; done < users.txt

(Используйте с осторожностью, предварительно проверьте файл users.txt).

Копирование прав и групп с существующего пользователя:

sudo useradd -m -s /bin/bash -G $(id -nG olduser | tr ' ' ',') newuser

Эта команда создаст newuser и добавит его во все группы, в которых состоит olduser.

Заключение

Вы освоили основные операции управления пользователями в Linux: создание через adduser/useradd, настройку паролей, работу с группами через usermod и безопасное удаление через userdel -r. Эти команды — фундамент администрирования. Для углублённых сценариев (настройка PAM, LDAP-аутентификация) изучайте документацию man к соответствующим пакетам (pam, sssd).

Часто задаваемые вопросы

В чём разница между командами useradd и adduser?
Как безопасно удалить пользователя, не оставив 'мусора' в системе?
Можно ли изменить uid (идентификатор пользователя) после создания?
Почему новый пользователь не может выполнять sudo, даже добавленный в группу sudo?

Полезное

Проверка текущих пользователей и групп
Создание нового пользователя с домашним каталогом
Назначение пароля и настройка дополнительных параметров
Добавление пользователя в дополнительные группы (sudo, docker и др.)
Проверка корректности создания
Удаление пользователя при необходимости

Эта статья помогла вам решить проблему?