You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

169 lines
11 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

.\" Hey Emacs! This file is -*- nroff -*- source.
.\"
.\" Author: Eamon Walsh (ewalsh@tycho.nsa.gov) 2007
.TH "selabel_x" "5" "29 ноября 2011" "Security Enhanced Linux" "Документация API SELinux"
.SH "ИМЯ"
selabel_x \- интерфейс проставления меток SELinux в пространстве пользователя и формат файла конфигурации для внутренней службы контекстов оконной системы X Window System. Эта внутренняя служба также используется для определения контекста по умолчанию, который следует присвоить подключённым удалённо клиентам X
.
.SH "ОБЗОР"
.B #include <selinux/label.h>
.sp
.BI "int selabel_lookup(struct selabel_handle *" hnd ,
.in +\w'int selabel_lookup('u
.BI "char **" context ,
.br
.BI "const char *" object_name ", int " object_type ");"
.in
.sp
.BI "int selabel_lookup_raw(struct selabel_handle *" hnd ,
.in +\w'int selabel_lookup('u
.BI "char **" context ,
.br
.BI "const char *" object_name ", int " object_type ");"
.
.SH "ОПИСАНИЕ"
Внутренняя служба контекстов X сопоставляет имена объектов X Window System с контекстами безопасности. Это действие служит для нахождения правильного контекста для объектов X Window System, значимость и/или семантика использования которых в основном определяются именем. Необходимо освободить возвращённый \fIcontext\fR с помощью \fBfreecon\fR(3).
.br
\fBselabel_lookup\fR(3) описывает функцию с её возвращаемыми значениями и кодами ошибок.
.sp
Эта внутренняя служба также используется для определения контекста по умолчанию, который следует назначить для подключённых удалённо клиентов X.
.sp
Для аргумента \fIobject_type\fR необходимо установить одно из следующих значений:
.RS
.TP
.B SELABEL_X_PROP
Аргумент
.I object_name
указывает имя свойства окна, например, "WM_NAME".
.TP
.B SELABEL_X_SELN
Аргумент
.I object_name
указывает имя выделения, например, "PRIMARY".
.TP
.B SELABEL_X_EXT
Аргумент
.I object_name
указывает имя расширения протокола, например, "RENDER".
.TP
.B SELABEL_X_EVENT
Аргумент
.I object_name
указывает имя типа события, например, "X11:ButtonPress".
.TP
.B SELABEL_X_CLIENT
Аргумент
.I object_name
игнорируется, но его значением необходимо установить либо \fI*\fR (звёздочка, 'подстановочный знак': будет выбрана запись по умолчанию), либо конкретную запись, такую как "remote" в файле контекстов X, как показано в разделе \fBПРИМЕР\fR. В этом случае будет возвращён контекст по умолчанию, который следует присвоить удалённым клиентам X.
.TP
.B SELABEL_X_POLYPROP
Работает аналогично
.BR SELABEL_X_PROP ,
но проверяет, было ли свойство отмечено как многоэкземплярное. См. \fBПРИМЕЧАНИЯ\fR далее.
.TP
.B SELABEL_X_POLYSELN
Аналогично
.BR SELABEL_X_SELN ,
но проверяет, было ли выделение отмечено как многоэкземплярное. См. \fBПРИМЕЧАНИЯ\fR далее.
.RE
.sp
Все сообщения, созданные \fBselabel_lookup\fR(3), по умолчанию отправляются в \fIstderr\fR. Это поведение можно изменить с помощью \fBselinux_set_callback\fR(3).
.sp
.B selabel_lookup_raw
работает аналогично \fBselabel_lookup\fR, но не выполняет преобразование контекста.
.sp
В разделе \fBФАЙЛЫ\fR приводится описание файлов конфигурации, которые используются для определения контекстов объектов Х.
.
.SH "ПАРАМЕТРЫ"
Помимо глобальных параметров, описание которых приведено в \fBselabel_open\fR(3), эта внутренняя служба распознаёт следующие параметры:
.RS
.TP
.B SELABEL_OPT_PATH
Значение этого параметра, отличное от null, определяет путь к файлу, который будет открыт вместо стандартного файла контекстов Х (подробные сведения см. в разделе \fBФАЙЛЫ\fR).
.RE
.
.SH "ФАЙЛЫ"
То, какой файл контекста Х будет использоваться для получения контекста по умолчанию, зависит от параметра \fBSELABEL_OPT_PATH\fR, переданного в \fBselabel_open\fR(3). Если \fINULL\fR, то значением \fBSELABEL_OPT_PATH\fR по умолчанию станет расположение контекстов Х активной политики (возвращённое \fBselinux_x_context_path\fR(3)). В ином случае будет использовано фактическое указанное значение \fBSELABEL_OPT_PATH\fR.
.sp
Файл контекстов объектов Х по умолчанию:
.RS
.I /etc/selinux/{SELINUXTYPE}/contexts/x_contexts
.RE
.sp
Где \fI{SELINUXTYPE}\fR - запись из файла конфигурации selinux \fIconfig\fR (см. \fBselinux_config\fR(5)).
.sp
Записи, находящиеся внутри файла контекстов X, показаны в разделах \fBЗначения строки имени объекта\fR и \fBФОРМАТ ФАЙЛА\fR.
.
.SH "Значения строки имени объекта"
Имена строк, назначенные аргументам \fIobject_type\fR, которые могут присутствовать в файле контекстов X:
.TS
center, allbox, tab(@);
lI lB
lB l .
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
.TE
.
.SH "ФОРМАТ ФАЙЛА"
Каждая строка внутри файла контекстов X имеет следующий вид:
.RS
.I object_type object_name context
.RE
.sp
Где:
.RS
.I object_type
.RS
Это строковое представление типа объекта, показанное в разделе \fBЗначения строки имени объекта\fR.
Несколько строк с одной и той же строкой \fIobject_type\fR сформируют блок записей (каждая со своей строкой \fIobject_name\fR).
.RE
.I object_name
.RS
Это имена объектов конкретного ресурса сервера X, например,
\fBPRIMARY\fR, \fBCUT_BUFFER0\fR и т.д. Обычно они определены в исходном коде сервера X (\fIprotocol.txt\fR и \fIBuiltInAtoms\fR в каталоге
dix исходного пакета xorg\-server).
Запись может содержать подстановочные знаки '*' или '?' для выполнения сопоставления с дополнением или подстановкой.
Следует учитывать, что при использовании '*' важен порядок записей в файле. '*' в отдельном виде используется для того, чтобы обеспечить назначение резервного контекста по умолчанию, это должна быть последняя запись в блоке \fIobject_type\fR.
.RE
.I context
.RS
Контекст безопасности, который будет применён к объекту.
.RE
.RE
.sp
Пример 1:
.sp
.nf
# object_type object_name context
selection PRIMARY system_u:object_r:clipboard_xselection_t:s0
selection * system_u:object_r:xselection_t:s0
.fi
.sp
Пример 2 - этот пример показывает, как можно настроить запись клиента таким образом, чтобы она всегда находилась:
.sp
.nf
# object_type object_name context
client * system_u:object_r:remote_t:s0
.fi
.
.SH "ПРИМЕЧАНИЯ"
.IP "1." 4
Свойства и выделения отмечаются как многоэкземплярные или нет. Для этих типов имён параметр "POLY" выполняет поиск только имён, которые отмечены как многоэкземплярные, в то время как другой параметр выполняет поиск только имён, которые отмечены как не многоэкземплярные. Пользователям этого интерфейса следует проверить оба сопоставления и затем (необязательно) действовать на основе полученного результата (например, сделать объект многоэкземплярным).
.IP "2." 4
Если контексты должны быть проверены, необходимо указать глобальный параметр \fBSELABEL_OPT_VALIDATE\fR перед вызовом \fBselabel_open\fR(3). Если этот параметр не указан, может быть возвращён недействительный контекст.
.
.SH "СМОТРИТЕ ТАКЖЕ"
.ad l
.nh
.BR 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) "
.SH АВТОРЫ
Перевод на русский язык выполнила Герасименко Олеся <gammaray@basealt.ru>.