Назад | Перейти на главную страницу

Какое влияние на файл в SELinux оказывают метки пользователя и роли?

При беге ls -dZ /, Я получаю следующий результат:

system_u:object_r:root_t:s0

Могут ли поля пользователя и роли иметь какие-либо права доступа к файлу? Они что-нибудь значат?

TL; DR: Да, они могут иметь эффект, но на вашу систему, вероятно, нет.


Сначала немного предыстории:

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

Вы смотрите на следующие атрибуты: пользователь SELinux, роль и тип (или домен) файла или процесса. В SELinux входящие в систему пользователи сопоставляются с пользователями SELinux, а затем пользователям SELinux назначаются роли, которые им разрешено выполнять. У каждой роли есть набор доменов, в которые она может перейти. Таким образом, можно переключить роль пользователя (пользователи могут переключать свою роль с помощью newrole команда, если им разрешено менять роли), чтобы предоставить или запретить доступ к совершенно другому набору доменов.

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

Если вы используете значение по умолчанию целевой политика, пользователь и роль почти полностью не используются, так как эта политика действительно очень мало влияет на управление доступом на основе пользователей или ролей, вместо этого фокусируясь на ограничении внешних сервисов. Эта политика имеет некоторую поддержку для ограничения пользователей, но по умолчанию она отключена, и все интерактивные входы пользователей не ограничены.

Под строгий или мл политики, однако контроль доступа на основе пользователей и ролей гораздо более интенсивно используется. Пользователи всегда ограничены этими политиками, и даже то, что root пользователь может ограничить, поместив пользователя root в sysadm_r роль. Обратите внимание, что мл политика вызывает сбой X, поэтому вы обычно не увидите ее на рабочих станциях.

Большинство систем SELinux, с которыми вы, вероятно, столкнетесь, будут использовать только целевой политика; необычно найти строгий или мл используется, хотя вы увидите его в тех местах, где требуется безопасность на основе пользователей и ролей (например, подрядчики по обороне). В этих случаях вы также, вероятно, увидите, что они настроили используемых пользователей и роли.

Можно написать полную политику SELinux с нуля, но поскольку это много работы и таит в себе собственный набор кошмаров (например, документация или ее отсутствие), вы нечасто увидите это. Хотя, если вы хотите увидеть демонстрацию управления доступом на основе ролей, этот пример от IBM политика написана с нуля служит хорошо.

(Полный ответ был бы еще более теоретическим, поэтому я просто оставлю вас с этим. Изо дня в день SELinux Руководство пользователя ваш друг, а для действительно сложных вопросов о SELinux список рассылки тоже твой друг.)