From 6e8eac7ce56cbd4a9c7747f2ffbba3e6ac50ccd5 Mon Sep 17 00:00:00 2001 From: eabdullin Date: Tue, 30 Apr 2024 15:48:14 +0000 Subject: [PATCH] import UBI libselinux-3.6-1.el9 --- .gitignore | 2 +- .libselinux.metadata | 2 +- SOURCES/0001-Use-SHA-2-instead-of-SHA-1.patch | 68 +- ...tomatically-install-Russian-translat.patch | 25 + ...inux-Remove-the-Russian-translations.patch | 583 ++++++ ...inux-Remove-the-Russian-translations.patch | 1741 +++++++++++++++++ SPECS/libselinux.spec | 18 +- 7 files changed, 2399 insertions(+), 40 deletions(-) create mode 100644 SOURCES/0002-Revert-Do-not-automatically-install-Russian-translat.patch create mode 100644 SOURCES/0003-Revert-libselinux-Remove-the-Russian-translations.patch create mode 100644 SOURCES/0004-Revert-libselinux-Remove-the-Russian-translations.patch diff --git a/.gitignore b/.gitignore index 9efbd3a..435bbba 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -SOURCES/libselinux-3.5.tar.gz +SOURCES/libselinux-3.6.tar.gz diff --git a/.libselinux.metadata b/.libselinux.metadata index e076e9a..19980c5 100644 --- a/.libselinux.metadata +++ b/.libselinux.metadata @@ -1 +1 @@ -9f1ca79a767b2a69e63e01b82d13cff9bc712f4a SOURCES/libselinux-3.5.tar.gz +169ddb7b691e37ea3ac5da6a1f65da07e53f3c99 SOURCES/libselinux-3.6.tar.gz diff --git a/SOURCES/0001-Use-SHA-2-instead-of-SHA-1.patch b/SOURCES/0001-Use-SHA-2-instead-of-SHA-1.patch index a65d9cb..e6a6809 100644 --- a/SOURCES/0001-Use-SHA-2-instead-of-SHA-1.patch +++ b/SOURCES/0001-Use-SHA-2-instead-of-SHA-1.patch @@ -1,4 +1,4 @@ -From 1dbd23dc2566b3fe9113bf09fd9e190dfd4651b6 Mon Sep 17 00:00:00 2001 +From 5d257019cb4de4681e60f6e15bf2c1be73275b9c Mon Sep 17 00:00:00 2001 From: Petr Lautrbach Date: Fri, 30 Jul 2021 14:14:37 +0200 Subject: [PATCH] Use SHA-2 instead of SHA-1 @@ -30,7 +30,7 @@ The use of SHA-1 in RHEL9 is deprecated create mode 100644 libselinux/src/sha256.h diff --git a/libselinux/include/selinux/label.h b/libselinux/include/selinux/label.h -index e8983606d93b..a35d84d63b0a 100644 +index ce189a3ae2fe..ce77d32dfed1 100644 --- a/libselinux/include/selinux/label.h +++ b/libselinux/include/selinux/label.h @@ -120,13 +120,13 @@ extern int selabel_lookup_best_match_raw(struct selabel_handle *rec, char **con, @@ -185,23 +185,23 @@ index c56326814b94..098c840fc59b 100644 .BR selabel_open (3) must be called specifying the required diff --git a/libselinux/src/Makefile b/libselinux/src/Makefile -index 70ba063ada5d..0c803d8d4aae 100644 +index 7aadb822afb0..d906c8811017 100644 --- a/libselinux/src/Makefile +++ b/libselinux/src/Makefile -@@ -125,7 +125,7 @@ DISABLE_FLAGS+= -DNO_MEDIA_BACKEND -DNO_DB_BACKEND -DNO_X_BACKEND \ +@@ -130,7 +130,7 @@ DISABLE_FLAGS+= -DNO_MEDIA_BACKEND -DNO_DB_BACKEND -DNO_X_BACKEND \ -DBUILD_HOST SRCS= callbacks.c freecon.c label.c label_file.c \ label_backends_android.c regex.c label_support.c \ - matchpathcon.c setrans_client.c sha1.c booleans.c + matchpathcon.c setrans_client.c sha256.c booleans.c - else LABEL_BACKEND_ANDROID=y endif + diff --git a/libselinux/src/label_file.c b/libselinux/src/label_file.c -index 74ae9b9feb70..33d395e414f0 100644 +index 4778f8f8cd4a..b902ff06a502 100644 --- a/libselinux/src/label_file.c +++ b/libselinux/src/label_file.c -@@ -1010,7 +1010,7 @@ static struct spec *lookup_common(struct selabel_handle *rec, +@@ -1093,7 +1093,7 @@ static struct spec *lookup_common(struct selabel_handle *rec, /* * Returns true if the digest of all partial matched contexts is the same as @@ -210,7 +210,7 @@ index 74ae9b9feb70..33d395e414f0 100644 * digest will always be returned. The caller must free any returned digests. */ static bool get_digests_all_partial_matches(struct selabel_handle *rec, -@@ -1019,39 +1019,39 @@ static bool get_digests_all_partial_matches(struct selabel_handle *rec, +@@ -1102,39 +1102,39 @@ static bool get_digests_all_partial_matches(struct selabel_handle *rec, uint8_t **xattr_digest, size_t *digest_len) { @@ -261,7 +261,7 @@ index 74ae9b9feb70..33d395e414f0 100644 return true; return false; -@@ -1071,22 +1071,22 @@ static bool hash_all_partial_matches(struct selabel_handle *rec, const char *key +@@ -1154,22 +1154,22 @@ static bool hash_all_partial_matches(struct selabel_handle *rec, const char *key return false; } @@ -293,7 +293,7 @@ index 74ae9b9feb70..33d395e414f0 100644 free(matches); return true; diff --git a/libselinux/src/label_internal.h b/libselinux/src/label_internal.h -index 782c6aa8cc0c..304e8d96490a 100644 +index ea60cd9a058f..77ac8173c7a9 100644 --- a/libselinux/src/label_internal.h +++ b/libselinux/src/label_internal.h @@ -13,7 +13,7 @@ @@ -334,10 +334,10 @@ index 782c6aa8cc0c..304e8d96490a 100644 }; diff --git a/libselinux/src/label_support.c b/libselinux/src/label_support.c -index 54fd49a5b7b9..4003eb8dc7af 100644 +index f7ab9292562e..1c3c1728f6ba 100644 --- a/libselinux/src/label_support.c +++ b/libselinux/src/label_support.c -@@ -115,7 +115,7 @@ int read_spec_entries(char *line_buf, const char **errbuf, int num_args, ...) +@@ -114,7 +114,7 @@ int read_spec_entries(char *line_buf, const char **errbuf, int num_args, ...) /* Once all the specfiles are in the hash_buf, generate the hash. */ void digest_gen_hash(struct selabel_digest *digest) { @@ -346,7 +346,7 @@ index 54fd49a5b7b9..4003eb8dc7af 100644 size_t remaining_size; const unsigned char *ptr; -@@ -123,19 +123,19 @@ void digest_gen_hash(struct selabel_digest *digest) +@@ -122,19 +122,19 @@ void digest_gen_hash(struct selabel_digest *digest) if (!digest) return; @@ -369,9 +369,9 @@ index 54fd49a5b7b9..4003eb8dc7af 100644 + Sha256Finalise(&context, (SHA256_HASH *)digest->digest); free(digest->hashbuf); digest->hashbuf = NULL; - return; + } diff --git a/libselinux/src/selinux_restorecon.c b/libselinux/src/selinux_restorecon.c -index 6b5f6921b82b..24604776974e 100644 +index 38f10f1c7edd..111b89aa8dc9 100644 --- a/libselinux/src/selinux_restorecon.c +++ b/libselinux/src/selinux_restorecon.c @@ -37,7 +37,7 @@ @@ -383,7 +383,7 @@ index 6b5f6921b82b..24604776974e 100644 #define STAR_COUNT 1024 -@@ -305,7 +305,7 @@ static uint64_t exclude_non_seclabel_mounts(void) +@@ -304,7 +304,7 @@ static uint64_t exclude_non_seclabel_mounts(void) static int add_xattr_entry(const char *directory, bool delete_nonmatch, bool delete_all) { @@ -392,7 +392,7 @@ index 6b5f6921b82b..24604776974e 100644 size_t i, digest_len = 0; int rc; enum digest_result digest_result; -@@ -329,15 +329,15 @@ static int add_xattr_entry(const char *directory, bool delete_nonmatch, +@@ -328,15 +328,15 @@ static int add_xattr_entry(const char *directory, bool delete_nonmatch, } /* Convert entry to a hex encoded string. */ @@ -411,7 +411,7 @@ index 6b5f6921b82b..24604776974e 100644 digest_result = match ? MATCH : NOMATCH; -@@ -357,7 +357,7 @@ static int add_xattr_entry(const char *directory, bool delete_nonmatch, +@@ -356,7 +356,7 @@ static int add_xattr_entry(const char *directory, bool delete_nonmatch, /* Now add entries to link list. */ new_entry = malloc(sizeof(struct dir_xattr)); if (!new_entry) { @@ -420,7 +420,7 @@ index 6b5f6921b82b..24604776974e 100644 goto oom; } new_entry->next = NULL; -@@ -365,15 +365,15 @@ static int add_xattr_entry(const char *directory, bool delete_nonmatch, +@@ -364,15 +364,15 @@ static int add_xattr_entry(const char *directory, bool delete_nonmatch, new_entry->directory = strdup(directory); if (!new_entry->directory) { free(new_entry); @@ -439,7 +439,7 @@ index 6b5f6921b82b..24604776974e 100644 goto oom; } -@@ -387,7 +387,7 @@ static int add_xattr_entry(const char *directory, bool delete_nonmatch, +@@ -386,7 +386,7 @@ static int add_xattr_entry(const char *directory, bool delete_nonmatch, dir_xattr_last = new_entry; } @@ -448,7 +448,7 @@ index 6b5f6921b82b..24604776974e 100644 return 0; oom: -@@ -775,7 +775,7 @@ err: +@@ -776,7 +776,7 @@ err: struct dir_hash_node { char *path; @@ -457,7 +457,7 @@ index 6b5f6921b82b..24604776974e 100644 struct dir_hash_node *next; }; /* -@@ -1281,7 +1281,7 @@ static int selinux_restorecon_common(const char *pathname_orig, +@@ -1282,7 +1282,7 @@ static int selinux_restorecon_common(const char *pathname_orig, if (setxattr(current->path, RESTORECON_PARTIAL_MATCH_DIGEST, current->digest, @@ -1179,7 +1179,7 @@ index 000000000000..406ed869cd82 + SHA256_HASH* Digest // [in] + ); diff --git a/libselinux/utils/selabel_digest.c b/libselinux/utils/selabel_digest.c -index 6a8313a2c88d..a69331f1c6b5 100644 +index bf22b472856c..b992d4230eb3 100644 --- a/libselinux/utils/selabel_digest.c +++ b/libselinux/utils/selabel_digest.c @@ -15,8 +15,8 @@ static __attribute__ ((__noreturn__)) void usage(const char *progname) @@ -1193,8 +1193,8 @@ index 6a8313a2c88d..a69331f1c6b5 100644 "-B Use base specfiles only (valid for \"-b file\" only).\n\t" "-i Do not request a digest.\n\t" "-f Optional file containing the specs (defaults to\n\t" -@@ -62,12 +62,12 @@ int main(int argc, char **argv) - int backend = 0, rc, opt, validate = 0; +@@ -63,12 +63,12 @@ int main(int argc, char **argv) + int rc, opt, validate = 0; char *baseonly = NULL, *file = NULL, *digest = (char *)1; char **specfiles = NULL; - unsigned char *sha1_digest = NULL; @@ -1208,7 +1208,7 @@ index 6a8313a2c88d..a69331f1c6b5 100644 struct selabel_handle *hnd; struct selinux_opt selabel_option[] = { -@@ -137,7 +137,7 @@ int main(int argc, char **argv) +@@ -138,7 +138,7 @@ int main(int argc, char **argv) return -1; } @@ -1217,7 +1217,7 @@ index 6a8313a2c88d..a69331f1c6b5 100644 &num_specfiles); if (rc) { -@@ -152,19 +152,19 @@ int main(int argc, char **argv) +@@ -153,19 +153,19 @@ int main(int argc, char **argv) goto err; } @@ -1242,7 +1242,7 @@ index 6a8313a2c88d..a69331f1c6b5 100644 printf("calculated using the following specfile(s):\n"); if (specfiles) { -@@ -177,13 +177,13 @@ int main(int argc, char **argv) +@@ -178,13 +178,13 @@ int main(int argc, char **argv) cmd_ptr += strlen(specfiles[i]) + 1; printf("%s\n", specfiles[i]); } @@ -1260,10 +1260,10 @@ index 6a8313a2c88d..a69331f1c6b5 100644 selabel_close(hnd); return rc; diff --git a/libselinux/utils/selabel_get_digests_all_partial_matches.c b/libselinux/utils/selabel_get_digests_all_partial_matches.c -index c4e0f836b260..80723f714264 100644 +index e2733b4195ff..98e533dc2692 100644 --- a/libselinux/utils/selabel_get_digests_all_partial_matches.c +++ b/libselinux/utils/selabel_get_digests_all_partial_matches.c -@@ -18,8 +18,8 @@ static __attribute__ ((__noreturn__)) void usage(const char *progname) +@@ -16,8 +16,8 @@ static __attribute__ ((__noreturn__)) void usage(const char *progname) "-v Validate file_contxts entries against loaded policy.\n\t" "-r Recursively descend directories.\n\t" "-f Optional file_contexts file (defaults to current policy).\n\t" @@ -1274,7 +1274,7 @@ index c4e0f836b260..80723f714264 100644 " against\na newly generated digest based on the " "file_context entries for that node\n(using the regx, mode " "and path entries).\n", progname); -@@ -37,7 +37,7 @@ int main(int argc, char **argv) +@@ -35,7 +35,7 @@ int main(int argc, char **argv) char *paths[2] = { NULL, NULL }; uint8_t *xattr_digest = NULL; uint8_t *calculated_digest = NULL; @@ -1283,7 +1283,7 @@ index c4e0f836b260..80723f714264 100644 struct selabel_handle *hnd; struct selinux_opt selabel_option[] = { -@@ -106,27 +106,27 @@ int main(int argc, char **argv) +@@ -104,27 +104,27 @@ int main(int argc, char **argv) &xattr_digest, &digest_len); @@ -1317,7 +1317,7 @@ index c4e0f836b260..80723f714264 100644 ftsent->fts_path); printf("as file_context entry is \"<>\"\n"); goto cleanup; -@@ -136,25 +136,25 @@ int main(int argc, char **argv) +@@ -134,25 +134,25 @@ int main(int argc, char **argv) ftsent->fts_path); for (i = 0; i < digest_len; i++) @@ -1349,5 +1349,5 @@ index c4e0f836b260..80723f714264 100644 } default: -- -2.39.0 +2.41.0 diff --git a/SOURCES/0002-Revert-Do-not-automatically-install-Russian-translat.patch b/SOURCES/0002-Revert-Do-not-automatically-install-Russian-translat.patch new file mode 100644 index 0000000..d2291da --- /dev/null +++ b/SOURCES/0002-Revert-Do-not-automatically-install-Russian-translat.patch @@ -0,0 +1,25 @@ +From a87290f734ba136e7b648a9ce9754767cbb5eed3 Mon Sep 17 00:00:00 2001 +From: Petr Lautrbach +Date: Mon, 13 Nov 2023 13:37:36 +0100 +Subject: [PATCH] Revert "Do not automatically install Russian translations" +Content-type: text/plain + +This reverts commit 14f35fde50cd080650ac3b0136234464a3ea6fbe. +--- + libselinux/man/Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/libselinux/man/Makefile b/libselinux/man/Makefile +index fdc0825f4204..4b3626d2f332 100644 +--- a/libselinux/man/Makefile ++++ b/libselinux/man/Makefile +@@ -1,5 +1,5 @@ + # Installation directories. +-LINGUAS ?= ++LINGUAS ?= ru + PREFIX ?= /usr + MANDIR ?= $(PREFIX)/share/man + MAN3SUBDIR ?= man3 +-- +2.41.0 + diff --git a/SOURCES/0003-Revert-libselinux-Remove-the-Russian-translations.patch b/SOURCES/0003-Revert-libselinux-Remove-the-Russian-translations.patch new file mode 100644 index 0000000..c80ee61 --- /dev/null +++ b/SOURCES/0003-Revert-libselinux-Remove-the-Russian-translations.patch @@ -0,0 +1,583 @@ +From e51435e095fcd2dbde3c7a0a4398012d037b9aa7 Mon Sep 17 00:00:00 2001 +From: Petr Lautrbach +Date: Mon, 13 Nov 2023 13:38:00 +0100 +Subject: [PATCH] Revert "libselinux: Remove the Russian translations" +Content-type: text/plain + +This reverts commit 84c195e18ccd9735c4eb947b1268d6d2b982cb5a. +--- + libselinux/man/ru/man8/avcstat.8 | 35 +++++++ + libselinux/man/ru/man8/booleans.8 | 46 +++++++++ + libselinux/man/ru/man8/getenforce.8 | 19 ++++ + libselinux/man/ru/man8/getsebool.8 | 40 ++++++++ + libselinux/man/ru/man8/matchpathcon.8 | 62 ++++++++++++ + libselinux/man/ru/man8/sefcontext_compile.8 | 70 +++++++++++++ + libselinux/man/ru/man8/selinux.8 | 106 ++++++++++++++++++++ + libselinux/man/ru/man8/selinuxenabled.8 | 21 ++++ + libselinux/man/ru/man8/selinuxexeccon.8 | 28 ++++++ + libselinux/man/ru/man8/setenforce.8 | 32 ++++++ + libselinux/man/ru/man8/togglesebool.8 | 23 +++++ + 11 files changed, 482 insertions(+) + create mode 100644 libselinux/man/ru/man8/avcstat.8 + create mode 100644 libselinux/man/ru/man8/booleans.8 + create mode 100644 libselinux/man/ru/man8/getenforce.8 + create mode 100644 libselinux/man/ru/man8/getsebool.8 + create mode 100644 libselinux/man/ru/man8/matchpathcon.8 + create mode 100644 libselinux/man/ru/man8/sefcontext_compile.8 + create mode 100644 libselinux/man/ru/man8/selinux.8 + create mode 100644 libselinux/man/ru/man8/selinuxenabled.8 + create mode 100644 libselinux/man/ru/man8/selinuxexeccon.8 + create mode 100644 libselinux/man/ru/man8/setenforce.8 + create mode 100644 libselinux/man/ru/man8/togglesebool.8 + +diff --git a/libselinux/man/ru/man8/avcstat.8 b/libselinux/man/ru/man8/avcstat.8 +new file mode 100644 +index 000000000000..b6d84964e7eb +--- /dev/null ++++ b/libselinux/man/ru/man8/avcstat.8 +@@ -0,0 +1,35 @@ ++.TH "avcstat" "8" "18 ноября 2004" "dwalsh@redhat.com" "Документация по командной строке SELinux" ++.SH "ИМЯ" ++avcstat \- показать статистику AVC (Access Vector Cache, кэш вектора доступа) SELinux ++. ++.SH "ОБЗОР" ++.B avcstat ++.RB [ \-c ] ++.RB [ \-f ++.IR status_file ] ++.RI [ interval ] ++. ++.SH "ОПИСАНИЕ" ++Показать статистику AVC SELinux. Если указан параметр ++.I interval ++, программа будет выполняться циклами, показывая обновлённую статистику каждые ++.I interval ++секунд. ++По умолчанию показываются относительные значения. ++. ++.SH ПАРАМЕТРЫ ++.TP ++.B \-c ++Показать совокупные значения. ++.TP ++.B \-f ++Указывает расположение файла статистики AVC, по умолчанию это ++.IR /sys/fs/selinux/avc/cache_stats . ++. ++.SH "СМОТРИТЕ ТАКЖЕ" ++.BR selinux (8) ++. ++.SH АВТОРЫ ++Эта страница руководства была написана Dan Walsh . ++Программа была написана James Morris . ++Перевод на русский язык выполнила Герасименко Олеся . +diff --git a/libselinux/man/ru/man8/booleans.8 b/libselinux/man/ru/man8/booleans.8 +new file mode 100644 +index 000000000000..20e5b00da25f +--- /dev/null ++++ b/libselinux/man/ru/man8/booleans.8 +@@ -0,0 +1,46 @@ ++.TH "booleans" "8" "11 августа 2004" "dwalsh@redhat.com" "Документация по командной строке SELinux" ++.SH "ИМЯ" ++booleans \- логические переключатели политики позволяют настраивать политику SELinux в среде выполнения ++. ++.SH "ОПИСАНИЕ" ++Эта страница руководства описывает логические переключатели политики SELinux. ++.BR ++Политика SELinux может включать условные правила, которое включены или отключены в зависимости от текущих значений набора логических переключателей политики. ++Эти логические переключатели политики позволяют изменять политику безопасности в среде выполнения без загрузки новой политики. ++ ++Например, логический переключатель httpd_enable_cgi (если он включён) позволяет управляющей программе httpd запускать сценарии cgi. Если администратору требуется запретить исполнение сценариев cgi, можно просто установить соответствующее значение этого переключателя. ++ ++Политика определяет значение по умолчанию для каждого логического переключателя, обычно это false. ++Эти значения по умолчанию можно переопределить через локальные параметры, созданные с помощью утилиты ++.BR setsebool (8) ++, используя ++.B \-P ++для сохранения параметра после перезагрузок. Средство ++.B system\-config\-securitylevel ++предоставляет графический интерфейс для изменения параметров. Программа ++.BR load_policy (8) ++по умолчанию сохранит текущие параметры логических переключателей после перезагрузки политики по умолчанию. При необходимости также можно сбросить значения логических переключателей на их значения по умолчанию при загрузке, для этого используется параметр ++.B \-b. ++ ++Для получения и вывода списка логических значений служит утилита ++.BR getsebool (8) ++с параметром ++.B \-a. ++ ++Логические значения также можно изменить во время выполнения с помощью утилиты ++.BR setsebool (8) ++или утилиты ++.BR togglesebool (8). ++По умолчанию эти утилиты изменяют только текущее логическое значение и не влияют на постоянные параметры, если в setsebool не используется параметр ++.B \-P. ++. ++.SH "СМОТРИТЕ ТАКЖЕ" ++.BR getsebool (8), ++.BR setsebool (8), ++.BR selinux (8), ++.BR togglesebool (8) ++. ++.SH АВТОРЫ ++Эта страница руководства была написана Dan Walsh . ++Поддержка условной политики SELinux была разработана Tresys Technology. ++Перевод на русский язык выполнила Герасименко Олеся . +diff --git a/libselinux/man/ru/man8/getenforce.8 b/libselinux/man/ru/man8/getenforce.8 +new file mode 100644 +index 000000000000..13589e19ae37 +--- /dev/null ++++ b/libselinux/man/ru/man8/getenforce.8 +@@ -0,0 +1,19 @@ ++.TH "getenforce" "8" "7 апреля 2004" "dwalsh@redhat.com" "Документация по командной строке SELinux" ++.SH "ИМЯ" ++getenforce \- получить текущий режим SELinux ++. ++.SH "ОБЗОР" ++.B getenforce ++. ++.SH "ОПИСАНИЕ" ++.B getenforce ++сообщает, в каком режиме работает SELinux (принудительный, разрешительный, отключённый). ++. ++.SH "СМОТРИТЕ ТАКЖЕ" ++.BR selinux (8), ++.BR setenforce (8), ++.BR selinuxenabled (8) ++. ++.SH АВТОРЫ ++Dan Walsh, . ++Перевод на русский язык выполнила Герасименко Олеся . +diff --git a/libselinux/man/ru/man8/getsebool.8 b/libselinux/man/ru/man8/getsebool.8 +new file mode 100644 +index 000000000000..04d9820ee49d +--- /dev/null ++++ b/libselinux/man/ru/man8/getsebool.8 +@@ -0,0 +1,40 @@ ++.TH "getsebool" "8" "11 августа 2004" "dwalsh@redhat.com" "Документация по командной строке SELinux" ++.SH "ИМЯ" ++getsebool \- получить логические значения SELinux ++. ++.SH "ОБЗОР" ++.B getsebool ++.RB [ \-a ] ++.RI [ boolean ] ++. ++.SH "ОПИСАНИЕ" ++.B getsebool ++сообщает, где включён или отключён конкретный логический переключатель ++или все логические переключатели SELinux. ++В некоторых ситуациях для логического переключателя может существовать ++ожидающее изменение (переход из одного состояние в другое) - getsebool ++сообщит об этом. ++Ожидающее значение - то значение, которое будет применено при ++следующей фиксации логического переключателя. ++ ++Установка значений логических переключателей выполняется в два этапа; ++сначала изменяется ожидающее значение, а затем логические переключатели ++фиксируются, в результате чего их активные значения заменяются ++ожидающими значениями. Это позволяет изменить группу логических ++переключателей за одну транзацию, задав все необходимые ожидающие ++значения и затем одновременно зафиксировав их. ++. ++.SH ПАРАМЕТРЫ ++.TP ++.B \-a ++Показать все логические переключатели SELinux. ++. ++.SH "СМОТРИТЕ ТАКЖЕ" ++.BR selinux (8), ++.BR setsebool (8), ++.BR booleans (8) ++. ++.SH АВТОРЫ ++Эта страница руководства была написана Dan Walsh . ++Программа была написана Tresys Technology. ++Перевод на русский язык выполнила Герасименко Олеся . +diff --git a/libselinux/man/ru/man8/matchpathcon.8 b/libselinux/man/ru/man8/matchpathcon.8 +new file mode 100644 +index 000000000000..5bd586d47db9 +--- /dev/null ++++ b/libselinux/man/ru/man8/matchpathcon.8 +@@ -0,0 +1,62 @@ ++.TH "matchpathcon" "8" "21 апреля 2005" "dwalsh@redhat.com" "Документация по командной строке SELinux" ++.SH "ИМЯ" ++matchpathcon \- получить текущий контекст безопасности SELinux для указанного пути из конфигурации контекстов файлов ++. ++.SH "ОБЗОР" ++.B matchpathcon ++.RB [ \-V ] ++.RB [ \-N ] ++.RB [ \-n ] ++.RB [ \-m ++.IR type ] ++.RB [ \-f ++.IR file_contexts_file ] ++.RB [ \-p ++.IR prefix ] ++.RB [ \-P ++.IR policy_root_path ] ++.I filepath... ++. ++.SH "ОПИСАНИЕ" ++.BR matchpathcon ++опрашивает системную политику и выводит контекст безопасности по умолчанию, связанный с путём к файлу. ++ ++.B Примечание: ++Одинаковые пути могут иметь разные контексты безопасности в зависимости от типа файла (обычный файл, каталог, файл связи, файл знаков ...). ++ ++.B matchpathcon ++также будет учитывать тип файла при определении контекста безопасности по умолчанию (если файл существует). Если файл не существует, сопоставление по типу файла не будет выполнено. ++. ++.SH ПАРАМЕТРЫ ++.TP ++.BI \-m " type" ++Принудительно указать тип файла для поиска. ++Действительные типы: ++.BR file ", " dir ", "pipe ", " chr_file ", " blk_file ", " ++.BR lnk_file ", " sock_file . ++.TP ++.B \-n ++Не показывать путь. ++.TP ++.B \-N ++Не использовать преобразования. ++.TP ++.BI \-f " file_context_file" ++Использовать альтернативный файл file_context ++.TP ++.BI \-p " prefix" ++Использовать префикс для ускорения преобразований ++.TP ++.BI \-P " policy_root_path" ++Использовать альтернативный корневой путь к политике ++.TP ++.B \-V ++Проверить контекст файла на диске на соответствие параметрам по умолчанию ++. ++.SH "СМОТРИТЕ ТАКЖЕ" ++.BR selinux "(8), " ++.BR matchpathcon (3) ++. ++.SH АВТОРЫ ++Эта страница руководства была написана Dan Walsh . ++Перевод на русский язык выполнила Герасименко Олеся . +diff --git a/libselinux/man/ru/man8/sefcontext_compile.8 b/libselinux/man/ru/man8/sefcontext_compile.8 +new file mode 100644 +index 000000000000..3a6b832a5319 +--- /dev/null ++++ b/libselinux/man/ru/man8/sefcontext_compile.8 +@@ -0,0 +1,70 @@ ++.TH "sefcontext_compile" "8" "12 августа 2015" "dwalsh@redhat.com" "Документация по командной строке SELinux" ++.SH "ИМЯ" ++sefcontext_compile \- скомпилировать файлы регулярных выражений контекстов файлов ++. ++.SH "ОБЗОР" ++.B sefcontext_compile ++.RB [ \-o ++.IR outputfile ] ++.RB [ \-p ++.IR policyfile ] ++.I inputfile ++. ++.SH "ОПИСАНИЕ" ++.B sefcontext_compile ++используется для компиляции регулярных выражений контекстов файлов в формат ++.BR pcre (3). ++.sp ++Скомпилированный файл используется функциями проставления меток файлов libselinux. ++.sp ++По умолчанию ++.B sefcontext_compile ++записывает скомпилированный файл pcre с суффиксом ++.B .bin ++в конце (например, \fIinputfile\fB.bin\fR). ++.SH ПАРАМЕТРЫ ++.TP ++.B \-o ++Указать ++.I outputfile ++- должно быть полным именем файла, так как суффикс ++.B .bin ++не добавляется автоматически. ++.TP ++.B \-p ++Указать двоичный ++.I policyfile ++для использования при проверке записей контекста в ++.I inputfile ++.br ++Если найден недействительный контекст, запись файла в формате pcre не будет выполнена и появится сообщение об ошибке. ++ ++.SH "ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ" ++При ошибке возвращается -1. При успешном завершении возвращается 0. ++ ++.SH "ПРИМЕРЫ" ++.B Пример 1: ++.br ++sefcontext_compile /etc/selinux/targeted/contexts/files/file_contexts ++.sp ++В результате создаётся следующий файл: ++.RS ++/etc/selinux/targeted/contexts/files/file_contexts.bin ++.RE ++.sp ++.B Пример 2: ++.br ++sefcontext_compile -o new_fc.bin /etc/selinux/targeted/contexts/files/file_contexts ++.sp ++В результате в текущем рабочем каталоге создаётся следующий файл: ++.RS ++new_fc.bin ++.RE ++. ++.SH "СМОТРИТЕ ТАКЖЕ" ++.BR selinux (8), ++.BR semanage (8) ++. ++.SH АВТОРЫ ++Dan Walsh, . ++Перевод на русский язык выполнила Герасименко Олеся . +diff --git a/libselinux/man/ru/man8/selinux.8 b/libselinux/man/ru/man8/selinux.8 +new file mode 100644 +index 000000000000..4ab642768be4 +--- /dev/null ++++ b/libselinux/man/ru/man8/selinux.8 +@@ -0,0 +1,106 @@ ++.TH "selinux" "8" "29 апреля 2005" "dwalsh@redhat.com" "Документация по командной строке SELinux" ++.SH "ИМЯ" ++SELinux \- Linux с улучшенной безопасностью от (SELinux) ++. ++.SH "ОПИСАНИЕ" ++Linux с улучшенной безопасностью от - это реализация гибкой архитектуры мандатного ++управления доступом в операционной системе Linux. Архитектура SELinux предоставляет ++общую поддержку использования различных видов политик мандатного управления доступом, ++включая основанные на концепциях Type Enforcement® (принудительное присвоение типов), ++Role-Based Access Control (управление доступом на основе ролей) и Multi-Level Security ++(многоуровневая безопасность). Дополнительная информация и техническая документация по ++SELinux доступна по адресу https://github.com/SELinuxProject. ++ ++Файл конфигурации ++.I /etc/selinux/config ++позволяет управлять включением и отключением SELinux и, если SELinux включён, ++устанавливать режим его работы - разрешительный или принудительный. Переменной ++.B SELINUX ++можно задать значение отключённой, разрешительной или принудительной, чтобы выбрать ++один из этих вариантов. Если выбрать отключение режима, код ядра и приложения SELinux ++будет полностью отключён, система будет работать без какой-либо защиты SELinux. ++При установке разрешительного режима код SELinux включён, но не выполняет отказы в ++доступе, а только журналирует те действия, которые были бы запрещены при ++принудительном режиме. При установке принудительного режима код SELinux включён, ++выполняет отказы в доступе и журналирует соответствующие попытки доступа. Набор ++отказов в доступе в разрешительном режиме может отличаться от этого набора в ++принудительном режиме как по причине того, что принудительный режим предотвращает ++дальнейшее выполнение операции после первого отказа, так и из-за того, что после ++получения отказа в доступе часть кода приложения вернётся к работе в менее ++привилегированном режиме. ++ ++Файл конфигурации ++.I /etc/selinux/config ++также управляет тем, какая политика активна в системе. SELinux позволяет установить ++в системе несколько политик, но одновременно можно использовать только одну из них. ++В настоящее время имеется несколько видов политики SELinux, например, целевая политика ++(targeted), политика многоуровневой безопасности (mls). Целевая политика позволяет ++большинству процессов пользователя выполняться без ограничений, помещая в отдельные ++домены безопасности, ограниченные политикой, только отдельные службы. Например, процессы ++пользователя выполняются в никак не ограниченном домене, в то время как именованная ++управляющая программа или управляющая программа apache будет выполняться в отдельном ++специально настроенном домене. Если используется политика MLS (Multi-Level Security), ++все процессы будут разделены по детально настроенным доменам безопасности и ограничены ++политикой. MLS также поддерживает модель Белла — Лападулы, в которой процессы ++ограничиваются не только по типу, но и по уровню данных. ++ ++Чтобы определить, какая политика будет выполняться, следует установить переменную среды ++.B SELINUXTYPE ++в ++.IR /etc/selinux/config . ++Чтобы применить к системе изменение типа политики, необходимо перезагрузить систему и, ++возможно, повторно проставить метки. В каталогах ++.I /etc/selinux/{SELINUXTYPE}/ ++необходимо установить для каждой такой политики соответствующую конфигурацию. ++ ++Дальнейшую настройку отдельной политики SELinux можно выполнить с помощью набора настраиваемых ++при компиляции параметров и набора логических переключателей среды выполнения политики. ++.B \%system\-config\-selinux ++позволяет настроить эти логические переключатели и настраиваемые параметры. ++ ++Многие домены, которые защищены SELinux, также содержат man-страницы SELinux с информацией ++о настройке соответствующей политики. ++. ++.SH "ПРОСТАВЛЕНИЕ МЕТОК ДЛЯ ФАЙЛОВ" ++Всем файлам, каталогам, устройствам ... назначены контексты безопасности/метки. Эти контексты хранятся в расширенных атрибутах файловой системы. ++Проблемы с SELinux часто возникают из-за неправильного проставления меток в файловой системе. Это может быть вызвано загрузкой компьютера с ядром, отличным от SELinux. Появление сообщения об ошибке, содержащего file_t, обычно означает серьёзную проблему с проставлением меток в файловой системе. ++ ++Лучшим способом повторного проставления меток в файловой системе является создание файла флага ++.I /.autorelabel ++и последующая перезагрузка. ++.BR system\-config\-selinux ++также имеет эту функциональность. Кроме того, для повторного проставления меток для файлов можно использовать команды ++.BR restorecon / fixfiles. ++. ++.SH ФАЙЛЫ ++.I /etc/selinux/config ++. ++.SH "СМОТРИТЕ ТАКЖЕ" ++.ad l ++.nh ++.BR booleans (8), ++.BR setsebool (8), ++.BR sepolicy (8), ++.BR system-config-selinux (8), ++.BR togglesebool (8), ++.BR restorecon (8), ++.BR fixfiles (8), ++.BR setfiles (8), ++.BR semanage (8), ++.BR sepolicy (8) ++ ++Для каждой ограниченной службы в системе имеется man-cтраница следующего формата: ++.br ++ ++.BR _selinux (8) ++ ++Например, для службы httpd имеется страница ++.BR httpd_selinux (8). ++ ++.B man -k selinux ++ ++Выведет список всех man-страниц SELinux. ++ ++.SH АВТОРЫ ++Эта страница руководства была написана Dan Walsh . ++Перевод на русский язык выполнила Герасименко Олеся . +diff --git a/libselinux/man/ru/man8/selinuxenabled.8 b/libselinux/man/ru/man8/selinuxenabled.8 +new file mode 100644 +index 000000000000..9c4af18b0151 +--- /dev/null ++++ b/libselinux/man/ru/man8/selinuxenabled.8 +@@ -0,0 +1,21 @@ ++.TH "selinuxenabled" "8" "7 апреля 2004" "dwalsh@redhat.com" "Документация по командной строке SELinux" ++.SH "ИМЯ" ++selinuxenabled \- утилита для использования внутри сценариев оболочки, которая позволяет определить, включён ли selinux ++. ++.SH "ОБЗОР" ++.B selinuxenabled ++. ++.SH "ОПИСАНИЕ" ++Показывает, включён или отключён SELinux. ++. ++.SH "СОСТОЯНИЕ ВЫХОДА" ++Выход с состоянием 0, если SELinux включён, и 1, если он отключён. ++. ++.SH "СМОТРИТЕ ТАКЖЕ" ++.BR selinux (8), ++.BR setenforce (8), ++.BR getenforce (8) ++. ++.SH АВТОРЫ ++Dan Walsh, . ++Перевод на русский язык выполнила Герасименко Олеся . +diff --git a/libselinux/man/ru/man8/selinuxexeccon.8 b/libselinux/man/ru/man8/selinuxexeccon.8 +new file mode 100644 +index 000000000000..3ddfe97b2b0d +--- /dev/null ++++ b/libselinux/man/ru/man8/selinuxexeccon.8 +@@ -0,0 +1,28 @@ ++.TH "selinuxexeccon" "8" "14 мая 2011" "dwalsh@redhat.com" "Документация по командной строке SELinux" ++.SH "ИМЯ" ++selinuxexeccon \- сообщить контекст SELinux, который используется для этого исполняемого файла ++. ++.SH "ОБЗОР" ++.B selinuxexeccon ++.I command ++.RI [ fromcon ] ++. ++.SH "ОПИСАНИЕ" ++.B selinuxexeccon ++сообщает контекст SELinux для указанной команды из указанного контекста или текущего контекста. ++. ++.SH ПРИМЕР ++.nf ++# selinuxexeccon /usr/bin/passwd ++staff_u:staff_r:passwd_t:s0-s0:c0.c1023 ++ ++# selinuxexeccon /usr/sbin/sendmail system_u:system_r:httpd_t:s0 ++system_u:system_r:system_mail_t:s0 ++.fi ++. ++.SH "СМОТРИТЕ ТАКЖЕ" ++.BR secon (8) ++. ++.SH АВТОРЫ ++Эта страница руководства была написана Dan Walsh . ++Перевод на русский язык выполнила Герасименко Олеся . +diff --git a/libselinux/man/ru/man8/setenforce.8 b/libselinux/man/ru/man8/setenforce.8 +new file mode 100644 +index 000000000000..e0daad9a25f2 +--- /dev/null ++++ b/libselinux/man/ru/man8/setenforce.8 +@@ -0,0 +1,32 @@ ++.TH "setenforce" "8" "7 апреля 2004" "dwalsh@redhat.com" "Документация по командной строке SELinux" ++.SH "ИМЯ" ++setenforce \- изменить режим, в котором выполняется SELinux ++. ++.SH "ОБЗОР" ++.B setenforce ++.RB [ Enforcing | Permissive | 1 | 0 ] ++. ++.SH "ОПИСАНИЕ" ++Используйте ++.B Enforcing ++или ++.B 1 ++для установки SELinux в принудительный режим. ++.br ++Используйте ++.B Permissive ++или ++.B 0 ++для установки SELinux в разрешительный режим. ++ ++Если SELinux отключён и требуется его включить (или если SELinux включён и требуется его отключить), обратитесь к странице руководства ++.BR selinux (8). ++. ++.SH "СМОТРИТЕ ТАКЖЕ" ++.BR selinux (8), ++.BR getenforce (8), ++.BR selinuxenabled (8) ++. ++.SH АВТОРЫ ++Dan Walsh, . ++Перевод на русский язык выполнила Герасименко Олеся . +diff --git a/libselinux/man/ru/man8/togglesebool.8 b/libselinux/man/ru/man8/togglesebool.8 +new file mode 100644 +index 000000000000..1da9bcc47147 +--- /dev/null ++++ b/libselinux/man/ru/man8/togglesebool.8 +@@ -0,0 +1,23 @@ ++.TH "togglesebool" "8" "26 октября 2004" "sgrubb@redhat.com" "Документация по командной строке SELinux" ++.SH "ИМЯ" ++togglesebool \- переключить текущее значение логического переключателя SELinux ++. ++.SH "ОБЗОР" ++.B togglesebool ++.I boolean... ++. ++.SH "ОПИСАНИЕ" ++.B togglesebool ++переключает текущее значение списка логических переключателей. Если текущее значение 1, ++то оно будет заменено на 0, и наоборот. Меняются только "находящиеся в памяти" значения; ++параметры загрузки остаются без изменений. ++. ++.SH "СМОТРИТЕ ТАКЖЕ" ++.BR selinux (8), ++.BR booleans (8), ++.BR getsebool (8), ++.BR setsebool (8) ++. ++.SH АВТОРЫ ++Эта страница руководства была написана Steve Grubb . ++Перевод на русский язык выполнила Герасименко Олеся . +-- +2.41.0 + diff --git a/SOURCES/0004-Revert-libselinux-Remove-the-Russian-translations.patch b/SOURCES/0004-Revert-libselinux-Remove-the-Russian-translations.patch new file mode 100644 index 0000000..b728887 --- /dev/null +++ b/SOURCES/0004-Revert-libselinux-Remove-the-Russian-translations.patch @@ -0,0 +1,1741 @@ +From c366021e84006be260389c1886bfaa5d85712ac0 Mon Sep 17 00:00:00 2001 +From: Petr Lautrbach +Date: Mon, 13 Nov 2023 13:38:02 +0100 +Subject: [PATCH] Revert "libselinux: Remove the Russian translations" +Content-type: text/plain + +This reverts commit 8e6e044352408098a508ee47a9fb2e61d9f6a590. +--- + libselinux/man/ru/man5/customizable_types.5 | 63 +++++ + libselinux/man/ru/man5/default_contexts.5 | 75 ++++++ + libselinux/man/ru/man5/default_type.5 | 43 ++++ + libselinux/man/ru/man5/failsafe_context.5 | 68 ++++++ + libselinux/man/ru/man5/file_contexts.5 | 1 + + .../man/ru/man5/file_contexts.homedirs.5 | 1 + + libselinux/man/ru/man5/file_contexts.local.5 | 1 + + libselinux/man/ru/man5/file_contexts.subs.5 | 1 + + .../man/ru/man5/file_contexts.subs_dist.5 | 1 + + libselinux/man/ru/man5/media.5 | 1 + + libselinux/man/ru/man5/removable_context.5 | 39 ++++ + libselinux/man/ru/man5/secolor.conf.5 | 180 ++++++++++++++ + libselinux/man/ru/man5/securetty_types.5 | 49 ++++ + libselinux/man/ru/man5/selabel_db.5 | 219 ++++++++++++++++++ + libselinux/man/ru/man5/selabel_file.5 | 219 ++++++++++++++++++ + libselinux/man/ru/man5/selabel_media.5 | 92 ++++++++ + libselinux/man/ru/man5/selabel_x.5 | 168 ++++++++++++++ + libselinux/man/ru/man5/sepgsql_contexts.5 | 1 + + libselinux/man/ru/man5/service_seusers.5 | 71 ++++++ + libselinux/man/ru/man5/seusers.5 | 67 ++++++ + libselinux/man/ru/man5/user_contexts.5 | 85 +++++++ + .../man/ru/man5/virtual_domain_context.5 | 44 ++++ + .../man/ru/man5/virtual_image_context.5 | 46 ++++ + libselinux/man/ru/man5/x_contexts.5 | 1 + + 24 files changed, 1536 insertions(+) + create mode 100644 libselinux/man/ru/man5/customizable_types.5 + create mode 100644 libselinux/man/ru/man5/default_contexts.5 + create mode 100644 libselinux/man/ru/man5/default_type.5 + create mode 100644 libselinux/man/ru/man5/failsafe_context.5 + create mode 100644 libselinux/man/ru/man5/file_contexts.5 + create mode 100644 libselinux/man/ru/man5/file_contexts.homedirs.5 + create mode 100644 libselinux/man/ru/man5/file_contexts.local.5 + create mode 100644 libselinux/man/ru/man5/file_contexts.subs.5 + create mode 100644 libselinux/man/ru/man5/file_contexts.subs_dist.5 + create mode 100644 libselinux/man/ru/man5/media.5 + create mode 100644 libselinux/man/ru/man5/removable_context.5 + create mode 100644 libselinux/man/ru/man5/secolor.conf.5 + create mode 100644 libselinux/man/ru/man5/securetty_types.5 + create mode 100644 libselinux/man/ru/man5/selabel_db.5 + create mode 100644 libselinux/man/ru/man5/selabel_file.5 + create mode 100644 libselinux/man/ru/man5/selabel_media.5 + create mode 100644 libselinux/man/ru/man5/selabel_x.5 + create mode 100644 libselinux/man/ru/man5/sepgsql_contexts.5 + create mode 100644 libselinux/man/ru/man5/service_seusers.5 + create mode 100644 libselinux/man/ru/man5/seusers.5 + create mode 100644 libselinux/man/ru/man5/user_contexts.5 + create mode 100644 libselinux/man/ru/man5/virtual_domain_context.5 + create mode 100644 libselinux/man/ru/man5/virtual_image_context.5 + create mode 100644 libselinux/man/ru/man5/x_contexts.5 + +diff --git a/libselinux/man/ru/man5/customizable_types.5 b/libselinux/man/ru/man5/customizable_types.5 +new file mode 100644 +index 000000000000..e0015864b6cd +--- /dev/null ++++ b/libselinux/man/ru/man5/customizable_types.5 +@@ -0,0 +1,63 @@ ++.TH "customizable_types" "5" "28 ноября 2011" "Security Enhanced Linux" "SELinux configuration" ++.SH "ИМЯ" ++customizable_types \- файл конфигурации настраиваемых типов SELinux ++. ++.SH "ОПИСАНИЕ" ++Файл \fIcustomizable_types\fR содержит список типов, которые можно каким-либо образом настраивать с помощью поддерживающих SELinux приложений. ++.sp ++Обычно это тип контекста файла, который устанавливается для файлов, к которым требуется предоставить общий доступ для определённых доменов, и когда администратору необходимо управлять этим типом вручную. ++.sp ++Возможность использования настраиваемых типов устарела. Рекомендуется использовать ++.BR semanage (8) ++.BR fcontext (8) ++.BR ... (8). ++Тем не менее, поддерживающие SELinux приложения, например, ++.BR setfiles (8), ++будут использовать эту информацию для получения списка типов, относящихся к файлам, для которых не следует повторно проставлять метки. ++.sp ++.BR selinux_customizable_types_path (3) ++вернёт путь активной политики к этому файлу. Файл настраиваемых типов по умолчанию: ++.RS ++.I /etc/selinux/{SELINUXTYPE}/contexts/customizable_types ++.RE ++.sp ++Где \fI{SELINUXTYPE}\fR - запись из файла конфигурации selinux \fIconfig\fR (см. \fBselinux_config\fR(5)). ++.sp ++.BR is_context_customizable (3) ++выполняет чтение этого файла, чтобы определить, является ли контекст настраиваемым для активной политики. ++. ++.SH "ФОРМАТ ФАЙЛА" ++Каждая строка в файле состоит из следующих компонентов: ++.RS ++.I type ++.RE ++.sp ++Где: ++.RS ++.I type ++.RS ++Определённый в политике тип, который можно настроить. ++.RE ++.RE ++. ++.SH "ПРИМЕР" ++# ./contexts/customizable_types ++.br ++mount_loopback_t ++.br ++public_content_rw_t ++.br ++public_content_t ++.br ++swapfile_t ++.br ++sysadm_untrusted_content_t ++. ++.SH "СМОТРИТЕ ТАКЖЕ" ++.ad l ++.nh ++.BR selinux "(8), " selinux_customizable_types_path "(3), " is_context_customizable "(3), " semanage "(8), " setfiles "(8), " selinux_config "(5) " ++ ++ ++.SH АВТОРЫ ++Перевод на русский язык выполнила Герасименко Олеся . +diff --git a/libselinux/man/ru/man5/default_contexts.5 b/libselinux/man/ru/man5/default_contexts.5 +new file mode 100644 +index 000000000000..ca1361d9c9cc +--- /dev/null ++++ b/libselinux/man/ru/man5/default_contexts.5 +@@ -0,0 +1,75 @@ ++.TH "default_contexts" "5" "28 ноября 2011" "Security Enhanced Linux" "Конфигурация SELinux" ++.SH "ИМЯ" ++default_contexts \- файл конфигурации контекстов SELinux по умолчанию ++. ++.SH "ОПИСАНИЕ" ++Файл конфигурации контекстов по умолчанию \fIdefault_contexts\fR содержит записи, которые позволяют поддерживающим SELinux приложениям для входа, например, ++.BR PAM "(8), настроить контекст пользователя. " ++.sp ++Поддерживающие SELinux приложения для входа обычно используют одну или несколько из следующих функций libselinux, которые выполняют чтение этих файлов по пути активной политики: ++.RS ++.BR get_default_context "(3) " ++.br ++.BR get_ordered_context_list "(3) " ++.br ++.BR get_ordered_context_list_with_level "(3) " ++.br ++.BR get_default_context_with_level "(3) " ++.br ++.BR get_default_context_with_role "(3) " ++.br ++.BR get_default_context_with_rolelevel "(3) " ++.br ++.BR query_user_context "(3) " ++.br ++.BR manual_user_enter_context "(3) " ++.RE ++.sp ++Путь к файлу конфигурации контекстов по умолчанию для активной политики возвращает \fBselinux_default_contexts_path\fR(3). По умолчанию файл контекстов по умолчанию находится по адресу: ++.RS ++.I /etc/selinux/{SELINUXTYPE}/contexts/default_contexts ++.RE ++.sp ++Где \fI{SELINUXTYPE}\fR - запись из файла конфигурации selinux \fIconfig\fR (см. \fBselinux_config\fR(5)). ++. ++.SH "ФОРМАТ ФАЙЛА" ++Каждая строка в файле конфигурации по умолчанию состоит из следующих компонентов: ++.RS ++.I login_process user_login_process [user_login_process] ... ++.RE ++.sp ++Где: ++.RS ++.I login_process ++.RS ++Состоит из записи \fIrole\fB:\fItype\fR[\fB:\fIrange\fR], которая представляет собой контекст процесса входа, определённый в политике. ++.RE ++.I user_login_process ++.RS ++Состоит из одной или нескольких записей \fIrole\fB:\fItype\fR[\fB:\fIrange\fR], которые представляют собой контекст процесса входа пользователя, определённый в политике. ++.RE ++.RE ++. ++.SH "ПРИМЕР" ++# ./contexts/default_contexts ++.br ++system_r:crond_t:s0 system_r:system_crond_t:s0 ++.br ++system_r:local_login_t:s0 user_r:user_t:s0 staff_r:staff_t:s0 ++.br ++system_r:remote_login_t:s0 user_r:user_t:s0 ++.br ++system_r:sshd_t:s0 user_r:user_t:s0 ++.br ++system_r:sulogin_t:s0 sysadm_r:sysadm_t:s0 ++.br ++system_r:xdm_t:s0 user_r:user_t:s0 ++. ++.SH "СМОТРИТЕ ТАКЖЕ" ++.ad l ++.nh ++.BR selinux "(8), " selinux_default_contexts_path "(3), " PAM "(8), " selinux_default_type_path "(3), " get_default_context "(3), " get_ordered_context_list "(3), " get_ordered_context_list_with_level "(3), " get_default_context_with_level "(3), " get_default_context_with_role "(3), " get_default_context_with_rolelevel "(3), " query_user_context "(3), " manual_user_enter_context "(3), " selinux_config "(5) " ++ ++ ++.SH АВТОРЫ ++Перевод на русский язык выполнила Герасименко Олеся . +diff --git a/libselinux/man/ru/man5/default_type.5 b/libselinux/man/ru/man5/default_type.5 +new file mode 100644 +index 000000000000..54e2c10057ea +--- /dev/null ++++ b/libselinux/man/ru/man5/default_type.5 +@@ -0,0 +1,43 @@ ++.TH "default_type" "5" "28 ноября 2011" "Security Enhanced Linux" "Конфигурация SELinux" ++.SH "ИМЯ" ++default_type \- файл конфигурации типов SELinux по умолчанию ++. ++.SH "ОПИСАНИЕ" ++Файл \fIdefault_type\fR содержит записи, которые позволяют поддерживающим SELinux приложениям, таким как \fBnewrole\fR(1), выбирать для роли тип по умолчанию, если не предоставлен другой тип. ++.sp ++\fBselinux_default_type_path\fR(3) возвращает путь активной политики к этому файлу. По умолчанию файл типов по умолчанию: ++.RS ++.I /etc/selinux/{SELINUXTYPE}/contexts/default_type ++.RE ++.sp ++Где \fI{SELINUXTYPE}\fR - запись из файла конфигурации selinux \fIconfig\fR (см. \fBselinux_config\fR(5)). ++.sp ++\fBget_default_type\fR(3) выполняет чтение этого файла, чтобы определить тип для активной политики. ++. ++.SH "ФОРМАТ ФАЙЛА" ++Каждая строка внутри файла \fIdefault_type\fR форматируется записями \fIrole\fB:\fItype\fR, где: ++.RS ++.I role ++.RS ++Роль SELinux. ++.RE ++.I type ++.RS ++Тип домена, который возвращается для этой роли. ++.RE ++. ++.SH "ПРИМЕР" ++# ./contexts/default_type ++.br ++auditadm_r:auditadm_t ++.br ++user_r:user_t ++. ++.SH "СМОТРИТЕ ТАКЖЕ" ++.ad l ++.nh ++.BR selinux "(8), " get_default_type "(3), " newrole "(1), " selinux_default_type_path "(3), " selinux_config "(5) " ++ ++ ++.SH АВТОРЫ ++Перевод на русский язык выполнила Герасименко Олеся . +diff --git a/libselinux/man/ru/man5/failsafe_context.5 b/libselinux/man/ru/man5/failsafe_context.5 +new file mode 100644 +index 000000000000..54cecf391d7c +--- /dev/null ++++ b/libselinux/man/ru/man5/failsafe_context.5 +@@ -0,0 +1,68 @@ ++.TH "failsafe_context" "5" "28 ноября 2011" "Security Enhanced Linux" "Конфигурация SELinux" ++.SH "ИМЯ" ++failsafe_context \- файл конфигурации резервного контекста SELinux ++. ++.SH "ОПИСАНИЕ" ++Файл ++.I failsafe_context ++позволяет поддерживающим SELinux приложениям, таким как ++.BR PAM "(8), " ++получать известный действительный контекст входа для администратора, если в других расположениях отсутствуют действительные записи по умолчанию. ++.sp ++.BR selinux_failsafe_context_path "(3) " ++возвращает путь активной политики к этому файлу. Файл резервного контекста по умолчанию: ++.RS ++.I /etc/selinux/{SELINUXTYPE}/contexts/failsafe_context ++.RE ++.sp ++Где \fI{SELINUXTYPE}\fR - запись из файла конфигурации selinux \fIconfig\fR (см. \fBselinux_config\fR(5)). ++.sp ++Следующие функции выполняют чтение этого файла по пути активной политики, если им не удаётся получить контекст по умолчанию: ++.br ++.RS ++.BR get_default_context "(3) " ++.br ++.BR get_ordered_context_list "(3) " ++.br ++.BR get_ordered_context_list_with_level "(3) " ++.br ++.BR get_default_context_with_level "(3) " ++.br ++.BR get_default_context_with_role "(3) " ++.br ++.BR get_default_context_with_rolelevel "(3) " ++.br ++.BR query_user_context "(3) " ++.br ++.BR manual_user_enter_context "(3) " ++.RE ++. ++.SH "ФОРМАТ ФАЙЛА" ++Файл состоит из следующей однострочной записи: ++.RS ++\fIrole\fB:\fItype\fR[\fB:\fIrange\fR] ++.RE ++.sp ++Где: ++.RS ++.I role ++.I type ++.I range ++.RS ++Роль, тип и необязательный диапазон (для MCS/MLS), разделённые двоеточиями (:), которые формируют действительный контекст процесса входа для получения администратором доступа к системе. ++.RE ++.RE ++. ++.SH "ПРИМЕР" ++# ./contexts/failsafe_context ++.br ++unconfined_r:unconfined_t:s0 ++. ++.SH "СМОТРИТЕ ТАКЖЕ" ++.ad l ++.nh ++.BR selinux "(8), " selinux_failsafe_context_path "(3), " PAM "(8), " selinux_default_type_path "(3), " get_default_context "(3), " get_ordered_context_list "(3), " get_ordered_context_list_with_level "(3), " get_default_context_with_level "(3), " get_default_context_with_role "(3), " get_default_context_with_rolelevel "(3), " query_user_context "(3), " manual_user_enter_context "(3), " selinux_config "(5) " ++ ++ ++.SH АВТОРЫ ++Перевод на русский язык выполнила Герасименко Олеся . +diff --git a/libselinux/man/ru/man5/file_contexts.5 b/libselinux/man/ru/man5/file_contexts.5 +new file mode 100644 +index 000000000000..9c022d8fe1bb +--- /dev/null ++++ b/libselinux/man/ru/man5/file_contexts.5 +@@ -0,0 +1 @@ ++.so man5/selabel_file.5 +diff --git a/libselinux/man/ru/man5/file_contexts.homedirs.5 b/libselinux/man/ru/man5/file_contexts.homedirs.5 +new file mode 100644 +index 000000000000..9c022d8fe1bb +--- /dev/null ++++ b/libselinux/man/ru/man5/file_contexts.homedirs.5 +@@ -0,0 +1 @@ ++.so man5/selabel_file.5 +diff --git a/libselinux/man/ru/man5/file_contexts.local.5 b/libselinux/man/ru/man5/file_contexts.local.5 +new file mode 100644 +index 000000000000..9c022d8fe1bb +--- /dev/null ++++ b/libselinux/man/ru/man5/file_contexts.local.5 +@@ -0,0 +1 @@ ++.so man5/selabel_file.5 +diff --git a/libselinux/man/ru/man5/file_contexts.subs.5 b/libselinux/man/ru/man5/file_contexts.subs.5 +new file mode 100644 +index 000000000000..9c022d8fe1bb +--- /dev/null ++++ b/libselinux/man/ru/man5/file_contexts.subs.5 +@@ -0,0 +1 @@ ++.so man5/selabel_file.5 +diff --git a/libselinux/man/ru/man5/file_contexts.subs_dist.5 b/libselinux/man/ru/man5/file_contexts.subs_dist.5 +new file mode 100644 +index 000000000000..9c022d8fe1bb +--- /dev/null ++++ b/libselinux/man/ru/man5/file_contexts.subs_dist.5 +@@ -0,0 +1 @@ ++.so man5/selabel_file.5 +diff --git a/libselinux/man/ru/man5/media.5 b/libselinux/man/ru/man5/media.5 +new file mode 100644 +index 000000000000..14f00f28e54c +--- /dev/null ++++ b/libselinux/man/ru/man5/media.5 +@@ -0,0 +1 @@ ++.so man5/selabel_media.5 +diff --git a/libselinux/man/ru/man5/removable_context.5 b/libselinux/man/ru/man5/removable_context.5 +new file mode 100644 +index 000000000000..0d83ef26d84c +--- /dev/null ++++ b/libselinux/man/ru/man5/removable_context.5 +@@ -0,0 +1,39 @@ ++.TH "removable_context" "5" "28 ноября 2011" "Security Enhanced Linux" "Конфигурация SELinux" ++.SH "ИМЯ" ++removable_context \- файл конфигурации SELinux-контекста съёмных устройств ++. ++.SH "ОПИСАНИЕ" ++Этот файл содержит метку по умолчанию, которую следует использовать для съёмных устройств. ++.sp ++.BR selinux_removable_context_path "(3) " ++вернёт путь активной политики к этому файлу. Файл контекста съёмных устройств по умолчанию: ++.RS ++.I /etc/selinux/{SELINUXTYPE}/contexts/removable_context ++.RE ++.sp ++Где \fI{SELINUXTYPE}\fR - запись из файла конфигурации selinux \fIconfig\fR (см. \fBselinux_config\fR(5)). ++. ++.SH "ФОРМАТ ФАЙЛА" ++Файл состоит из следующей однострочной записи: ++.RS ++.IB user : role : type \fR[\fB:\fIrange\fR] ++.RE ++.sp ++Где: ++.RS ++.I user role type range ++.RS ++Пользователь, роль, тип и необязательный диапазон (для MCS/MLS), разделённые двоеточиями (:), которые будут применены к съёмным устройствам. ++.RE ++.RE ++. ++.SH "ПРИМЕР" ++# ./contexts/removable_contexts ++.br ++system_u:object_r:removable_t:s0 ++. ++.SH "СМОТРИТЕ ТАКЖЕ" ++.BR selinux "(8), " selinux_removable_context_path "(3), " selinux_config "(5) " ++ ++.SH АВТОРЫ ++Перевод на русский язык выполнила Герасименко Олеся . +diff --git a/libselinux/man/ru/man5/secolor.conf.5 b/libselinux/man/ru/man5/secolor.conf.5 +new file mode 100644 +index 000000000000..bcae80c1a406 +--- /dev/null ++++ b/libselinux/man/ru/man5/secolor.conf.5 +@@ -0,0 +1,180 @@ ++.TH "secolor.conf" "5" "08 апреля 2011" "Документация API SELinux" ++.SH "ИМЯ" ++secolor.conf \- файл конфигурации цвета SELinux ++. ++.SH "ОПИСАНИЕ" ++Этот необязательный файл управляет цветом, который назначается компонентам контекста, связанным с контекстом ++.I raw ++, который передаётся с помощью ++.BR selinux_raw_context_to_color "(3)," ++когда поддерживающее SELinux приложение должно показать сведения о контексте в цвете. ++.sp ++.BR selinux_raw_context_to_color "(3)" ++получает эту информацию о цвете из файла активной политики ++.B secolor.conf ++, возвращённого ++.BR selinux_colors_path "(3)." ++. ++.SH "ФОРМАТ ФАЙЛА" ++Формат файла: ++.RS ++.B color ++.I color_name ++.BI "= #"color_mask ++.br ++[...] ++.sp ++.I context_component string ++.B = ++.I fg_color_name bg_color_name ++.br ++[...] ++.sp ++.RE ++ ++Где: ++.br ++.B color ++.RS ++Ключевое слово цвета (color). Каждая запись цвета находится на новой строке. ++.RE ++.I color_name ++.RS ++Название цвета из одного слова (например, red (красный)). ++.RE ++.I color_mask ++.RS ++Маска цвета, начинающаяся с хэша (#), который описывает шестнадцатиричные RGB-цвета, где black (чёрный) #000000 и white (белый) #ffffff. ++.RE ++.I context_component ++.RS ++Имя компонента контекста, должно быть одним из следующих: ++.br ++.RS ++пользователь, роль, тип или диапазон ++.RE ++Каждая запись ++.IR context_component " " string " ..." ++находится на новой строке. ++.RE ++.I string ++.RS ++Это строка ++.I context_component ++, которая будет сопоставляться с компонентом контекста ++.I raw ++, который передаётся ++.BR selinux_raw_context_to_color "(3)." ++.br ++Подстановочный знак '*' можно использовать для сопоставления какой-либо неопределённой строки только записям ++.I context_component ++пользователя, роли или типа. ++.RE ++ ++.I fg_color_name ++.RS ++Строка color_name, которая будет использоваться как цвет переднего плана. Маска цвета ++.I color_mask ++также может использоваться. ++.RE ++.I bg_color_name ++.RS ++Строка color_name, которая будет использоваться как цвет фона. Маска цвета ++.I color_mask ++также может использоваться. ++.RE ++. ++.SH "ПРИМЕРЫ" ++Записи примера 1: ++.RS ++color black = #000000 ++.br ++color green = #008000 ++.br ++color yellow = #ffff00 ++.br ++color blue = #0000ff ++.br ++color white = #ffffff ++.br ++color red = #ff0000 ++.br ++color orange = #ffa500 ++.br ++color tan = #D2B48C ++.sp ++user * = black white ++.br ++role * = white black ++.br ++type * = tan orange ++.br ++range s0\-s0:c0.c1023 = black green ++.br ++range s1\-s1:c0.c1023 = white green ++.br ++range s3\-s3:c0.c1023 = black tan ++.br ++range s5\-s5:c0.c1023 = white blue ++.br ++range s7\-s7:c0.c1023 = black red ++.br ++range s9\-s9:c0.c1023 = black orange ++.br ++range s15\-s15:c0.c1023 = black yellow ++.RE ++ ++.sp ++Записи примера 2: ++.RS ++color black = #000000 ++.br ++color green = #008000 ++.br ++color yellow = #ffff00 ++.br ++color blue = #0000ff ++.br ++color white = #ffffff ++.br ++color red = #ff0000 ++.br ++color orange = #ffa500 ++.br ++color tan = #d2b48c ++.sp ++user unconfined_u = #ff0000 green ++.br ++role unconfined_r = red #ffffff ++.br ++type unconfined_t = red orange ++.br ++user user_u = black green ++.br ++role user_r = white black ++.br ++type user_t = tan red ++.br ++user xguest_u = black yellow ++.br ++role xguest_r = black red ++.br ++type xguest_t = black green ++.br ++user sysadm_u = white black ++.br ++range s0\-s0:c0.c1023 = black white ++.br ++user * = black white ++.br ++role * = black white ++.br ++type * = black white ++.RE ++. ++.SH "СМОТРИТЕ ТАКЖЕ" ++.BR selinux "(8), " selinux_raw_context_to_color "(3), " selinux_colors_path "(3)" ++ ++ ++.SH АВТОРЫ ++Перевод на русский язык выполнила Герасименко Олеся . +diff --git a/libselinux/man/ru/man5/securetty_types.5 b/libselinux/man/ru/man5/securetty_types.5 +new file mode 100644 +index 000000000000..ce0aa3242e73 +--- /dev/null ++++ b/libselinux/man/ru/man5/securetty_types.5 +@@ -0,0 +1,49 @@ ++.TH "securetty_types" "5" "28 ноября 2011" "Security Enhanced Linux" "Конфигурация SELinux" ++.SH "ИМЯ" ++securetty_types \- файл конфигурации типа безопасного терминала (tty) SELinux ++. ++.SH "ОПИСАНИЕ" ++Файл ++.I securetty_types ++содержит список типов, связанных с типом безопасного tty, которые определены в политике для использования поддерживающими SELinux приложениями. ++.sp ++.BR selinux_securetty_types_path "(3) " ++вернёт путь активной политики к этому файлу. Файл типов securetty по умолчанию: ++.RS ++.I /etc/selinux/{SELINUXTYPE}/contexts/securetty_types ++.RE ++.sp ++Где \fI{SELINUXTYPE}\fR - запись из файла конфигурации selinux \fIconfig\fR (см. \fBselinux_config\fR(5)). ++.sp ++.BR selinux_check_securetty_context "(3) выполняет чтение этого файла, чтобы определить, установлен ли в активной политике контекст для безопасного tty. " ++.sp ++Поддерживающие SELinux приложения, такие как ++.BR newrole "(1), используют эту информацию для проверки состояния tty. " ++. ++.SH "ФОРМАТ ФАЙЛА" ++Каждая строка в файле состоит из следующей записи: ++.sp ++.RS ++.I type ++.RS ++Одна или несколько записей типов, которые определены в политике для безопасных устройств tty. ++.RE ++.RE ++. ++.SH "ПРИМЕР" ++# ./contexts/securetty_types ++.br ++sysadm_tty_device_t ++.br ++user_tty_device_t ++.br ++staff_tty_device_t ++. ++.SH "СМОТРИТЕ ТАКЖЕ" ++.ad l ++.nh ++.BR selinux "(8), " selinux_securetty_types_path "(3), " newrole "(1), " selinux_check_securetty_context "(3), " selinux_config "(5) " ++ ++ ++.SH АВТОРЫ ++Перевод на русский язык выполнила Герасименко Олеся . +diff --git a/libselinux/man/ru/man5/selabel_db.5 b/libselinux/man/ru/man5/selabel_db.5 +new file mode 100644 +index 000000000000..1c667e83ec55 +--- /dev/null ++++ b/libselinux/man/ru/man5/selabel_db.5 +@@ -0,0 +1,219 @@ ++.\" Hey Emacs! This file is -*- nroff -*- source. ++.\" ++.\" Author: KaiGai Kohei 2009 ++.TH "selabel_db" "5" "01 декабря 2011" "Security Enhanced Linux" "Документация API SELinux" ++.SH "ИМЯ" ++selabel_db \- интерфейс проставления меток SELinux в пространстве пользователя и формат файла конфигурации для внутренней службы контекстов объектов RDBMS (реляционная СУБД) ++. ++.SH "ОБЗОР" ++.B #include ++.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 "ОПИСАНИЕ" ++Внутренняя служба контекста базы данных сопоставляет имя и класс объекта с контекстами безопасности. Это действие позволяет найти правильный контекст для объектов базы данных при повторном проставлении меток для определённой базы данных. Необходимо освободить возвращённый \fIcontext\fR с помощью \fBfreecon\fR(3). ++.br ++\fBselabel_lookup\fR(3) описывает функцию с её возвращаемыми значениями и кодами ошибок. ++.sp ++\fIobject_name\fR должно быть полным именем, которое использует иерархию объектов базы данных. Например, таблица \fBpg_class\fR в базе данных \fBpostgres\fR и схема \fBpg_catalog\fR должны быть указаны следующим образом: ++.RS ++.B postgres.pg_catalog.pg_class ++.RE ++.sp ++В разделе \fBПРИМЕЧАНИЯ\fR доступны более подробные сведения о поддержке баз данных для иерархий пространства имён. ++.sp ++Для аргумента \fIobject_type\fR должно быть установлено одно из следующих значений: ++.RS ++.TP ++.B SELABEL_DB_DATABASE ++Аргумент ++.I object_name ++определяет имя самой базы данных, например, "postgres". ++.TP ++.B SELABEL_DB_SCHEMA ++Аргумент ++.I object_name ++определяет имя объекта схемы, например, "postgres.public". ++.TP ++.B SELABEL_DB_TABLE ++Аргумент ++.I object_name ++определяет имя объекта таблицы, например, "postgres.public.my_table" ++.TP ++.B SELABEL_DB_COLUMN ++Аргумент ++.I object_name ++определяет имя объекта столбца, например, "postgres.public.my_table.user_id" ++.TP ++.B SELABEL_DB_TUPLE ++Аргумент ++.I object_name ++определяет имя объекта таблицы, содержащей кортежи, для которых требуется повторно проставить метки, например, "postgresql.public.my_table". Следует учитывать, что нет способа идентифицировать отдельные объекты кортежа (за исключением условия WHERE для инструкций DML), потому что у них нет имён. ++.TP ++.B SELABEL_DB_PROCEDURE ++Аргумент ++.I object_name ++определяет имя объекта процедуры, например, "postgres.public.my_func". Следует учитывать, что поиск отдельных контекстов безопасности для процедур с одинаковыми именами, но разными аргументами не поддерживается. ++.TP ++.B SELABEL_DB_SEQUENCE ++Аргумент ++.I object_name ++определяет имя объекта последовательности, например, "postgres.public.my_seq". ++.TP ++.B SELABEL_DB_BLOB ++Аргумент ++.I object_name ++определяет имя большого объекта, например, "postgres.16308". ++Следует учитывать, что у большого объекта нет имени, поэтому он идентифицируется по значению соответствующего идентификатора. ++.TP ++.B SELABEL_DB_VIEW ++Аргумент ++.I object_name ++определяет имя объекта просмотра, например, "postgres.public.my_view". ++.TP ++.B SELABEL_DB_LANGUAGE ++Аргумент ++.I object_name ++определяет имя объекта языка, например, "postgres.public.tcl". ++.TP ++.B SELABEL_DB_EXCEPTION ++Аргумент ++.I object_name ++определяет имя объекта исключения. ++.TP ++.B SELABEL_DB_DATATYPE ++Аргумент ++.I object_name ++определяет имя объекта типа или домена, например, postgres.public.my_type. ++.RE ++.sp ++Все сообщения, созданные с помощью \fBselabel_lookup\fR(3), по умолчанию отправляются в \fIstderr\fR. Это поведение можно изменить с помощью \fBselinux_set_callback\fR(3). ++.sp ++.BR selabel_lookup_raw (3) ++работает аналогично \fBselabel_lookup\fR(3), но не выполняет преобразование контекста. ++.sp ++В разделе \fBФАЙЛЫ\fR приводится описание файлов конфигурации, которые используются для определения контекста объекта базы данных. ++. ++.SH "ПАРАМЕТРЫ" ++Помимо глобальных параметров, описание которых приведено в \fBselabel_open\fR(3), эта внутренняя служба распознаёт следующие параметры: ++.RS ++.TP ++.B SELABEL_OPT_PATH ++Значение этого параметра, отличное от null, определяет путь к файлу, который будет открыт вместо стандартного файла контекста базы данных. ++По умолчанию параметр пытается открыть файл спецификации, предназначенный для SE-PostgreSQL; если этот интерфейс используется другой реляционной СУБД, параметр должен явно объявить файл спецификации, предназначенный для такой реляционной СУБД (подробные сведения см. в разделе \fBФАЙЛЫ\fR). ++.RE ++. ++.SH "ФАЙЛЫ" ++То, какой файл контекстов базы данных будет использоваться для получения контекста, зависит от параметра \fBSELABEL_OPT_PATH\fR, переданного в \fBselabel_open\fR(3). Если \fINULL\fR, то значением \fBSELABEL_OPT_PATH\fR по умолчанию станет расположение контекстов базы данных активной политики (возвращённое \fBselinux_sepgsql_context_path\fR(3)). В ином случае будет использоваться фактическое указанное значение \fBSELABEL_OPT_PATH\fR (этот вариант необходимо использовать для поддержки баз данных, отличных от SE-PostgreSQL). ++.sp ++Файл контекстов объекта базы данных по умолчанию: ++.RS ++.I /etc/selinux/{SELINUXTYPE}/contexts/sepgsql_context ++.RE ++.sp ++Где \fI{SELINUXTYPE}\fR - запись из файла конфигурации selinux \fIconfig\fR (см. \fBselinux_config\fR(5)). ++.sp ++Записи внутри файла контекстов базы данных показаны в разделах \fBЗначения строки имени объекта\fR и \fBФОРМАТ ФАЙЛА\fR. ++. ++.SH "Значения строки имени объекта" ++Имена строк, назначенные аргументам \fIobject_type\fR, которые могут присутствовать в файле контекстов базы данных: ++.TS ++center, allbox, tab(@); ++lI lB ++lB l . ++object_type@Текстовое имя ++SELABEL_DB_DATABASE@db_database ++SELABEL_DB_SCHEMA@db_schema ++SELABEL_DB_VIEW@db_view ++SELABEL_DB_LANGUAGE@db_language ++SELABEL_DB_TABLE@db_table ++SELABEL_DB_COLUMN@db_column ++SELABEL_DB_TUPLE@db_tuple ++SELABEL_DB_PROCEDURE@db_procedure ++SELABEL_DB_SEQUENCE@db_sequence ++SELABEL_DB_BLOB@db_blob ++SELABEL_DB_EXCEPTION@db_exception ++SELABEL_DB_DATATYPE@db_datatype ++.TE ++. ++.SH "ФОРМАТ ФАЙЛА" ++Каждая строка внутри файла контекстов базы данных имеет следующий вид: ++.RS ++.I object_type object_name context ++.RE ++.sp ++Где: ++.RS ++.I object_type ++.RS ++Строковое представление типа объекта, показанное в разделе \fBЗначения строки имени объекта\fR. ++.RE ++.I object_name ++.RS ++Ключ, который используется для получения контекста на основе \fIobject_type\fR. ++.sp ++Запись может содержать подстановочные знаки '*' или '?' для выполнения сопоставления с дополнением или подстановкой. ++.sp ++Следует учитывать, что при использовании '*' важен порядок записей в файле. '*' в отдельном виде используется для того, чтобы обеспечить назначение резервного контекста по умолчанию, это должна быть последняя запись в блоке \fIobject_type\fR. ++.RE ++.I context ++.RS ++К объекту будет применён этот контекст безопасности. ++.RE ++.RE ++.sp ++Далее приведён пример для SE-PostgreSQL: ++.sp ++# ./contexts/sepgsql_contexts file ++.br ++# object_type object_name context ++.br ++db_database my_database system_u:object_r:sepgsql_db_t:s0 ++.br ++db_database * system_u:object_r:sepgsql_db_t:s0 ++.br ++db_schema *.* system_u:object_r:sepgsql_schema_t:s0 ++.br ++db_tuple row_low system_u:object_r:sepgsql_table_t:s0 ++.br ++db_tuple row_high system_u:object_r:sepgsql_table_t:s0:c1023 ++.br ++db_tuple *.*.* system_u:object_r:sepgsql_table_t:s0 ++. ++.SH "ПРИМЕЧАНИЯ" ++.IP "1." 4 ++Для целевой реляционной СУБД необходимо записать подходящий файл контекстов базы данных и использовать для его загрузки параметр \fBSELABEL_OPT_PATH\fR в \fBselabel_open\fR(3). ++.IP "2." 4 ++Иерархия пространства имён для объектов базы данных зависит от реляционной СУБД, но интерфейсы \fIselabel*\fR не предусматривают какой-либо особой поддержки иерархии пространства имён. ++.sp ++В иерархии пространства имён SE-PostgreSQL объектом верхнего уровня является база данных, объектом следующего уровня - схема. На следующем после объекта схемы уровне могут находиться другие типы объектов, например, таблицы и процедуры. Эта иерархия поддерживается следующим образом: ++.RS ++.RS ++.sp ++Если для таблицы "my_table" в схеме "public" ++внутри базы данных "postgres" требуется контекст безопасности, то параметрами \fBselabel_lookup\fR(3) ++для \fIobject_type\fR будет \fBSELABEL_DB_TABLE\fR, для \fIobject_name\fR - "postgres.public.my_table", контекст безопасности (если доступно) будет возвращён в \fIcontext\fR. ++.RE ++.RE ++.IP "3." 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_sepgsql_context_path "(3), " freecon "(3), " selinux_config "(5) " ++ ++ ++.SH АВТОРЫ ++Перевод на русский язык выполнила Герасименко Олеся . +diff --git a/libselinux/man/ru/man5/selabel_file.5 b/libselinux/man/ru/man5/selabel_file.5 +new file mode 100644 +index 000000000000..0857b9a753ab +--- /dev/null ++++ b/libselinux/man/ru/man5/selabel_file.5 +@@ -0,0 +1,219 @@ ++.\" Hey Emacs! This file is -*- nroff -*- source. ++.\" ++.\" Author: Eamon Walsh (ewalsh@tycho.nsa.gov) 2007 ++.TH "selabel_file" "5" "01 декабря 2011" "Security Enhanced Linux" "Документация API SELinux" ++.SH "ИМЯ" ++selabel_file \- интерфейс проставления меток SELinux в пространстве пользователя и формат файла конфигурации для внутренней службы контекстов файлов ++. ++.SH "ОБЗОР" ++.B #include ++.sp ++.BI "int selabel_lookup(struct selabel_handle *" hnd , ++.in +\w'int selabel_lookup('u ++.BI "char **" context , ++.br ++.BI "const char *" path ", int " mode ");" ++.in ++.sp ++.BI "int selabel_lookup_raw(struct selabel_handle *" hnd , ++.in +\w'int selabel_lookup('u ++.BI "char **" context , ++.br ++.BI "const char *" path ", int " mode ");" ++. ++.SH "ОПИСАНИЕ" ++Внутренняя служба контекстов файлов сопоставляет сочетания 'путь/режим' с контекстами безопасности. Это действие служит для нахождения правильного контекста для каждого файла при повторном проставлении меток в файловой системе. Необходимо освободить возвращённый \fIcontext\fR с помощью \fBfreecon\fR(3). ++.br ++\fBselabel_lookup\fR(3) описывает функцию с её возвращаемыми значениями и кодами ошибок. Тем не менее, далее приводится более подробное описание следующих значений \fIerrno\fR для внутренней службы контекстов файлов: ++.RS ++.TP ++.B ENOENT ++Не найден контекст, соответствующий \fIpath\fR и \fImode\fR, - это сообщение будет возвращено и в том случае, если серия файлов контекстов файлов имеет контекст \fB<>\fR относительно \fIpath\fR (см. раздел \fBФОРМАТ ФАЙЛА\fR). ++.RE ++.sp ++Аргумент \fIpath\fR должен быть установлен в полный путь к файлу, назначенный контекст которого проверяется. Аргумент \fImode\fR должен быть установлен в биты режима файла, как определено \fBlstat\fR(2). Аргумент \fImode\fR может быть нулевым, но в этом случае, возможно, не удастся установить полное соответствие. ++.sp ++Все сообщения, созданные с помощью \fBselabel_lookup\fR(3), по умолчанию отправляются в \fIstderr\fR. Это поведение можно изменить с помощью \fBselinux_set_callback\fR(3). ++.sp ++.BR selabel_lookup_raw (3) ++работает аналогично \fBselabel_lookup\fR(3), но не выполняет преобразование контекста. ++.sp ++В разделе \fBФАЙЛЫ\fR приводится описание файлов конфигурации, которые используются для определения контекста файла. ++. ++.SH "ПАРАМЕТРЫ" ++Помимо глобальных параметров, описание которых приведено в ++.BR selabel_open (3), ++эта внутренняя служба распознаёт следующие параметры: ++.RS ++.TP ++.B SELABEL_OPT_PATH ++Значение этого параметра, отличное от null, определяет путь к файлу, который будет открыт вместо стандартного файла контекстов файлов. Это значение также используется как базовое имя для определения имён локальных файлов настройки. ++.TP ++.B SELABEL_OPT_BASEONLY ++Отличное от null значение этого параметра означает, что любую локальную настройку сопоставления контекста файла следует игнорировать. ++.TP ++.B SELABEL_OPT_SUBSET ++Отличное от null значение этого параметра интерпретируется как префикс пути, например, "/etc". Будут загружены только те спецификации контекстов файлов, первый компонент которых совпадает с указанным префиксом. Это может ускорить выполнение поиска, но, возможно, не удастся найти путь, который не начинается с указанного префикса. Данная оптимизация поиска больше не требуется (и устарела), вместо неё используется ++.I file_contexts.bin. ++.RE ++. ++.SH "ФАЙЛЫ" ++То, какие файлы контекстов файлов используются для получения контекста по умолчанию, зависит от параметра \fBSELABEL_OPT_PATH\fR, переданного в \fBselabel_open\fR(3). Если это \fINULL\fR, то \fBSELABEL_OPT_PATH\fR по умолчанию примет значение расположения контекстов файлов активной политики (которое возвращает \fBselinux_file_context_path\fR(3)), в ином случае будет использовано фактическое указанное значение \fBSELABEL_OPT_PATH\fR. ++.sp ++Если параметр \fBSELABEL_OPT_BASEONLY\fR задан, будут обрабатываться следующие файлы: ++.RS ++.IP "1." 4 ++Обязательный файл контекстов файлов - это либо полное имя файла из \fISELABEL_OPT_PATH.value\fR, либо (если \fINULL\fR) путь, который возвращает \fBselinux_file_context_path\fR(3). ++.IP "2." 4 ++Необязательные файлы для замены имён (файл для локального использования и файл для использования с дистрибутивами), которые присваивают псевдонимы пути для 'находящейся в памяти' версии файла контекстов файлов. ++.br ++Эти файлы имеют то же имя, что и у обязательного файла контекстов файлов, и расширения \fI.subs\fR и \fI.subs_dist\fR. ++.RE ++.sp ++Если параметр \fBSELABEL_OPT_BASEONLY\fR не задан, будут обработаны следующие файлы: ++.RS ++.IP "1." 4 ++Обязательный файл контекстов файлов, который является либо полным именем файла из \fISELABEL_OPT_PATH.value\fR, либо (если \fINULL\fR) путём, который возвращает \fBselinux_file_context_path\fR(3). ++.IP "2." 4 ++Необязательный файл локальной настройки, имеющий то же имя, что и обязательный файл контекстов файлов, и расширение \fI.local\fR. ++.br ++\fBselinux_file_context_local_path\fR(3) вернёт путь по умолчанию к этому файлу. ++.IP "3." 4 ++Необязательный файл настройки домашнего каталога пользователя, имеющий то же имя, что и обязательный файл контекстов файлов, и расширение \fI.homedirs\fR. ++.br ++\fBselinux_file_context_homedir_path\fR(3) вернёт путь по умолчанию к этому файлу. ++.IP "4." 4 ++Необязательные файлы для замены имён (файл для локального использования и файл для использования с дистрибутивами), которые присваивают псевдонимы пути для 'находящейся в памяти' версии файла контекстов файлов (и \fI.local\fR и/или \fI.homedirs\fR, если они имеются). Эти файлы имеют то же имя, что и обязательный файл контекстов файлов, и расширения \fI.subs\fR и \fI.subs_dist\fR. ++.br ++\fBselinux_file_context_subs_path\fR(3) и \fBselinux_file_context_subs_dist_path\fR(3) вернут пути по умолчанию к этим файлам. ++.RE ++.sp ++По умолчанию серия файлов контекстов файлов: ++.RS 6 ++.I /etc/selinux/{SELINUXTYPE}/contexts/files/file_contexts ++.br ++.I /etc/selinux/{SELINUXTYPE}/contexts/files/file_contexts.local ++.br ++.I /etc/selinux/{SELINUXTYPE}/contexts/files/file_contexts.homedirs ++.br ++.I /etc/selinux/{SELINUXTYPE}/contexts/files/file_contexts.subs ++.br ++.I /etc/selinux/{SELINUXTYPE}/contexts/files/file_contexts.subs_dist ++.RE ++.sp ++Где \fI{SELINUXTYPE}\fR - запись из файла конфигурации selinux \fIconfig\fR (см. \fBselinux_config\fR(5)). ++.sp ++Обязательным является только файл \fIfile_contexts\fR, все остальные являются необязательными. ++.sp ++Записи внутри серии файлов контекстов файлов показаны в разделе \fBФОРМАТ ФАЙЛА\fR. ++. ++.SH "ФОРМАТ ФАЙЛА" ++.sp ++.SH "Формат контекстов файлов" ++.sp ++Каждая строка внутри \fIfile_contexts\fR и двух файлов настройки (\fI.local\fR и \fI.homedirs\fR) имеет следующий вид: ++.sp ++.RS ++.I pathname [file_type] context ++.RE ++.sp ++Где: ++.br ++.RS ++.I pathname ++.RS ++Определяющая имя пути запись, которая может быть в виде регулярного выражения. ++.RE ++.I file_type ++.RS ++Необязательный тип файла, который состоит из: ++.RS ++\fI\-b\fR - устройство блочного ввода-вывода \fI\-c\fR - устройство символьного ввода-вывода ++.br ++\fI\-d\fR - каталог \fI\-p\fR - именованный канал ++.br ++\fI\-l\fR - символическая ссылка \fI\-s\fR - сокет ++.br ++\fI\-\-\fR - обычный файл ++.RE ++.RE ++.I context ++.RS ++Запись может быть одним из следующих: ++.RS ++.IP "a." 4 ++Контекст безопасности, который будет назначен этому файлу (то есть возвращён как \fIcontext\fR). ++.IP "b." 4 ++Значение \fB<>\fR можно использовать, чтобы указать, что для соответствующих файлов не следует повторно проставлять метки, а также при этом значении \fBselabel_lookup\fR(3) вернёт \-1 при установке \fIerrno\fR в \fBENOENT\fR. ++.RE ++.RE ++.RE ++.sp ++Пример: ++.RS ++# ./contexts/files/file_contexts ++.br ++# pathname file_type context ++.br ++/.* system_u:object_r:default_t:s0 ++.br ++/[^/]+ \-\- system_u:object_r:etc_runtime_t:s0 ++.br ++/tmp/.* <> ++.RE ++.sp ++.SH "Формат файла подстановки" ++.sp ++Каждая строка внутри файлов подстановки (\fI.subs\fR и \fI.subs_dist\fR) имеет вид: ++.RS ++.I subs_pathname pathname ++.RE ++.sp ++Где: ++.RS ++.I pathname ++.RS ++Путь, который соответствует записи в одном или нескольких файлах конфигурации политики контекстов файлов. ++.RE ++.I subs_pathname ++.RS ++Путь, который станет псевдонимом имени пути (считается равнозначным при поиске). ++.RE ++.RE ++.sp ++Пример: ++.RS ++# ./contexts/files/file_contexts.subs ++.br ++# pathname subs_pathname ++.br ++/myweb /var/www ++.br ++/myspool /var/spool/mail ++.sp ++Пример выше: когда в \fBselabel_lookup\fR(3) передаётся путь \fI/myweb/index.html\fR, функция заменяет компонент \fI/myweb\fR ++на \fI/var/www\fR, поэтому будет использоваться следующий путь: ++.sp ++.RS ++.I /var/www/index.html ++.RE ++.RE ++. ++.SH "ПРИМЕЧАНИЯ" ++.IP "1." 4 ++Если контексты должны быть проверены, необходимо указать глобальный параметр \fBSELABEL_OPT_VALIDATE\fR перед вызовом \fBselabel_open\fR(3). Если этот параметр не указан, может быть возвращён недействительный контекст. ++.IP "2." 4 ++Если серия файлов контекстов файлов содержит много записей, \fBselabel_open\fR(3) может медленно выполнять чтение в файлах и (если это запрошено) проверку записей. ++.IP "3." 4 ++В некоторых версиях SELinux также может присутствовать файл \fIfile_contexts.template\fR, но он устарел. ++.br ++Файл шаблона имеет тот же формат, что и файл \fIfile_contexts\fR, а также может содержать ключевые слова \fBHOME_ROOT\fR, \fBHOME_DIR\fR, \fBROLE\fR и \fBUSER\fR. Эта функциональность была перемещена в хранилище политик и управляется \fBsemodule\fR(8) и \fBgenhomedircon\fR(8). ++. ++.SH "СМОТРИТЕ ТАКЖЕ" ++.ad l ++.nh ++.BR selinux "(8), " selabel_open "(3), " selabel_lookup "(3), " selabel_stats "(3), " selabel_close "(3), " selinux_set_callback "(3), " selinux_file_context_path "(3), " freecon "(3), " selinux_config "(5), " lstat "(2), "selinux_file_context_subs_path "(3), " selinux_file_context_subs_dist_path "(3), " selinux_file_context_homedir_path "(3), "selinux_file_context_local_path "(3), " semodule "(8), " genhomedircon "(8) " ++ ++ ++.SH АВТОРЫ ++Перевод на русский язык выполнила Герасименко Олеся . +diff --git a/libselinux/man/ru/man5/selabel_media.5 b/libselinux/man/ru/man5/selabel_media.5 +new file mode 100644 +index 000000000000..9fec7b0cd2bf +--- /dev/null ++++ b/libselinux/man/ru/man5/selabel_media.5 +@@ -0,0 +1,92 @@ ++.\" Hey Emacs! This file is -*- nroff -*- source. ++.\" ++.\" Author: Eamon Walsh (ewalsh@tycho.nsa.gov) 2007 ++.TH "selabel_media" "5" "29 ноября 2011" "Security Enhanced Linux" "Документация API SELinux" ++.SH "ИМЯ" ++selabel_media \- интерфейс проставления меток SELinux в пространстве пользователя и формат файла конфигурации для внутренней службы контекстов носителей ++. ++.SH "ОБЗОР" ++.B #include ++.sp ++.BI "int selabel_lookup(struct selabel_handle *" hnd , ++.in +\w'int selabel_lookup('u ++.BI "char **" context , ++.br ++.BI "const char *" device_name ", int " unused ");" ++.in ++.sp ++.BI "int selabel_lookup_raw(struct selabel_handle *" hnd , ++.in +\w'int selabel_lookup('u ++.BI "char **" context , ++.br ++.BI "const char *" device_name ", int " unused ");" ++. ++.SH "ОПИСАНИЕ" ++Внутренняя служба контекстов носителей сопоставляет имена устройств мультимедиа, например, "cdrom" или "floppy", с контекстами безопасности. Это действие служит для нахождения правильного контекста для установки контекстных подключений к этим устройствам. Необходимо освободить возвращённый \fIcontext\fR с помощью \fBfreecon\fR(3). ++.br ++\fBselabel_lookup\fR(3) описывает функцию с её возвращаемыми значениями и кодами ошибок. ++.sp ++Аргумент поиска целого числа в настоящее время не используется, для него следует указать равное нулю значение. ++.sp ++Все сообщения, созданные с помощью \fBselabel_lookup\fR(3), по умолчанию отправляются в \fIstderr\fR. Это поведение можно изменить с помощью \fBselinux_set_callback\fR(3). ++.sp ++.BR selabel_lookup_raw (3) ++работает аналогично \fBselabel_lookup\fR(3), но не выполняет преобразование контекста. ++.sp ++В разделе \fBФАЙЛЫ\fR приводится описание файлов конфигурации, которые используются для определения контекстов носителей. ++. ++.SH "ПАРАМЕТРЫ" ++Помимо глобальных параметров, описание которых приведено в \fBselabel_open\fR(3), эта внутренняя служба распознаёт следующие параметры: ++.TP ++.B SELABEL_OPT_PATH ++Значение этого параметра, отличное от null, определяет путь к файлу, который будет открыт вместо стандартного файла контекстов носителей \fImedia\fR. ++. ++.SH "ФАЙЛЫ" ++То, какой файл контекстов носителей будет использоваться для получения контекста по умолчанию, зависит от параметра \fBSELABEL_OPT_PATH\fR, переданного в \fBselabel_open\FR(3). Если это \fINULL\fR, то значением \fBSELABEL_OPT_PATH\fR по умолчанию станет расположение контекстов носителей активной политики (возвращённое \fBselinux_media_context_path\fR(3)). В ином случае будет использовано фактическое указанное значение \fBSELABEL_OPT_PATH\fR. ++.sp ++Файл контекстов носителей по умолчанию: ++.RS ++.I /etc/selinux/{SELINUXTYPE}/contexts/files/media ++.RE ++.sp ++Где \fI{SELINUXTYPE}\fR - запись из файла конфигурации selinux \fIconfig\fR (см. \fBselinux_config\fR(5)). ++. ++.SH "ФОРМАТ ФАЙЛА" ++Каждая строка внутри файла \fImedia\fR имеет следующий вид: ++.RS ++.I device_name context ++.RE ++.sp ++Где: ++.RS ++.I device_name ++.RS ++Идентификатор носителя (например, cdrom, floppy, disk и usb). ++.RE ++.I context ++.RS ++Контекст, который следует использовать для проставления метки устройства. ++.RE ++.RE ++.sp ++Пример: ++.RS ++# contexts/files/media ++.br ++cdrom system_u:object_r:removable_device_t ++.br ++floppy system_u:object_r:removable_device_t ++.br ++disk system_u:object_r:fixed_disk_device_t ++. ++.SH "ПРИМЕЧАНИЯ" ++Если контексты должны быть проверены, необходимо указать глобальный параметр \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_media_context_path "(3), " freecon "(3), " selinux_config "(5) " ++ ++ ++.SH АВТОРЫ ++Перевод на русский язык выполнила Герасименко Олеся . +diff --git a/libselinux/man/ru/man5/selabel_x.5 b/libselinux/man/ru/man5/selabel_x.5 +new file mode 100644 +index 000000000000..969ce1e0e333 +--- /dev/null ++++ b/libselinux/man/ru/man5/selabel_x.5 +@@ -0,0 +1,168 @@ ++.\" 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 ++.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 АВТОРЫ ++Перевод на русский язык выполнила Герасименко Олеся . +diff --git a/libselinux/man/ru/man5/sepgsql_contexts.5 b/libselinux/man/ru/man5/sepgsql_contexts.5 +new file mode 100644 +index 000000000000..ec2bb47d1a1d +--- /dev/null ++++ b/libselinux/man/ru/man5/sepgsql_contexts.5 +@@ -0,0 +1 @@ ++.so man5/selabel_db.5 +diff --git a/libselinux/man/ru/man5/service_seusers.5 b/libselinux/man/ru/man5/service_seusers.5 +new file mode 100644 +index 000000000000..fe57ed6953a1 +--- /dev/null ++++ b/libselinux/man/ru/man5/service_seusers.5 +@@ -0,0 +1,71 @@ ++.TH "service_seusers" "5" "28 ноября 2011" "Security Enhanced Linux" "Конфигурация SELinux" ++.SH "ИМЯ" ++service_seusers \- файлы конфигурации сопоставления пользователей и служб GNU/Linux с пользователями SELinux ++. ++.SH "ОПИСАНИЕ" ++Это необязательные файлы, которые позволяют службам определять пользователя SELinux при аутентификации через поддерживающие SELinux приложения для входа, например, ++.BR PAM "(8). " ++.sp ++Для каждого имени пользователя GNU/Linux имеется один файл, который потребуется для запуска службы с определённым именем пользователя SELinux. ++.sp ++Путь к каждому файлу конфигурации формируется путём, который был возвращён ++.BR selinux_policy_root "(3), с добавлением " ++.IR /logins/username ++в конце (где \fIusername\fR - это файл, представляющий имя пользователя GNU/Linux). Каталог служб по умолчанию расположен по следующему адресу: ++.RS ++.I /etc/selinux/{SELINUXTYPE}/logins ++.RE ++.sp ++Где \fI{SELINUXTYPE}\fR - запись из файла конфигурации selinux \fIconfig\fR (см. \fBselinux_config\fR(5)). ++.sp ++.BR getseuser "(3) выполняет чтение этого файла для сопоставления служб с пользователем SELinux. " ++. ++.SH "ФОРМАТ ФАЙЛА" ++Каждая строка внутри файла \fIusername\fR имеет следующий формат, каждый компонент отделяется двоеточием: ++.RS ++.IB service : seuser \fR[\fB:\fIrange\fR] ++.RE ++.sp ++Где: ++.RS ++.I service ++.RS ++Имя службы, которая используется приложением. ++.RE ++.I seuser ++.RS ++Имя пользователя SELinux. ++.RE ++.I range ++.RS ++Диапазон для политики MCS/MLS. ++.RE ++.RE ++. ++.SH "ПРИМЕРЫ" ++Пример 1 - для пользователя 'root': ++.RS ++# ./logins/root ++.br ++ipa:user_u:s0 ++.br ++this_service:unconfined_u:s0 ++.RE ++.sp ++Пример 2 - для пользователя GNU/Linux 'rch': ++.RS ++# ./logins/rch ++.br ++ipa:unconfined_u:s0 ++.br ++that_service:unconfined_u:s0 ++.RE ++. ++.SH "СМОТРИТЕ ТАКЖЕ" ++.ad l ++.nh ++.BR selinux "(8), " PAM "(8), " selinux_policy_root "(3), " getseuser "(3), " selinux_config "(5) " ++ ++ ++.SH АВТОРЫ ++Перевод на русский язык выполнила Герасименко Олеся . +diff --git a/libselinux/man/ru/man5/seusers.5 b/libselinux/man/ru/man5/seusers.5 +new file mode 100644 +index 000000000000..f8296530c60f +--- /dev/null ++++ b/libselinux/man/ru/man5/seusers.5 +@@ -0,0 +1,67 @@ ++.TH "seusers" "5" "28 ноября 2011" "Security Enhanced Linux" "Конфигурация SELinux" ++.SH "ИМЯ" ++seusers \- файл конфигурации сопоставления пользователей GNU/Linux с пользователями SELinux ++. ++.SH "ОПИСАНИЕ" ++Файл ++.I seusers ++содержит список сопоставления пользователей GNU/Linux с пользователями SELinux, который используется поддерживающими SELinux приложениями для входа, например, \fBPAM\fR(8). ++.sp ++.BR selinux_usersconf_path "(3) " ++вернёт путь активной политики к этому файлу. Файл сопоставления пользователей SELinux по умолчанию находится по следующему адресу: ++.RS ++.I /etc/selinux/{SELINUXTYPE}/seusers ++.RE ++.sp ++Где \fI{SELINUXTYPE}\fR - запись из файла конфигурации selinux \fIconfig\fR (см. \fBselinux_config\fR(5)). ++.sp ++.BR getseuserbyname "(3) выполняет чтение этого файла для сопоставления пользователя или группы GNU/Linux с пользователем SELinux. " ++. ++.SH "ФОРМАТ ФАЙЛА" ++Каждая строка файла конфигурации ++.I seusers ++состоит из следующих компонентов: ++.sp ++.RS ++\fR[\fB%\fIgroup_id\fR]|[\fIuser_id\fR]\fB:\fIseuser_id\fR[\fB:\fIrange\fR] ++.RE ++.sp ++Где: ++.RS ++\fIgroup_id\fR|\fIuser_id ++.RS ++\fRИдентификатор пользователя GNU/Linux или (если предваряется символом процентного значения (\fB%\fR)) идентификатор группы GNU/Linux. ++.br ++При необходимости в качестве резервной записи можно предоставить необязательную запись, установленную в \fB__default__\fR. ++.RE ++.I seuser_id ++.RS ++Идентификатор пользователя SELinux. ++.RE ++.I range ++.RS ++Необязательный уровень или диапазон для политики MLS/MCS. ++.RE ++.RE ++. ++.SH "ПРИМЕР" ++# ./seusers ++.br ++system_u:system_u:s0\-s15:c0.c255 ++.br ++root:root:s0\-s15:c0.c255 ++.br ++fred:user_u:s0 ++.br ++__default__:user_u:s0 ++.br ++%user_group:user_u:s0 ++. ++.SH "СМОТРИТЕ ТАКЖЕ" ++.ad l ++.nh ++.BR selinux "(8), " PAM "(8), " selinux_usersconf_path "(3), " getseuserbyname "(3), " selinux_config "(5) " ++ ++ ++.SH АВТОРЫ ++Перевод на русский язык выполнила Герасименко Олеся . +diff --git a/libselinux/man/ru/man5/user_contexts.5 b/libselinux/man/ru/man5/user_contexts.5 +new file mode 100644 +index 000000000000..de3a8bd8c821 +--- /dev/null ++++ b/libselinux/man/ru/man5/user_contexts.5 +@@ -0,0 +1,85 @@ ++.TH "user_contexts" "5" "28 ноября 2011" "Security Enhanced Linux" "Конфигурация SELinux" ++.SH "ИМЯ" ++user_contexts \- файлы конфигурации SELinux-контекстов пользователей SELinux ++. ++.SH "ОПИСАНИЕ" ++Эти необязательные файлы конфигурации контекстов пользователей содержат записи, которые позволяют поддерживающим SELinux приложениям для входа, например, ++.BR PAM (8) ++(запущенным в своих собственных контекстах процессов), определять контекст, в котором должен запускаться сеанс пользователя. ++.sp ++Обычно поддерживающие SELinux приложения для входа используют одну или несколько следующих функций libselinux, которые выполняют чтение этих файлов по пути активной политики: ++.RS ++.BR get_default_context (3) ++.br ++.BR get_ordered_context_list (3) ++.br ++.BR get_ordered_context_list_with_level (3) ++.br ++.BR get_default_context_with_level (3) ++.br ++.BR get_default_context_with_role (3) ++.br ++.BR get_default_context_with_rolelevel (3) ++.br ++.BR query_user_context (3) ++.br ++.BR manual_user_enter_context (3) ++.RE ++.sp ++Для каждого пользователя SELinux можно настроить только один файл. Путь к файлу формируется с помощью пути, возвращённого ++.BR \%selinux_user_contexts_path (3) ++для активной политики, с добавлением в конце имени пользователя SELinux, например: ++.RS ++.I /etc/selinux/{SELINUXTYPE}/contexts/users/unconfined_u ++.br ++.I /etc/selinux/{SELINUXTYPE}/contexts/users/xguest_u ++.RE ++.sp ++Где \fI{SELINUXTYPE}\fR - запись файла конфигурации selinux \fIconfig\fR (см. \fBselinux_config\fR(5)). ++.sp ++Эти файлы содержат информацию о контексте в соответствии с описанием в разделе ++.B ФОРМАТ ФАЙЛА. ++. ++.SH "ФОРМАТ ФАЙЛА" ++Каждая строка в файле конфигурации контекста пользователя состоит из следующих компонентов: ++.RS ++.I login_process user_login_process ++.RE ++.sp ++Где: ++.RS ++.I login_process ++.RS ++Состоит из записи \fIrole\fB:\fItype\fR[\fB:\fIrange\fR], которая представляет собой контекст процесса входа. ++.RE ++.I user_login_process ++.RS ++Состоит из записи \fIrole\fB:\fItype\fR[\fB:\fIrange\fR], которая представляет собой контекст процесса входа пользователя. ++.RE ++.RE ++. ++.SH "ПРИМЕР" ++# Пример для xguest_u в /etc/selinux/targeted/contexts/users/xguest_u ++.br ++system_r:crond_t:s0 xguest_r:xguest_t:s0 ++.br ++system_r:initrc_t:s0 xguest_r:xguest_t:s0 ++.br ++system_r:local_login_t:s0 xguest_r:xguest_t:s0 ++.br ++system_r:remote_login_t:s0 xguest_r:xguest_t:s0 ++.br ++system_r:sshd_t:s0 xguest_r:xguest_t:s0 ++.br ++system_r:xdm_t:s0 xguest_r:xguest_t:s0 ++.br ++xguest_r:xguest_t:s0 xguest_r:xguest_t:s0 ++. ++.SH "СМОТРИТЕ ТАКЖЕ" ++.ad l ++.nh ++.BR selinux "(8), " selinux_user_contexts_path "(3), " PAM "(8), " get_ordered_context_list "(3), " get_ordered_context_list_with_level "(3), " get_default_context_with_level "(3), " get_default_context_with_role "(3), " get_default_context_with_rolelevel "(3), " query_user_context "(3), " manual_user_enter_context "(3), " selinux_config "(5) " ++ ++ ++.SH АВТОРЫ ++Перевод на русский язык выполнила Герасименко Олеся . +diff --git a/libselinux/man/ru/man5/virtual_domain_context.5 b/libselinux/man/ru/man5/virtual_domain_context.5 +new file mode 100644 +index 000000000000..617eeeca39af +--- /dev/null ++++ b/libselinux/man/ru/man5/virtual_domain_context.5 +@@ -0,0 +1,44 @@ ++.TH "virtual_domain_context" "5" "28 ноября 2011" "Security Enhanced Linux" "Конфигурация SELinux" ++.SH "ИМЯ" ++virtual_domain_context \- файл конфигурации SELinux-контекста домена виртуальной машины ++. ++.SH "ОПИСАНИЕ" ++Файл ++.I virtual_domain_context ++содержит список контекстов доменов, которые доступны для использования поддерживающему SELinux API виртуализации libvirt (см. \fBlibvirtd\fR(8)). ++.sp ++.BR selinux_virtual_domain_context_path "(3) " ++вернёт путь активной политики к этому файлу. Файл контекстов виртуальных доменов по умолчанию: ++.RS ++.I /etc/selinux/{SELINUXTYPE}/contexts/virtual_domain_context ++.RE ++.sp ++Где \fI{SELINUXTYPE}\fR - запись из файла конфигурации selinux \fIconfig\fR (см. \fBselinux_config\fR(5)). ++. ++.SH "ФОРМАТ ФАЙЛА" ++Каждая строка в файле состоит из записи следующего вида: ++.RS ++.IB user : role : type \fR[\fB:\fIrange\fR] ++.RE ++.sp ++Где: ++.RS ++.I user role type range ++.RS ++Пользователь, роль, тип и необязательный диапазон (для MCS/MLS), разделённые двоеточиями (:), которые могут использоваться в качестве контекста виртуального домена. ++.RE ++.RE ++. ++.SH "ПРИМЕР" ++# ./contexts/virtual_domain_context ++.br ++system_u:object_r:svirt_t:s0 ++. ++.SH "СМОТРИТЕ ТАКЖЕ" ++.ad l ++.nh ++.BR selinux "(8), " libvirtd "(8), " selinux_virtual_domain_context_path "(3), " selinux_config "(5) " ++ ++ ++.SH АВТОРЫ ++Перевод на русский язык выполнила Герасименко Олеся . +diff --git a/libselinux/man/ru/man5/virtual_image_context.5 b/libselinux/man/ru/man5/virtual_image_context.5 +new file mode 100644 +index 000000000000..560229faf495 +--- /dev/null ++++ b/libselinux/man/ru/man5/virtual_image_context.5 +@@ -0,0 +1,46 @@ ++.TH "virtual_image_context" "5" "28 ноября 2011" "Security Enhanced Linux" "Конфигурация SELinux" ++.SH "ИМЯ" ++virtual_image_context \- файл конфигурации SELinux-контекста образа виртуальной машины ++. ++.SH "ОПИСАНИЕ" ++Файл ++.I virtual_image_context ++содержит список контекстов образов для использования поддерживающим SELinux API виртуализации libvirt (см. \fBlibvirtd\fR(8)). ++.sp ++.BR selinux_virtual_image_context_path "(3) " ++вернёт путь активной политики к этому файлу. Файл контекстов виртуальных образов по умолчанию: ++.RS ++.I /etc/selinux/{SELINUXTYPE}/contexts/virtual_image_context ++.RE ++.sp ++Где \fI{SELINUXTYPE}\fR - запись из файла конфигурации selinux \fIconfig\fR (см. \fBselinux_config\fR(5)). ++. ++.SH "ФОРМАТ ФАЙЛА" ++Каждая строка в файле состоит из записи следующего вида: ++.RS ++.IB user : role : type \fR[\fB:\fIrange\fR] ++.RE ++.sp ++Где: ++.RS ++.I user role type range ++.RS ++Пользователь, роль, тип и необязательный диапазон (для MCS/MLS), разделённые двоеточиями (:), которые могут использоваться в качестве контекста виртуального образа. ++.RE ++.RE ++. ++.SH "ПРИМЕР" ++# ./contexts/virtual_image_context ++.br ++system_u:object_r:svirt_image_t:s0 ++.br ++system_u:object_r:svirt_content_t:s0 ++. ++.SH "СМОТРИТЕ ТАКЖЕ" ++.ad l ++.nh ++.BR selinux "(8), " libvirtd "(8), " selinux_virtual_image_context_path "(3), " selinux_config "(5) " ++ ++ ++.SH АВТОРЫ ++Перевод на русский язык выполнила Герасименко Олеся . +diff --git a/libselinux/man/ru/man5/x_contexts.5 b/libselinux/man/ru/man5/x_contexts.5 +new file mode 100644 +index 000000000000..3796d2a719cc +--- /dev/null ++++ b/libselinux/man/ru/man5/x_contexts.5 +@@ -0,0 +1 @@ ++.so man5/selabel_x.5 +-- +2.41.0 + diff --git a/SPECS/libselinux.spec b/SPECS/libselinux.spec index 22f2ee4..df8cc19 100644 --- a/SPECS/libselinux.spec +++ b/SPECS/libselinux.spec @@ -1,22 +1,25 @@ %define ruby_inc %(pkg-config --cflags ruby) -%define libsepolver 3.5-1 +%define libsepolver 3.6-1 Summary: SELinux library and simple utilities Name: libselinux -Version: 3.5 +Version: 3.6 Release: 1%{?dist} License: Public Domain # https://github.com/SELinuxProject/selinux/wiki/Releases -Source0: https://github.com/SELinuxProject/selinux/releases/download/3.5/libselinux-3.5.tar.gz +Source0: https://github.com/SELinuxProject/selinux/releases/download/3.6/libselinux-3.6.tar.gz Source1: selinuxconlist.8 Source2: selinuxdefcon.8 Url: https://github.com/SELinuxProject/selinux/wiki # $ git clone https://github.com/fedora-selinux/selinux.git # $ cd selinux -# $ git format-patch -N 3.5 -- libselinux +# $ git format-patch -N 3.6 -- libselinux # $ i=1; for j in 00*patch; do printf "Patch%04d: %s\n" $i $j; i=$((i+1));done # Patch list start Patch0001: 0001-Use-SHA-2-instead-of-SHA-1.patch +Patch0002: 0002-Revert-Do-not-automatically-install-Russian-translat.patch +Patch0003: 0003-Revert-libselinux-Remove-the-Russian-translations.patch +Patch0004: 0004-Revert-libselinux-Remove-the-Russian-translations.patch # Patch list end BuildRequires: gcc make BuildRequires: ruby-devel ruby libsepol-static >= %{libsepolver} swig pcre2-devel xz-devel @@ -176,6 +179,7 @@ rm -f %{buildroot}%{_mandir}/man8/togglesebool* %{_sbindir}/avcstat %{_sbindir}/getenforce %{_sbindir}/getpidprevcon +%{_sbindir}/getpolicyload %{_sbindir}/getsebool %{_sbindir}/matchpathcon %{_sbindir}/sefcontext_compile @@ -214,6 +218,12 @@ rm -f %{buildroot}%{_mandir}/man8/togglesebool* %{ruby_vendorarchdir}/selinux.so %changelog +* Wed Dec 13 2023 Petr Lautrbach - 3.6-1 +- SELinux userspace 3.6 release + +* Mon Nov 13 2023 Petr Lautrbach - 3.6-0.rc1.1 +- SELinux userspace 3.6-rc1 release + * Thu Feb 23 2023 Petr Lautrbach - 3.5-1 - SELinux userspace 3.5 release