selabel_x(5) | Документация API SELinux | selabel_x(5) |
selabel_x - интерфейс проставления меток SELinux в пространстве пользователя и формат файла конфигурации для внутренней службы контекстов оконной системы X Window System. Эта внутренняя служба также используется для определения контекста по умолчанию, который следует присвоить подключённым удалённо клиентам X
#include <selinux/label.h>
int selabel_lookup(struct selabel_handle
*hnd,
char **context,
const char *object_name, int object_type);
int selabel_lookup_raw(struct selabel_handle
*hnd,
char **context,
const char *object_name, int
object_type);
Внутренняя
служба
контекстов
X
сопоставляет
имена
объектов X Window
System с
контекстами
безопасности.
Это
действие
служит для
нахождения
правильного
контекста
для
объектов X Window
System,
значимость
и/или
семантика
использования
которых в
основном
определяются
именем.
Необходимо
освободить
возвращённый
context с
помощью freecon(3).
selabel_lookup(3)
описывает
функцию с
её
возвращаемыми
значениями
и кодами
ошибок.
Эта внутренняя служба также используется для определения контекста по умолчанию, который следует назначить для подключённых удалённо клиентов X.
Для аргумента object_type необходимо установить одно из следующих значений:
Все сообщения, созданные selabel_lookup(3), по умолчанию отправляются в stderr. Это поведение можно изменить с помощью selinux_set_callback(3).
selabel_lookup_raw работает аналогично selabel_lookup, но не выполняет преобразование контекста.
В разделе ФАЙЛЫ приводится описание файлов конфигурации, которые используются для определения контекстов объектов Х.
Помимо глобальных параметров, описание которых приведено в selabel_open(3), эта внутренняя служба распознаёт следующие параметры:
То, какой файл контекста Х будет использоваться для получения контекста по умолчанию, зависит от параметра SELABEL_OPT_PATH, переданного в selabel_open(3). Если NULL, то значением SELABEL_OPT_PATH по умолчанию станет расположение контекстов Х активной политики (возвращённое selinux_x_context_path(3)). В ином случае будет использовано фактическое указанное значение SELABEL_OPT_PATH.
Файл контекстов объектов Х по умолчанию:
Где {SELINUXTYPE} - запись из файла конфигурации selinux config (см. selinux_config(5)).
Записи, находящиеся внутри файла контекстов X, показаны в разделах Значения строки имени объекта и ФОРМАТ ФАЙЛА.
Имена строк, назначенные аргументам object_type, которые могут присутствовать в файле контекстов X:
object_type | Текстовое имя |
SELABEL_X_PROP | property |
SELABEL_X_SELN | selection |
SELABEL_X_EXT | extension |
SELABEL_X_EVENT | event |
SELABEL_X_CLIENT | client |
SELABEL_X_POLYPROP | poly_property |
SELABEL_X_POLYSELN | poly_selection |
Каждая строка внутри файла контекстов X имеет следующий вид:
Где:
Пример 1:
# object_type object_name context selection PRIMARY system_u:object_r:clipboard_xselection_t:s0 selection * system_u:object_r:xselection_t:s0
Пример 2 - этот пример показывает, как можно настроить запись клиента таким образом, чтобы она всегда находилась:
# object_type object_name context client * system_u:object_r:remote_t:s0
selinux(8), selabel_open(3), selabel_lookup(3), selabel_stats(3), selabel_close(3), selinux_set_callback(3), selinux_x_context_path(3), freecon(3), selinux_config(5)
Перевод на русский язык выполнила Герасименко Олеся <gammaray@basealt.ru>.
29 ноября 2011 | Security Enhanced Linux |