Файлы System/bin Android 12. Справочник.


  Все     Команда     Скрипт     Служба     Приложение  

setenforce
Устанавливает режим SELinux

Симлинк на: [ ToyBox ]

Тип файла: команда
  Eng  

usage: setenforce [enforcing|permissive|0]

Устанавливает, является ли SELinux
принудительным (1) или разрешающим (0)

[ ToyBox ]     [ ManLinux ]

Комментарии
SELinux (Security Enhanced Linux) представляет собой продвинутый механизм
управления доступом.

Особенность механизма в том, что в дополнение к уже имеющейся в
Linux дискреционной модели (Discretionary Access Control) SELinux реализует ещё и обязательную модель управления доступом (Mandatory Access control).

SELinux имеет 3 режима работы:
1. Enforcing — доступ ограничивается в соответствии с политикой.
В этом случае запрещено всё, что в явном виде не разрешено.
Enforcing является режимом по умолчанию.

2. Permissive — в этом режиме SELinux ведёт лог действий, которые нарушают политику.
В режиме enforcing нарушающие политику действия были бы запрещены, здесь же сами действия разрешены.

3. Disabled — режим полного отключения SELinux.


SELinux (Security Enhanced Linux) — это система принудительного контроля доступа, реализованная на уровне ядра.

Основные термины, использующиеся в SELinux:


Домен — список действий, которые может выполнять процесс.
Обычно в качестве домена определяется минимально-возможный набор действий,
при помощи которых процесс способен функционировать.
Таким образом, если процесс дискредитирован, злоумышленнику не удастся нанести большого вреда.

Роль — список доменов, которые могут быть применены.
Если какого-то домена нет в списке доменов какой-то роли, то действия
из этого домена не могут быть применены.

Тип — набор действий, которые допустимы по отношения к объекту.
Тип отличается от домена тем, что он может применяться к пайпам,
каталогам и файлам, в то время как домен применяется к процессам.

Контекст безопасности — все атрибуты SELinux — роли, типы и домены.

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


2. Режимы работы SELinux


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

Enforcing: Режим по-умолчанию.
При выборе этого режима все действия, которые каким-то образом
нарушают текущую политику безопасности, будут блокироваться,
а попытка нарушения будет зафиксирована в журнале.

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

Disabled: Полное отключение системы принудительного контроля доступа.

Вы можете посмотреть текущий режим и другие настройки SELinux
(а в случае необходимости и изменить его) при помощи специального GUI-инструмента,
доступного в меню «Администрирование» (system-config-selinux).
Если же вы привыкли работать в консоли, то можете посмотреть текущий статус
командой sestatus.

Команда «setenforce» позволяет быстро переключаться между режимами
Enforcing и Permissive, изменения вступают в силу без перезагрузки.
Но если вы включаете или отключаете SELinux, требуется перезагрузка,
ведь нужно заново устанавливать метки безопасности в файловой системе.
Для того, чтобы выбрать режим по-умолчанию, который будет применяться
при каждой загрузке системы,
задайте значение строки 'SELINUX=' в файле /etc/selinux/config,
задав один из режимов — 'enforcing', 'permissive' или 'disabled'.
Например: 'SELINUX=permissive'.


Команда «chcon» позволяет изменяет контекст SELinux для файлов или каталогов
точно таким же образом, как команды «chown» и «chmod» позволяют менять
владельца файла или права доступа к нему в рамках стандартной системы контроля доступа.


Команда «restorecon» позволяет изменить контекст безопасности на тот,
который был присвоен по-умолчанию.