- Home »

Как добавить и удалить пользователей на 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 — для корпоративной среды
- FreeIPA — https://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-доступ направо и налево!
В этой статье собрана информация и материалы из различных интернет-источников. Мы признаем и ценим работу всех оригинальных авторов, издателей и веб-сайтов. Несмотря на то, что были приложены все усилия для надлежащего указания исходного материала, любая непреднамеренная оплошность или упущение не являются нарушением авторских прав. Все упомянутые товарные знаки, логотипы и изображения являются собственностью соответствующих владельцев. Если вы считаете, что какой-либо контент, использованный в этой статье, нарушает ваши авторские права, немедленно свяжитесь с нами для рассмотрения и принятия оперативных мер.
Данная статья предназначена исключительно для ознакомительных и образовательных целей и не ущемляет права правообладателей. Если какой-либо материал, защищенный авторским правом, был использован без должного упоминания или с нарушением законов об авторском праве, это непреднамеренно, и мы исправим это незамедлительно после уведомления. Обратите внимание, что переиздание, распространение или воспроизведение части или всего содержимого в любой форме запрещено без письменного разрешения автора и владельца веб-сайта. Для получения разрешений или дополнительных запросов, пожалуйста, свяжитесь с нами.