👤 Управление пользователями и группами в Linux
[!TIP]
Эти команды универсальны для большинства дистрибутивов Linux. Различия могут быть только в путях конфигурационных файлов или менеджерах пакетов (Astra Linux / РЕД ОС).
⚡ 1. Основная информация о пользователях и группах
Список пользователей
cat /etc/passwd
- Каждый пользователь описан строкой:
user:x:UID:GID:comment:home:shell
UID 0— rootUID 1000+— обычные пользователи
Список групп
cat /etc/group
- Формат:
group_name:x:GID:user1,user2
Проверить текущего пользователя
whoami
id
whoami— имя пользователяid— UID, GID и группы пользователя
🛠 2. Создание пользователей
Простое создание пользователя
sudo adduser user1
- Создает домашнюю директорию
/home/user1 - Настраивает пароль, шелл, базовые группы
Создание пользователя без домашнего каталога
sudo adduser --no-create-home user2
Создание пользователя с конкретным UID и GID
sudo adduser --uid 1500 --gid 1001 user3
Добавление комментариев
sudo adduser --comment "Developer" devuser
🔑 3. Установка и изменение пароля
sudo passwd user1 # установить пароль
sudo passwd -l user1 # заблокировать учетную запись
sudo passwd -u user1 # разблокировать
[!IMPORTANT] Пароль root лучше оставить заблокированным для SSH-доступа и использовать sudo у обычных пользователей.
👑 4. Предоставление прав root через sudo
Добавление пользователя в группу sudo или wheel
sudo usermod -aG sudo user1 # Debian / Astra
sudo usermod -aG wheel user1 # RHEL / RED OS
Проверка прав sudo
sudo -l -U user1
[!TIP] Группа
sudoилиwheelуправляет доступом через/etc/sudoers. Для редактирования:
sudo visudo
🔐 5. Отключение встроенного root
sudo passwd -l root # блокировка пароля root
sudo usermod -L root # альтернативная блокировка
- root всё ещё существует, но нельзя войти напрямую через пароль.
- Используем
sudoу обычных пользователей для административных задач.
🧩 6. Создание групп и управление доступом
Создание группы
sudo groupadd sshusers
sudo groupadd developers
Добавление пользователя в группу
sudo usermod -aG sshusers user1
sudo usermod -aG developers devuser
Проверка группы пользователя
groups user1
id user1
🖥 7. Ограничение SSH-доступа
Разрешить вход только определённым пользователям/группам
- Открыть конфигурацию SSH:
sudo nano /etc/ssh/sshd_config
- Добавить:
AllowGroups sshusers
AllowUsers devuser user1
- Перезапустить SSH:
sudo systemctl restart ssh
[!IMPORTANT] Если указать
AllowGroupsилиAllowUsers, убедитесь, что хотя бы один администратор имеет доступ, иначе вы заблокируете SSH.
⚙️ 8. Удаление пользователей и групп
Удаление пользователя, оставив домашний каталог
sudo deluser user1
Удаление пользователя с домашним каталогом
sudo deluser --remove-home user1
Удаление группы
sudo groupdel sshusers
🔍 9. Просмотр сессий и активности пользователей
Список текущих пользователей
who
w
История входов
last
lastlog
Проверка процессов пользователя
ps -u user1
🧾 10. Практические рекомендации
[!TIP]
- Используйте группы для управления доступом к ресурсам.
- Не предоставляйте root-доступ напрямую через SSH.
- Логи входа и sudo находятся в
/var/log/auth.log(Debian/Astra) или/var/log/secure(RED OS).
[!IMPORTANT] Перед массовым удалением пользователей или групп проверяйте активные процессы и домашние директории.