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, чтобы предотвратить несанкционированный доступ.