Пользователи и группы
Тема дорожной карты · Linux & Unix Fundamentals
Пользователи и группы в Linux — это основные механизмы управления доступом к ресурсам системы. Каждый пользователь идентифицируется уникальным идентификатором (UID), который используется для определения прав доступа к файлам и директориям. Для каждого пользователя существует первичная группа (GID), которая также уникальна, и дополнительные группы, которые определяют дополнительные права доступа. Пароли и хеши паролей хранятся в специальных файлах: /etc/shadow для паролей и /etc/passwd для базовой информации о пользователях. Системные учётные записи, имеющие UID менее 1000, зарезервированы для демонов и служб, чтобы минимизировать риски безопасности.
Как это работает
Пользователи и группы в Linux используются для управления доступом к ресурсам системы. Информация о пользователях хранится в файле /etc/passwd, где каждая строка представляет собой запись об одном пользователе. В этой записи содержится имя пользователя, его UID, первичная GID, домашний каталог и командная строка по умолчанию. Пароли пользователей хранятся в защищённом файле /etc/shadow, который доступен только для чтения суперпользователя. Информация о группах содержится в файле /etc/group, где каждая строка представляет собой запись об одной группе, включая имя группы, её GID, список пользователей, входящих в группу, и список дополнительных групп.
Каждый процесс в Linux выполняется под определённым пользователем и группами. Это позволяет операционной системе контролировать доступ к файлам и директориям на основе принадлежности пользователя и групп. Системные учётные записи (UID < 1000) зарезервированы под демонов и служб, чтобы минимизировать риски безопасности. Команды useradd, usermod, и userdel используются для создания, изменения и удаления пользователей, соответственно. Аналогичные команды groupadd, groupmod, и groupdel используются для управления группами.
Когда применять
Пользователи и группы следует использовать для каждого долгого сервиса, запущенного под выделенным непривилегированным пользователем. Это позволяет изолировать сервисы и минимизировать риски, связанные с использованием привилегированных учётных записей. Настройка sudo для требований пароля и логирования является важным шагом для обеспечения безопасности системы. Удалённый доступ к системе следует настроить с использованием SSH-ключей, чтобы минимизировать риски, связанные с использованием паролей.
Типичные ошибки
Одной из распространённых ошибок является правка файлов /etc/sudoers без использования команды visudo, что может привести к блокировке системы. Также распространённой ошибкой является использование общего аккаунта разработчика между многими инженерами, что затрудняет аудит и отслеживание действий. Присвоение группы wheel или sudo без раздумий также может привести к нежелательным последствиям. Наконец, неудалённые ключи ушедших инженеров из файла ~/.ssh/authorized_keys могут представлять собой уязвимость для системы.