👤 Управление пользователями и группами в Linux

Platform Category Tested on

[!TIP]
Эти команды универсальны для большинства дистрибутивов Linux. Различия могут быть только в путях конфигурационных файлов или менеджерах пакетов (Astra Linux / РЕД ОС).


⚡ 1. Основная информация о пользователях и группах

Список пользователей

cat /etc/passwd
user:x:UID:GID:comment:home:shell

Список групп

cat /etc/group
group_name:x:GID:user1,user2

Проверить текущего пользователя

whoami
id

🛠 2. Создание пользователей

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

sudo adduser 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      # альтернативная блокировка

🧩 6. Создание групп и управление доступом

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

sudo groupadd sshusers
sudo groupadd developers

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

sudo usermod -aG sshusers user1
sudo usermod -aG developers devuser

Проверка группы пользователя

groups user1
id user1

🖥 7. Ограничение SSH-доступа

Разрешить вход только определённым пользователям/группам

  1. Открыть конфигурацию SSH:
sudo nano /etc/ssh/sshd_config
  1. Добавить:
AllowGroups sshusers
AllowUsers devuser user1
  1. Перезапустить 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]

[!IMPORTANT] Перед массовым удалением пользователей или групп проверяйте активные процессы и домашние директории.


🔗 Полезные ссылки