Planetahost VPS
Перейти к основному контенту

Работа с пользователями в Linux

intro-Working-with-Users-Linux-planetahost.png

Версия: для дистрибутивов на базе Linux (Debian/Ubuntu, CentOS/RHEL, Fedora, openSUSE)
Целевая аудитория: администраторы хостинга, веб-разработчики, пользователи VPS

Linux - многопользовательская система.
Управление пользователями и группами - базовая задача при настройке сервера, выдаче доступа или обеспечении безопасности.

В этой статье разберём все аспекты работы с учётными записями.

Типы пользователей в Linux

Все пользователи делятся на три категории:

Тип UID Описание

Системные

(служебные)

обычно 1–999

(в старых системах 1–499)

Создаются при установке ПО. Используются демонами и службами (www-data, mysql, systemd-network). Не предназначены для входа в систему.
Обычные (непривилегированные)

1000–65533

(на многих системах начиная с 1000)

Создаются администратором для реальных пользователей. Имеют домашнюю директорию и ограниченные права.
Суперпользователь (root) 0 Абсолютные права на всю систему. Используется только для администрирования.

Проверить тип пользователя можно по его UID (см. следующий раздел).

Что такое UID?

UID (User IDentifier) — уникальный числовой идентификатор пользователя. Система оперирует именно UID, а не именем. Основные значения:

  • 0 — root
  • 1–999 — системные пользователи (зарезервированы)
  • 1000+ — обычные пользователи (верхняя граница зависит от настроек, обычно 65533)

При создании нового обычного пользователя система автоматически назначает следующий доступный UID, начиная с 1000 (или с UID_MIN, заданного в /etc/login.defs).

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

Имя пользователя должно соответствовать следующим правилам (обычно):

  • Длина от 1 до 32 символов.
  • Допустимые символы: буквы латиницы (a–z, A–Z), цифры (0–9), точка (.), дефис (-), подчёркивание (_), знак доллара ($ — не рекомендуется).
  • Имя должно начинаться с буквы или подчёркивания (не может начинаться с цифры или дефиса).
  • Не должно совпадать с зарезервированными именами (root, daemon, bin и т.д.).
  • Регистр символов учитывается: User и user — разные пользователи.

Проверить допустимость имени можно с помощью утилиты useradd -N или просто создав тестового пользователя.

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

Файлы с информацией

  • /etc/passwd — список всех пользователей (доступен для чтения всем). Формат строки:
    имя:x:UID:GID:описание:домашняя_директория:shell
  • /etc/shadow — хеши паролей и данные об их истечении (доступен только root).

Пример просмотра:

cat /etc/passwd | grep username

Команды для получения информации о текущем пользователе

Команда Что показывает
whoami имя текущего пользователя
id UID, GID, группы текущего пользователя
id -u только UID
groups список групп текущего пользователя
logname исходное имя пользователя, под которым выполнен вход

Команды для информации о любом пользователе

Команда Что показывает
id username UID, GID и группы username
finger username расширенная информация (если установлено)
getent passwd usernam получить запись из passwd (учитывает LDAP/NIS)

Пользователи, вошедшие в систему

Команда Что показывает
who список активных сессий
w более под