Home » Как добавить и удалить пользователей на Ubuntu 24
Как добавить и удалить пользователей на Ubuntu 24

Как добавить и удалить пользователей на Ubuntu 24

Привет, коллеги! Сегодня разберём одну из базовых, но критически важных тем — работу с пользователями в Ubuntu 24. Казалось бы, что может быть проще? Но на практике правильное управление пользователями — это основа безопасности сервера. Неправильно настроенные права доступа, забытые аккаунты или неаккуратная работа с sudo могут превратить ваш сервер в дырявое решето.

Эта статья поможет вам освоить три ключевых аспекта: понять, как работает система пользователей в Ubuntu, быстро и правильно настроить всё пошагово, и разобрать практические примеры с их подводными камнями. Независимо от того, настраиваете ли вы VPS или работаете с выделенным сервером, эти знания пригодятся в любом случае.

Как это работает: анатомия пользователей Ubuntu

В Ubuntu пользователи хранятся в нескольких ключевых файлах:

  • /etc/passwd — основная информация о пользователях
  • /etc/shadow — хеши паролей и политики безопасности
  • /etc/group — группы и их участники
  • /etc/sudoers — права на выполнение команд с повышенными привилегиями

Каждый пользователь имеет уникальный UID (User ID), домашнюю директорию и оболочку по умолчанию. Система различает обычных пользователей (UID >= 1000) и системных (UID < 1000).

Добавление пользователей: три способа на все случаи жизни

Способ 1: useradd — для автоматизации

Команда useradd — это низкоуровневый инструмент, идеальный для скриптов:

sudo useradd -m -s /bin/bash -G sudo newuser
sudo passwd newuser

Параметры:

  • -m — создаёт домашнюю директорию
  • -s — задаёт оболочку по умолчанию
  • -G — добавляет пользователя в группы
  • -c — комментарий (полное имя)

Способ 2: adduser — интерактивный помощник

Более дружелюбная утилита с интерактивным интерфейсом:

sudo adduser newuser

Система сама попросит ввести пароль, полное имя и дополнительную информацию. Автоматически создаст домашнюю директорию с правильными правами доступа.

Способ 3: Создание пользователя с предустановленными настройками

sudo useradd -m -s /bin/bash -G sudo,www-data -c "Web Developer" webdev
sudo passwd webdev
sudo usermod -aG docker webdev

Продвинутые примеры создания пользователей

Сценарий Команда Описание
Системный пользователь sudo useradd -r -s /bin/false service_user Пользователь для сервисов без домашней директории
Пользователь с ограниченным доступом sudo useradd -m -s /bin/rbash limited_user Ограниченная оболочка для безопасности
Временный пользователь sudo useradd -m -e 2024-12-31 temp_user Аккаунт с датой истечения

Удаление пользователей: осторожно, мины!

Удаление пользователя требует внимательности. Есть два основных сценария:

Мягкое удаление (блокировка)

sudo usermod -L username
sudo usermod -s /bin/false username

Полное удаление

sudo deluser --remove-home username
# или
sudo userdel -r username

Внимание! Параметр -r удаляет домашнюю директорию безвозвратно. Всегда делайте бэкап перед удалением!

Практические кейсы и подводные камни

Кейс 1: Пользователь для веб-приложения

# Создаём пользователя для PHP-FPM
sudo useradd -r -s /bin/false -d /var/www -G www-data php-app
sudo chown -R php-app:www-data /var/www/myapp
sudo chmod -R 750 /var/www/myapp

Кейс 2: Пользователь для развёртывания

# Создаём пользователя для CI/CD
sudo useradd -m -s /bin/bash -G sudo,docker deploy
sudo mkdir -p /home/deploy/.ssh
sudo chmod 700 /home/deploy/.ssh
echo "your-public-key" | sudo tee /home/deploy/.ssh/authorized_keys
sudo chmod 600 /home/deploy/.ssh/authorized_keys
sudo chown -R deploy:deploy /home/deploy/.ssh

Распространённые ошибки

  • Забыли создать домашнюю директорию — многие сервисы падают без неё
  • Неправильные права доступа — SSH не работает, если права на ~/.ssh слишком открытые
  • Не указали оболочку — по умолчанию может быть /bin/sh вместо /bin/bash

Автоматизация: скрипты для массового управления

Создайте скрипт для автоматического добавления пользователей:

#!/bin/bash
# add_users.sh

USERS_FILE="users.txt"

