Глава 8. Управление пользователями и группами

8.1. Введение

Проблема

В системе Linux как «живым» пользователям, так и системным процессам назначаются учётные записи (accounts), необходимые для управления привилегиями и правилами доступа.

Решение

Запомните два важнейших принципа безопасности Linux:

  1. Всегда используйте минимальный уровень привилегий, необходимый для выполнения работы.
  2. Используйте сильные пароли.

Соблюдение этих двух принципов избавит вас от многочисленных огорчений и неудач.

В Linux входит набор утилит для выполнения операций с пользователями и группами: useradd, groupadd, userdel, groupdel, usermod, groupmod, passwd, chfn и chsh. Эти утилиты принадлежат к семейству Shadow Suite, разработанному Джулианной Фрэнсис Хо (Julianne Frances Haugh) для улучшения защиты паролей и упрощения управления учётными записями.

Когда-то все файлы приходилось редактировать по отдельности, а шифрованные пароли хранились в файле /etc/passwd. Но поскольку файл /etc/passwd должен оставаться доступным для чтения, хранение паролей в нём, пусть даже в зашифрованном виде, может представлять угрозу безопасности. Скопировав этот файл, любой желающий может попытаться вычислить пароли.

Перемещение зашифрованных паролей в файл /etc/shadow, доступный только для привилегированного пользователя root, создаёт дополнительный уровень защиты.

Команда useradd по-разному работает в разных системах. Традиционно она включала всех новых пользователей в одну группу users(100). Это делало все домашние каталоги общедоступными, потому что все пользователи принадлежали к одной группе. В Red Hat эта схема была заменена на схему «User Privacy Group». В этой схеме для каждого нового пользователя создаётся приватная группа, идентификатор которой (GID) совпадает с идентификатором пользователя (UID).

Разумеется, разные пользователи имеют разные потребности. Некоторые могут предпочесть, чтобы их каталоги были открытыми для общего доступа. Тем не менее, фундаментальный принцип безопасности гласит: «сначала всё запретить, потом разрешать по мере необходимости».

Команды adduser и addgroup — это сценарные Perl-обёртки для команд useradd и groupadd. Эти сценарии предоставляют удобный интерфейс для создания новых учётных записей, но могут быть менее гибкими для серийных (batch) операций. В таких случаях вам может понадобиться внести изменения в сценарии adduser и addgroup.

Если вам нужно создать множество пользователей одновременно, в разделе 8.17 приведён сценарий для серийного создания новых пользователей и изменения паролей.

Комментарий

В современных системах Linux использование мощных инструментов для управления пользователями и группами значительно упрощает задачу управления безопасностью системы. Возможность сегрегации пользователей по группам и распределение привилегий позволяет избежать множества потенциальных уязвимостей.

Кроме того, особое внимание следует уделять политике создания и управления паролями. Использование утилит, предоставляющих дополнительные уровни защиты, таких как Shadow Suite, способствует защите данных и предотвращению несанкционированного доступа.

См. также

useradd(8), groupadd(8), passwd(1), Shadow Suite, Perl.