Система контроля доступа позволяет устанавливать права доступа к файлам не только для отдельных пользователей, но и для отдельных процессов. Например, FTP-серверу ProFTPD не нужен доступ ко всем файлам из каталога /etc. Ему нужен доступ только к каталогу, содержащему его конфигурационные файлы - /etc/proftpd. Контроль доступа к файлам, если установлена система контроля доступа, осуществляется в два этапа.
1.
SELinux (Security-Enhanced Linux - Linux с улучшенной безопасностью) - система принудительного контроля доступа. SELinux считается одной из самых совершенных (понятно, при правильной настройке) систем контроля доступа, обеспечивающих максимальную безопасность. Сейчас она входит в состав ядра Linux и поставляется в составе многих дистрибутивов, Но по-прежнему есть и такие дистрибутивы, в которых SELinux не используется.
Системе SELinux можно доверять только потому, что она была разработана агентством национальной безопасности США, а затем уже была передана миру OpenSource. Такая организация, как NSA, не могла сделать небезопасную систему.
Нужно отметить, что SELinux по-настоящему нужна на сервере или компьютере, содержащем важную информацию. На домашнем компьютере она не нужна, поэтому ее можно смело отключить. В данной главе мы не будем подробно рассматривать все возможности SELinux, поскольку книга рассчитана на рядового пользователя, а не системного администратора, Обычному же пользователю будет достаточно информации, приведенной в этом разделе.
7.7.2. Базовые понятия SELinux: сущность, роль и домен
Чтобы настроить SELinux, вам нужно ознакомиться с ее базовыми понятиями: сущность, роль и домен.
Но сущность не является идентификатором или именем пользователя! Не нужно отождествлять имя пользователя с сущностью: есть имя пользователя den, а есть сущность den. Чтобы нам было понятнее откройте терминал и введите команду id. Вы получите такой вывод:
uid=500(den) gid=500(den) группы=500 (den) context=user_r:system_r:unconfined_t
Теперь введите команду su, а затем снова команду id. Вы получите следующий вывод (рис. 7.14):
uid=0(root) gid=0(root) группы=0(root),1(bin)
Обратите внимание: UID (идентификатор пользователя) изменился, а сущность осталась прежней - user_r. Ради эксперимента, введите следующую команду:
/sbin/init 3
Вы перейдете на третий уровень запуска. Войдите в систему как пользователь root. Затем введите команду id, и вы получите следующий вывод (рис. 7.15):
uid=0(root) gid=0(root) группы=0(root),1(bin),2(daemon),3(sys)
Обратите внимание: изменилась сущность и контекст безопасности. Это доказывает, что сущность никак не привязана к идентификатору пользователя.
Пора разобраться, что же такое роль и домен.
Иногда домен называют типом. Тип (type) - это то же самое, что и домен, но домен относится к процессам, а тип - к файлам, каталогам, сетевым сокетам.
Роль (role) задает список доменов, которые могут быть использованы. Вот пример описания роли в конфигурационном файле (об этом позже): role user_r types user_passwd_t
Данная запись означает, что роли user_r разрешен доступ к домену user_passwd_t, т.е. пользователям с этой ролью разрешено использовать программу passwd для смены своего пароля.
Говоря обобщенно, сущность определяет, какие домены и какие роли, могут быть использованы.
Контекст безопасности состоит из сущности, роли и домена. Контекст безопасности выводится в формате:
context=сущность;роль;домен
Команда id выводит как раз контекст безопасности.
Вильям Л Саймон , Вильям Саймон , Наталья Владимировна Макеева , Нора Робертс , Юрий Викторович Щербатых
Зарубежная компьютерная, околокомпьютерная литература / ОС и Сети, интернет / Короткие любовные романы / Психология / Прочая справочная литература / Образование и наука / Книги по IT / Словари и Энциклопедии