useradd, usermod, userdel

Тема дорожной карты · Linux & Unix Fundamentals

Утилиты useradd, usermod, и userdel являются ключевыми инструментами управления пользователями в Linux. Они позволяют создавать, изменять и удалять учетные записи пользователей, что важно для обеспечения безопасности и управления доступом в системе. Эти команды являются низкоуровневыми инструментами, обеспечивающими базовую функциональность для управления пользователями.

Как это работает

useradd создаёт учётку и (с опцией -m) домашний каталог пользователя, используя шаблон, определённый в /etc/skel. Команда usermod позволяет изменять различные параметры учётной записи, такие как UID, оболочка пользователя, состав групп и блокировка учётки. Команда userdel удаляет учётную запись пользователя, а опция -r позволяет удалить вместе с ней и домашний каталог пользователя.

Пользователи определяются в файле /etc/passwd, где хранится информация о пользователях, включая имя, UID, домашний каталог и оболочку. Пароли (в виде хешей) хранятся в файле /etc/shadow, а группы — в файле /etc/group. Каждый процесс выполняется под определённым пользователем (UID) и группами (GID), включая основную и дополнительные группы. Системные пользователи (обычно с UID меньше 1000) используются для запуска демонов и служб, в то время как пользователи с UID выше 1000 обычно используются для пользовательских учетных записей.

Когда применять

Утилиты useradd, usermod и userdel используются для управления учетными записями пользователей. Например, вы можете создать учетную запись для каждого долгоживущего сервиса, используя команду useradd -r -s /usr/sbin/nologin myapp, чтобы запускать сервисы под непривилегированным пользователем, а не под root. Это помогает минимизировать риск, связанный с выполнением сервисов под привилегированным пользователем.

Для управления привилегиями можно использовать утилиту sudo, которая позволяет временно повысить привилегии пользователя. Настройки sudo обычно хранятся в файле /etc/sudoers, который можно редактировать с помощью утилиты visudo, чтобы избежать синтаксических ошибок. Настраивайте sudo так, чтобы он требовал ввода пароля и логировал действия пользователя.

Типичные ошибки

Типичные ошибки при использовании утилит управления пользователями включают редактирование файла /etc/sudoers без использования утилиты visudo, что может привести к синтаксической ошибке и неработоспособности системы. Другая распространённая ошибка — использование общего аккаунта для разработчиков, что затрудняет отслеживание действий каждого инженера. Также важно избегать добавления пользователей в группу wheel или sudo без предварительного обдумывания. После ухода инженера важно удалять его SSH-ключи из файла ~/.ssh/authorized_keys, чтобы предотвратить несанкционированный доступ.

Связанные понятия

Полезные ресурсы