while IFS=: read -r username fullname groups; do
    if id "$username" &>/dev/null; then
        echo "User $username already exists"
    else
        sudo useradd -m -s /bin/bash -c "$fullname" -G "$groups" "$username"
        echo "User $username created successfully"
        
        # Генерируем временный пароль
        TEMP_PASS=$(openssl rand -base64 12)
        echo "$username:$TEMP_PASS" | sudo chpasswd
        echo "Temporary password for $username: $TEMP_PASS"
        
        # Принуждаем к смене пароля при первом входе
        sudo chage -d 0 "$username"
    fi
done < "$USERS_FILE"

Формат файла users.txt:

john:John Doe:sudo,developers
jane:Jane Smith:developers,www-data
bob:Bob Wilson:users

Мониторинг и аудит пользователей

Полезные команды для контроля:

# Список всех пользователей
cut -d: -f1 /etc/passwd

# Пользователи с правами sudo
grep -E '^sudo|^wheel' /etc/group

# Активные сессии
who
w

# Последние входы
last

# Проверка заблокированных аккаунтов
sudo passwd -S -a

Альтернативные утилиты и решения

Кроме стандартных команд, существуют интересные альтернативы:

  • LDAP/Active Directory — для корпоративной среды
  • FreeIPAhttps://www.freeipa.org/ — комплексное решение для управления идентификацией
  • Ansible — для автоматизации создания пользователей на множестве серверов
  • Puppet/Chef — декларативное управление конфигурацией

Интересные факты и нестандартные применения

Знали ли вы, что:

  • Ubuntu поддерживает до 4.3 миллиарда пользователей (32-битный UID)
  • Пользователя nobody используют для запуска процессов с минимальными правами
  • Можно создать пользователя без пароля: sudo useradd -m -s /bin/bash --disabled-password nopass
  • Группа sudo в Ubuntu эквивалентна wheel в Red Hat-системах

Безопасность: лучшие практики

  • Принцип минимальных привилегий — давайте только необходимые права
  • Регулярный аудит — проверяйте активных пользователей ежемесячно
  • Использование SSH-ключей — отключайте парольную аутентификацию
  • Настройка sudo timeout — ограничивайте время действия привилегий
  • Логирование — включайте подробные логи всех действий

Docker и контейнеризация

В эпоху контейнеров управление пользователями приобретает новые нюансы:

# Создание пользователя для Docker-контейнеров
sudo useradd -r -s /bin/false -u 1001 appuser
# В Dockerfile
USER 1001

Статистика и сравнение

Критерий useradd adduser GUI (Users & Groups)
Скорость Быстро Средне Медленно
Автоматизация Отлично Хорошо Плохо
Удобство Для экспертов Для всех Для новичков
Настройка Полная Базовая Ограниченная

Заключение и рекомендации

Управление пользователями в Ubuntu 24 — это не просто создание и удаление аккаунтов. Это целая система, требующая понимания принципов безопасности, автоматизации и мониторинга.

Мои рекомендации:

  • Для скриптов используйте useradd — он предсказуем и не задаёт лишних вопросов
  • Для ручного создания пользователей выбирайте adduser — он дружелюбнее
  • Всегда документируйте назначение каждого пользователя
  • Настройте автоматическую очистку неактивных аккаунтов
  • Используйте системных пользователей для сервисов
  • Не забывайте про группы — они упрощают управление правами

Независимо от того, настраиваете ли вы простой веб-сервер или сложную инфраструктуру, правильное управление пользователями — это инвестиция в безопасность и стабильность вашего проекта. Берегите свои серверы и не давайте root-доступ направо и налево!


В этой статье собрана информация и материалы из различных интернет-источников. Мы признаем и ценим работу всех оригинальных авторов, издателей и веб-сайтов. Несмотря на то, что были приложены все усилия для надлежащего указания исходного материала, любая непреднамеренная оплошность или упущение не являются нарушением авторских прав. Все упомянутые товарные знаки, логотипы и изображения являются собственностью соответствующих владельцев. Если вы считаете, что какой-либо контент, использованный в этой статье, нарушает ваши авторские права, немедленно свяжитесь с нами для рассмотрения и принятия оперативных мер.

Данная статья предназначена исключительно для ознакомительных и образовательных целей и не ущемляет права правообладателей. Если какой-либо материал, защищенный авторским правом, был использован без должного упоминания или с нарушением законов об авторском праве, это непреднамеренно, и мы исправим это незамедлительно после уведомления. Обратите внимание, что переиздание, распространение или воспроизведение части или всего содержимого в любой форме запрещено без письменного разрешения автора и владельца веб-сайта. Для получения разрешений или дополнительных запросов, пожалуйста, свяжитесь с нами.

Leave a reply

Your email address will not be published. Required fields are marked