Пользователи и группы в Linux

Пользователи и группы в Linux: useradd, usermod, groupadd, /etc/passwd, id, groups — как создавать учётные записи и управлять членством в группах.

Пользователь в Linux — это учётная запись с уникальным числовым идентификатором (UID). Группа объединяет нескольких пользователей, чтобы назначать им общие права доступа.

Файл /etc/passwd

Список всех пользователей системы хранится в файле /etc/passwd. Каждая строка описывает одного пользователя и состоит из семи полей, разделённых двоеточием:

cat /etc/passwd

Вывод (фрагмент):

root:x:0:0:root:/root:/bin/bash
alice:x:1001:1001:Alice Smith:/home/alice:/bin/bash
nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin

Поля по порядку: имя, пароль (символ x — хранится в /etc/shadow), UID, GID, комментарий, домашний каталог, оболочка.

Просмотр информации о пользователе

# Кто сейчас залогинен
whoami

# UID, GID и группы текущего пользователя
id

# Группы конкретного пользователя
groups alice

Вывод:

alice
uid=1001(alice) gid=1001(alice) groups=1001(alice),27(sudo),1002(docker)
alice : alice sudo docker

Создание пользователя: useradd

Команда useradd создаёт нового пользователя. Запускается от root (или через sudo).

Флаг

Значение

-m

создать домашний каталог

-s /bin/bash

задать оболочку

-G группа

добавить в дополнительную группу

-c "Комментарий"

описание (полное имя)

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

# Установить пароль для нового пользователя
sudo passwd bob

# Добавить bob в группу docker
sudo usermod -aG docker bob

Флаг -aG в usermod означает «append to Group» — добавить к существующим группам, не заменяя их. Без -a пользователь потеряет все прежние группы.

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

# Создать группу developers
sudo groupadd developers

# Добавить alice в группу developers
sudo usermod -aG developers alice

# Проверить
groups alice

Вывод:

alice : alice sudo developers

Удаление пользователя

# Удалить пользователя (домашний каталог останется)
sudo userdel bob

# Удалить пользователя вместе с домашним каталогом
sudo userdel -r bob

Частые ошибки

  • useradd без -m — домашний каталог не создаётся; пользователь не сможет войти нормально.
  • usermod -G без -a — затирает все текущие группы. Всегда используйте -aG.
  • passwd не установлен — после useradd аккаунт заблокирован до passwd.

Коротко

  • /etc/passwd — список пользователей; id и groups показывают UID/GID.
  • useradd -m -s /bin/bash имя — создать пользователя с домашним каталогом.
  • passwd имя — установить пароль.
  • usermod -aG группа имя — добавить в группу без потери прежних.
  • groupadd — создать группу; userdel -r — удалить пользователя с каталогом.
Проверьте себя
1. Какой файл содержит список всех пользователей системы?
A/etc/shadow
B/etc/passwd
C/etc/group
D/etc/users
2. Как правильно добавить пользователя bob в группу docker, не убрав его из других групп?
Asudo usermod -G docker bob
Bsudo usermod -aG docker bob
Csudo groupadd docker bob
Dsudo adduser bob docker
3. Какая команда создаст пользователя alice с домашним каталогом и bash-оболочкой?
Asudo adduser alice
Bsudo useradd alice
Csudo useradd -m -s /bin/bash alice
Dsudo usermod -m -s /bin/bash alice
4. Что показывает команда id?
AСписок всех пользователей
BUID, GID и группы текущего пользователя
CИдентификатор последнего процесса
DВерсию операционной системы
Поддержать проект