Gymterview
junior

Как устроено управление пользователями и группами в Linux?

Linux — многопользовательская система. Каждый пользователь имеет уникальный идентификатор (UID), каждая группа — GID.

Ключевые файлы

Файл Описание
/etc/passwd Информация о пользователях: username:x:UID:GID:comment:home:shell. Пароль хранится не здесь (символ x).
/etc/shadow Хеши паролей пользователей. Доступен только root.
/etc/group Информация о группах: groupname:x:GID:members.

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

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

# Более удобная команда (интерактивная, задаёт пароль и другие данные)
sudo adduser developer

# Задать/изменить пароль
sudo passwd developer

# Изменить параметры пользователя
sudo usermod -aG docker developer    # Добавить в группу docker
sudo usermod -s /bin/zsh developer    # Изменить оболочку
sudo usermod -L developer             # Заблокировать учётную запись

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

Управление группами

Пример
# Создать группу
sudo groupadd developers

# Добавить пользователя в группу
sudo usermod -aG developers developer

# Посмотреть группы пользователя
groups developer
id developer

# Удалить группу
sudo groupdel developers

Специальные пользователи

  • root (UID=0) — суперпользователь с неограниченными правами
  • Системные пользователи (UID 1-999 в Ubuntu) — создаются для запуска сервисов: www-data, postgres, mysql, nobody
  • Обычные пользователи (UID >= 1000) — учётные записи людей

Пример строки из /etc/passwd

Пример
developer:x:1001:1001:Java Developer:/home/developer:/bin/bash

Формат: имя:пароль(в shadow):UID:GID:комментарий:домашний_каталог:оболочка

На собеседовании: интервьюер хочет убедиться, что вы понимаете модель безопасности Linux. Ключевое — флаг -aG при usermod (Append to Group). Частая ошибка — использовать usermod -G без -a, что удалит пользователя из всех предыдущих групп.