aboutsummaryrefslogtreecommitdiff
path: root/documentation/content/ru/books/developers-handbook/secure
diff options
context:
space:
mode:
Diffstat (limited to 'documentation/content/ru/books/developers-handbook/secure')
-rw-r--r--documentation/content/ru/books/developers-handbook/secure/_index.adoc4
-rw-r--r--documentation/content/ru/books/developers-handbook/secure/_index.po102
2 files changed, 54 insertions, 52 deletions
diff --git a/documentation/content/ru/books/developers-handbook/secure/_index.adoc b/documentation/content/ru/books/developers-handbook/secure/_index.adoc
index 1631ee018b..4a9f6aae40 100644
--- a/documentation/content/ru/books/developers-handbook/secure/_index.adoc
+++ b/documentation/content/ru/books/developers-handbook/secure/_index.adoc
@@ -7,7 +7,7 @@ next: books/developers-handbook/l10n
params:
path: /books/developers-handbook/secure/
prev: books/developers-handbook/tools
-showBookMenu: true
+showBookMenu: 'true'
tags: ["secure programming", "Buffer Overflows", "SetUID issues"]
title: 'Глава 3. Безопасное программирование'
weight: 4
@@ -198,7 +198,7 @@ ProPolice помогает защититься от переполнений б
Суперпользователь в среде клетки имеет возможность:
* Управлять учетными данными с помощью `setuid`, `seteuid`, `setgid`, `setegid`, `setgroups`, `setreuid`, `setregid`, `setlogin`
-* Установливать ограничений ресурсов с помощью `setrlimit`
+* Устанавливать ограничений ресурсов с помощью `setrlimit`
* Изменять некоторые узлы sysctl (kern.hostname)
* `chroot()`
* Устанавливать флаги на vnode: `chflags`, `fchflags`
diff --git a/documentation/content/ru/books/developers-handbook/secure/_index.po b/documentation/content/ru/books/developers-handbook/secure/_index.po
index c2900d4b7a..d27f806359 100644
--- a/documentation/content/ru/books/developers-handbook/secure/_index.po
+++ b/documentation/content/ru/books/developers-handbook/secure/_index.po
@@ -5,8 +5,8 @@
msgid ""
msgstr ""
"Project-Id-Version: FreeBSD Documentation VERSION\n"
-"POT-Creation-Date: 2025-10-12 22:16+0300\n"
-"PO-Revision-Date: 2025-09-05 04:45+0000\n"
+"POT-Creation-Date: 2025-05-01 19:56-0300\n"
+"PO-Revision-Date: 2025-10-29 04:45+0000\n"
"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
"documentation/booksdevelopers-handbooksecure_index/ru/>\n"
@@ -18,13 +18,13 @@ msgstr ""
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
"X-Generator: Weblate 4.17\n"
-#. type: Yaml Front Matter Hash Value: description
+#. type: YAML Front Matter: description
#: documentation/content/en/books/developers-handbook/secure/_index.adoc:1
#, no-wrap
msgid "Secure Programming in FreeBSD"
msgstr "Безопасное программирование в FreeBSD"
-#. type: Yaml Front Matter Hash Value: title
+#. type: YAML Front Matter: title
#: documentation/content/en/books/developers-handbook/secure/_index.adoc:1
#, no-wrap
msgid "Chapter 3. Secure Programming"
@@ -301,7 +301,9 @@ msgstr ""
#: documentation/content/en/books/developers-handbook/secure/_index.adoc:150
#, no-wrap
msgid " while ((buffer[i++] = getchar()) != '\\n') {};\n"
-msgstr " while ((buffer[i++] = getchar()) != '\\n') {};\n"
+msgstr ""
+" while ((buffer[i++] = getchar()) != '\\n"
+"') {};\n"
#. type: delimited block . 4
#: documentation/content/en/books/developers-handbook/secure/_index.adoc:157
@@ -317,7 +319,8 @@ msgstr ""
" i=1;\n"
" manipulate(buffer);\n"
" i=2;\n"
-" printf(\"The value of i is : %d\\n\",i);\n"
+" printf(\"The value of i is : %d\\n"
+"\",i);\n"
" return 0;\n"
"}\n"
@@ -330,7 +333,7 @@ msgstr ""
"Давайте рассмотрим, как будет выглядеть образ памяти этого процесса, если мы "
"введем 160 пробелов в нашу небольшую программу перед нажатием Enter."
-#. type: XXX figure here!
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/secure/_index.adoc:164
msgid ""
"Obviously more malicious input can be devised to execute actual compiled "
@@ -345,7 +348,7 @@ msgstr ""
msgid "Avoiding Buffer Overflows"
msgstr "Избегание переполнения буфера"
-#. type: XXX figure here!
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/secure/_index.adoc:175
msgid ""
"The most straightforward solution to the problem of stack-overflows is to "
@@ -372,11 +375,10 @@ msgstr ""
"также используется неодинаково между `strncpy` и `strncat`, что может "
"сбивать программистов с толку относительно их правильного использования. "
"Также наблюдается значительное снижение производительности по сравнению с "
-"`strcpy` при копировании короткой строки в большой буфер, поскольку "
-"`strncpy` заполняет оставшееся пространство до указанного размера символами "
-"NUL."
+"`strcpy` при копировании короткой строки в большой буфер, поскольку `strncpy`"
+" заполняет оставшееся пространство до указанного размера символами NUL."
-#. type: XXX figure here!
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/secure/_index.adoc:178
msgid ""
"Another memory copy implementation exists to get around these problems. The "
@@ -393,7 +395,7 @@ msgstr ""
msgid "Compiler based run-time bounds checking"
msgstr "Скомпилированная проверка границ во время выполнения"
-#. type: XXX figure here!
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/secure/_index.adoc:183
msgid ""
"Unfortunately there is still a very large assortment of code in public use "
@@ -408,7 +410,7 @@ msgstr ""
"есть способ помочь предотвратить такие атаки — проверка границ во время "
"выполнения, которая реализована в нескольких компиляторах C/C++."
-#. type: XXX figure here!
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/secure/_index.adoc:186
msgid ""
"ProPolice is one such compiler feature, and is integrated into man:gcc[1] "
@@ -419,7 +421,7 @@ msgstr ""
"man:gcc[1] версий 4.1 и выше. Она заменяет и расширяет более раннее "
"расширение StackGuard для man:gcc[1]."
-#. type: XXX figure here!
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/secure/_index.adoc:190
msgid ""
"ProPolice helps to protect against stack-based buffer overflows and other "
@@ -440,7 +442,7 @@ msgstr ""
"вряд ли увенчается успехом, так как злоумышленнику также необходимо оставить "
"псевдослучайные канарейки нетронутыми."
-#. type: XXX figure here!
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/secure/_index.adoc:192
msgid ""
"Recompiling your application with ProPolice is an effective means of "
@@ -456,7 +458,7 @@ msgstr ""
msgid "Library based run-time bounds checking"
msgstr "Библиотечная проверка границ во время выполнения"
-#. type: XXX figure here!
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/secure/_index.adoc:197
msgid ""
"Compiler-based mechanisms are completely useless for binary-only software "
@@ -472,22 +474,22 @@ msgstr ""
"гарантируют, что эти функции никогда не смогут записать данные за указатель "
"стека."
-#. type: XXX figure here!
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/secure/_index.adoc:199
msgid "libsafe"
msgstr "libsafe"
-#. type: XXX figure here!
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/secure/_index.adoc:200
msgid "libverify"
msgstr "libverify"
-#. type: XXX figure here!
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/secure/_index.adoc:201
msgid "libparanoia"
msgstr "libparanoia"
-#. type: XXX figure here!
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/secure/_index.adoc:206
msgid ""
"Unfortunately these library-based defenses have a number of shortcomings. "
@@ -510,7 +512,7 @@ msgstr ""
msgid "SetUID issues"
msgstr "Проблемы с SetUID"
-#. type: XXX figure here!
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/secure/_index.adoc:212
msgid ""
"There are at least 6 different IDs associated with any given process, and "
@@ -524,7 +526,7 @@ msgstr ""
"seteuid должны отказываться от своих привилегий, как только в них больше нет "
"необходимости."
-#. type: XXX figure here!
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/secure/_index.adoc:215
msgid ""
"The real user ID can only be changed by a superuser process. The login "
@@ -534,7 +536,7 @@ msgstr ""
"процессом с правами суперпользователя. Программа login устанавливает его при "
"первоначальном входе пользователя в систему, и он редко изменяется."
-#. type: XXX figure here!
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/secure/_index.adoc:219
msgid ""
"The effective user ID is set by the `exec()` functions if a program has its "
@@ -557,7 +559,7 @@ msgstr ""
msgid "Limiting your program's environment"
msgstr "Ограничение окружения вашей программы"
-#. type: XXX figure here!
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/secure/_index.adoc:229
msgid ""
"The traditional method of restricting a process is with the `chroot()` "
@@ -582,7 +584,7 @@ msgstr ""
"подключения отладчика к процессу вне окружения man:chroot[8] или многими "
"другими творческими способами."
-#. type: XXX figure here!
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/secure/_index.adoc:234
msgid ""
"The behavior of the `chroot()` system call can be controlled somewhat with "
@@ -607,7 +609,7 @@ msgstr ""
msgid "FreeBSD's jail functionality"
msgstr "Функциональность клеток FreeBSD"
-#. type: XXX figure here!
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/secure/_index.adoc:239
msgid ""
"The concept of a Jail extends upon the `chroot()` by limiting the powers of "
@@ -620,7 +622,7 @@ msgstr ""
"настройки клетки все сетевые взаимодействия должны осуществляться через "
"указанный IP-адрес, а привилегии `root` внутри этой клетки сильно ограничены."
-#. type: XXX figure here!
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/secure/_index.adoc:243
msgid ""
"While in a prison, any tests of superuser power within the kernel using the "
@@ -634,41 +636,41 @@ msgstr ""
"отвечает за распознавание или запрет доступа к правам суперпользователя для "
"процессов в клетке."
-#. type: XXX figure here!
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/secure/_index.adoc:245
msgid "A superuser process within a jailed environment has the power to:"
msgstr "Суперпользователь в среде клетки имеет возможность:"
-#. type: XXX figure here!
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/secure/_index.adoc:247
msgid ""
"Manipulate credential with `setuid`, `seteuid`, `setgid`, `setegid`, "
"`setgroups`, `setreuid`, `setregid`, `setlogin`"
msgstr ""
-"Управлять учетными данными с помощью `setuid`, `seteuid`, `setgid`, "
-"`setegid`, `setgroups`, `setreuid`, `setregid`, `setlogin`"
+"Управлять учетными данными с помощью `setuid`, `seteuid`, `setgid`, `setegid`"
+", `setgroups`, `setreuid`, `setregid`, `setlogin`"
-#. type: XXX figure here!
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/secure/_index.adoc:248
msgid "Set resource limits with `setrlimit`"
-msgstr "Установливать ограничений ресурсов с помощью `setrlimit`"
+msgstr "Устанавливать ограничений ресурсов с помощью `setrlimit`"
-#. type: XXX figure here!
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/secure/_index.adoc:249
msgid "Modify some sysctl nodes (kern.hostname)"
msgstr "Изменять некоторые узлы sysctl (kern.hostname)"
-#. type: XXX figure here!
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/secure/_index.adoc:250
msgid "`chroot()`"
msgstr "`chroot()`"
-#. type: XXX figure here!
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/secure/_index.adoc:251
msgid "Set flags on a vnode: `chflags`, `fchflags`"
msgstr "Устанавливать флаги на vnode: `chflags`, `fchflags`"
-#. type: XXX figure here!
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/secure/_index.adoc:252
msgid ""
"Set attributes of a vnode such as file permission, owner, group, size, "
@@ -677,13 +679,13 @@ msgstr ""
"Устанавливать атрибуты vnode, такие как права доступа к файлу, владелец, "
"группа, размер, время доступа и время изменения."
-#. type: XXX figure here!
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/secure/_index.adoc:253
msgid "Bind to privileged ports in the Internet domain (ports < 1024)"
msgstr ""
"Привязываться к привилегированным портам в домене Интернета (порты < 1024)"
-#. type: XXX figure here!
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/secure/_index.adoc:257
msgid ""
"`Jail` is a very useful tool for running applications in a secure "
@@ -706,7 +708,7 @@ msgstr ""
msgid "POSIX(R).1e Process Capabilities"
msgstr "Возможности процесса в POSIX(R).1e"
-#. type: XXX figure here!
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/secure/_index.adoc:261
msgid ""
"POSIX(R) has released a working draft that adds event auditing, access "
@@ -717,16 +719,16 @@ msgstr ""
"контроля доступа, детализированные привилегии, маркировку информации и "
"обязательный контроль доступа."
-#. type: XXX figure here!
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/secure/_index.adoc:264
msgid ""
"This is a work in progress and is the focus of the http://www.trustedbsd.org/"
"[TrustedBSD] project. Some of the initial work has been committed to "
"FreeBSD-CURRENT (cap_set_proc(3))."
msgstr ""
-"Это работа в процессе, и она является основным направлением проекта http://"
-"www.trustedbsd.org/[TrustedBSD]. Некоторые первоначальные наработки были "
-"добавлены в FreeBSD-CURRENT (cap_set_proc(3))."
+"Это работа в процессе, и она является основным направлением проекта "
+"http://www.trustedbsd.org/[TrustedBSD]. Некоторые первоначальные наработки "
+"были добавлены в FreeBSD-CURRENT (cap_set_proc(3))."
#. type: Title ==
#: documentation/content/en/books/developers-handbook/secure/_index.adoc:266
@@ -734,7 +736,7 @@ msgstr ""
msgid "Trust"
msgstr "Доверие"
-#. type: XXX figure here!
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/secure/_index.adoc:270
msgid ""
"An application should never assume that anything about the users environment "
@@ -748,7 +750,7 @@ msgstr ""
"текущую рабочую директорию файловой системы, файловые дескрипторы, "
"количество открытых файлов и т.д."
-#. type: XXX figure here!
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/secure/_index.adoc:275
msgid ""
"You should never assume that you can catch all forms of invalid input that a "
@@ -767,7 +769,7 @@ msgstr ""
"осторожными с путями (\"../\", \"/\"), символическими ссылками и escape-"
"символами оболочки."
-#. type: XXX figure here!
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/secure/_index.adoc:278
msgid ""
"Perl has a really cool feature called \"Taint\" mode which can be used to "
@@ -789,7 +791,7 @@ msgstr ""
msgid "Race Conditions"
msgstr "Состояние гонки"
-#. type: XXX figure here!
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/secure/_index.adoc:284
msgid ""
"A race condition is anomalous behavior caused by the unexpected dependence "
@@ -801,7 +803,7 @@ msgstr ""
"ошибочно предположил, что определенное событие всегда произойдет раньше "
"другого."
-#. type: XXX figure here!
+#. type: Plain text
#: documentation/content/en/books/developers-handbook/secure/_index.adoc:290
msgid ""
"Some of the common causes of race conditions are signals, access checks, and "