| .\" 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>. |