Читать «Fedora 8 Руководство пользователя» онлайн - страница 120

Денис Николаевич Колисниченко

Системе SELinux можно доверять только потому, что она была разработана агентством национальной безопасности США, а затем уже была передана миру OpenSource. Такая организация, как NSA, не могла сделать небезопасную систему.

Нужно отметить, что SELinux по-настоящему нужна на сервере или компьютере, содержащем важную информацию. На домашнем компьютере она не нужна, поэтому ее можно смело отключить. В данной главе мы не будем подробно рассматривать все возможности SELinux, поскольку книга рассчитана на рядового пользователя, а не системного администратора, Обычному же пользователю будет достаточно информации, приведенной в этом разделе.

7.7.2. Базовые понятия SELinux: сущность, роль и домен

Чтобы настроить SELinux, вам нужно ознакомиться с ее базовыми понятиями: сущность, роль и домен.

Сущность (identity) является частью контекста безопасности, который задает домены, в которые можно войти. Говоря более простым, языком, сущность определяет, что можно сделать. Например, сущность den определяет, что может сделать пользователь den.

Но сущность не является идентификатором или именем пользователя! Не нужно отождествлять имя пользователя с сущностью: есть имя пользователя 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),2(daemon),3(sys),4(adm),6(disk),10(wheel) context=user_r:system_r:unconfined_t

Обратите внимание: UID (идентификатор пользователя) изменился, а сущность осталась прежней - user_r. Ради эксперимента, введите следующую команду:

/sbin/init 3

Рис. 7.14. Команда id om имени обычного пользователя

Вы перейдете на третий уровень запуска. Войдите в систему как пользователь root. Затем введите команду id, и вы получите следующий вывод (рис. 7.15):

uid=0(root) gid=0(root) группы=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel) context=root:system_r:unconfined_t:SystemLow-SystemHigh

Рис. 7.15. Команда id om имени пользователя root

Обратите внимание: изменилась сущность и контекст безопасности. Это доказывает, что сущность никак не привязана к идентификатору пользователя.

Пора разобраться, что же такое роль и домен. Домен (domain) определяет привилегии процесса; он представляет собой список возможностей, т.е. действий, которые разрешены процессу. Описывать данные действия самостоятельно вам не придется, об этом уже позаботились разработчики Fedora, описав более 200 процессов, которые могут выполняться в операционной системе. Все остальные процессы, которые не описаны в политике безопасности, попадают в домен unconfined_t. Данные процессы не защищаются SELinux.

Иногда домен называют типом. Тип (type) - это то же самое, что и домен, но домен относится к процессам, а тип - к файлам, каталогам, сетевым сокетам.