aboutsummaryrefslogtreecommitdiff
path: root/documentation/content/ru/articles/pam/_index.po
diff options
context:
space:
mode:
Diffstat (limited to 'documentation/content/ru/articles/pam/_index.po')
-rw-r--r--documentation/content/ru/articles/pam/_index.po2155
1 files changed, 2155 insertions, 0 deletions
diff --git a/documentation/content/ru/articles/pam/_index.po b/documentation/content/ru/articles/pam/_index.po
new file mode 100644
index 0000000000..1236ee94df
--- /dev/null
+++ b/documentation/content/ru/articles/pam/_index.po
@@ -0,0 +1,2155 @@
+# SOME DESCRIPTIVE TITLE
+# Copyright (C) YEAR The FreeBSD Project
+# This file is distributed under the same license as the FreeBSD Documentation package.
+# Vladlen Popolitov <vladlenpopolitov@list.ru>, 2025.
+msgid ""
+msgstr ""
+"Project-Id-Version: FreeBSD Documentation VERSION\n"
+"POT-Creation-Date: 2025-09-30 21:38+0300\n"
+"PO-Revision-Date: 2025-08-15 04:45+0000\n"
+"Last-Translator: Vladlen Popolitov <vladlenpopolitov@list.ru>\n"
+"Language-Team: Russian <https://translate-dev.freebsd.org/projects/"
+"documentation/articlespam_index/ru/>\n"
+"Language: ru\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
+"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
+#: documentation/content/en/articles/pam/_index.adoc:1
+#, no-wrap
+msgid "A guide to the PAM system and modules under FreeBSD"
+msgstr "Руководство по системе PAM и модулям в FreeBSD"
+
+#. Copyright (c) 2001-2003 Networks Associates Technology, Inc.
+#. All rights reserved.
+#. This software was developed for the FreeBSD Project by ThinkSec AS and
+#. Network Associates Laboratories, the Security Research Division of
+#. Network Associates, Inc. under DARPA/SPAWAR contract N66001-01-C-8035
+#. ("CBOSS"), as part of the DARPA CHATS research program.
+#. Redistribution and use in source and binary forms, with or without
+#. modification, are permitted provided that the following conditions
+#. are met:
+#. 1. Redistributions of source code must retain the above copyright
+#. notice, this list of conditions and the following disclaimer.
+#. 2. Redistributions in binary form must reproduce the above copyright
+#. notice, this list of conditions and the following disclaimer in the
+#. documentation and/or other materials provided with the distribution.
+#. 3. The name of the author may not be used to endorse or promote
+#. products derived from this software without specific prior written
+#. permission.
+#. THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+#. ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+#. IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+#. ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+#. FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+#. DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+#. OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+#. HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+#. LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+#. OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+#. SUCH DAMAGE.
+#. type: Title =
+#: documentation/content/en/articles/pam/_index.adoc:1
+#: documentation/content/en/articles/pam/_index.adoc:45
+#, no-wrap
+msgid "Pluggable Authentication Modules"
+msgstr "Подключаемые Модули Аутентификации (PAM)"
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:81
+msgid "Abstract"
+msgstr "Аннотация"
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:83
+msgid ""
+"This article describes the underlying principles and mechanisms of the "
+"Pluggable Authentication Modules (PAM) library, and explains how to "
+"configure PAM, how to integrate PAM into applications, and how to write PAM "
+"modules."
+msgstr ""
+"В этой статье описываются принципы и механизмы, лежащие в основе библиотеки "
+"Подключаемых Модулей Аутентификации (PAM - Pluggable Authentication "
+"Modules), и рассказывается, как настроить PAM, как интегрировать PAM в "
+"приложения и как создавать модули PAM."
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:85
+msgid "'''"
+msgstr "'''"
+
+#. type: Title ==
+#: documentation/content/en/articles/pam/_index.adoc:89
+#, no-wrap
+msgid "Introduction"
+msgstr "Введение"
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:92
+msgid ""
+"The Pluggable Authentication Modules (PAM) library is a generalized API for "
+"authentication-related services which allows a system administrator to add "
+"new authentication methods simply by installing new PAM modules, and to "
+"modify authentication policies by editing configuration files."
+msgstr ""
+"Библиотека Pluggable Authentication Modules (PAM) является обобщённым API "
+"для служб, связанных с аутентификацией, которые позволяют системному "
+"администратору добавлять новые методы аутентификации простой установкой "
+"новых модулей PAM, и изменять политику аутентификации посредством "
+"редактирования конфигурационных файлов."
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:96
+msgid ""
+"PAM was defined and developed in 1995 by Vipin Samar and Charlie Lai of Sun "
+"Microsystems, and has not changed much since. In 1997, the Open Group "
+"published the X/Open Single Sign-on (XSSO) preliminary specification, which "
+"standardized the PAM API and added extensions for single (or rather "
+"integrated) sign-on. At the time of this writing, this specification has "
+"not yet been adopted as a standard."
+msgstr ""
+"PAM описали и разработали Vipin Samar и Charlie Lai из Sun Microsystems в "
+"1995 году, с тех он сильно не менялся. В 1997 году Open Group опубликовала "
+"предварительные спецификации на X/Open Single Sign-on (XSSO), что "
+"стандартизовало API для PAM и добавило расширения для одноразовой (или "
+"достаточно интегрированной) подписи. На момент написания этого документа эта "
+"спецификация ещё не была принята за стандарт."
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:98
+msgid ""
+"Although this article focuses primarily on FreeBSD 5.x, which uses OpenPAM, "
+"it should be equally applicable to FreeBSD 4.x, which uses Linux-PAM, and "
+"other operating systems such as Linux and Solaris(TM)."
+msgstr ""
+"Хотя эта статья посвящена в основном FreeBSD 5.x, в которой используется "
+"OpenPAM, она подойдёт для FreeBSD 4.x, использующей Linux-PAM, и других "
+"операционных систем, таких, как Linux и Solaris(TM)."
+
+#. type: Title ==
+#: documentation/content/en/articles/pam/_index.adoc:100
+#, no-wrap
+msgid "Terms and Conventions"
+msgstr "Термины и соглашения"
+
+#. type: Title ===
+#: documentation/content/en/articles/pam/_index.adoc:103
+#, no-wrap
+msgid "Definitions"
+msgstr "Определения"
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:110
+msgid ""
+"The terminology surrounding PAM is rather confused. Neither Samar and Lai's "
+"original paper nor the XSSO specification made any attempt at formally "
+"defining terms for the various actors and entities involved in PAM, and the "
+"terms that they do use (but do not define) are sometimes misleading and "
+"ambiguous. The first attempt at establishing a consistent and unambiguous "
+"terminology was a whitepaper written by Andrew G. Morgan (author of Linux-"
+"PAM) in 1999. While Morgan's choice of terminology was a huge leap forward, "
+"it is in this author's opinion by no means perfect. What follows is an "
+"attempt, heavily inspired by Morgan, to define precise and unambiguous terms "
+"for all actors and entities involved in PAM."
+msgstr ""
+"Терминология, используемая в PAM, достаточно запутана. Ни оригинальная "
+"работа Samar и Lai, ни спецификация XSSO не делают никаких попыток формально "
+"определить термины для различных объектов и участвующих в PAM сторон, а "
+"термины, которые они используют (но не определяют) иногда неверны и "
+"неоднозначны. Первой попыткой создать недвусмысленную и согласованную "
+"терминологию была работа, которую написал Andrew G. Morgan (автор Linux-PAM) "
+"в 1999 году. Хотя выбор терминологии, которую сделал Морган, был гигантским "
+"скачком вперед, это, по мнению автора данной статьи, не означает ее "
+"правильность. Далее делается попытка, в значительной степени на основе "
+"работы Моргана, дать точные и недвусмысленные определения терминов для всех "
+"участников и объектов PAM."
+
+#. type: Labeled list
+#: documentation/content/en/articles/pam/_index.adoc:111
+#, no-wrap
+msgid "account"
+msgstr "учётная запись (account)"
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:113
+msgid "The set of credentials the applicant is requesting from the arbitrator."
+msgstr "Набор полномочий, которые аппликант запрашивает от арбитратора."
+
+#. type: Labeled list
+#: documentation/content/en/articles/pam/_index.adoc:114
+#, no-wrap
+msgid "applicant"
+msgstr "аппликант (applicant)"
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:116
+msgid "The user or entity requesting authentication."
+msgstr "Пользователь или объект, запрашивающие аутентификацию."
+
+#. type: Labeled list
+#: documentation/content/en/articles/pam/_index.adoc:117
+#, no-wrap
+msgid "arbitrator"
+msgstr "арбитратор (arbitrator)"
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:119
+msgid ""
+"The user or entity who has the privileges necessary to verify the "
+"applicant's credentials and the authority to grant or deny the request."
+msgstr ""
+"Пользователь или объект, имеющий привилегии, достаточные для проверки "
+"полномочий аппликанта и права подтвердить или отклонить запрос."
+
+#. type: Labeled list
+#: documentation/content/en/articles/pam/_index.adoc:120
+#, no-wrap
+msgid "chain"
+msgstr "цепочка (chain)"
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:123
+msgid ""
+"A sequence of modules that will be invoked in response to a PAM request. "
+"The chain includes information about the order in which to invoke the "
+"modules, what arguments to pass to them, and how to interpret the results."
+msgstr ""
+"Последовательность модулей, которые будут вызваны в ответ на запрос PAM. В "
+"цепочку включена информация о последовательности вызовов модулей, "
+"аргументах, которые нужно им передать, и о том, как интерпретировать "
+"результаты."
+
+#. type: Labeled list
+#: documentation/content/en/articles/pam/_index.adoc:124
+#, no-wrap
+msgid "client"
+msgstr "клиент (client)"
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:126
+msgid ""
+"The application responsible for initiating an authentication request on "
+"behalf of the applicant and for obtaining the necessary authentication "
+"information from him."
+msgstr ""
+"Приложение, отвечающее за инициирование запроса на аутентификацию от имени "
+"аппликанта и получающее от него необходимую для аутентификации информацию."
+
+#. type: Labeled list
+#: documentation/content/en/articles/pam/_index.adoc:127
+#, no-wrap
+msgid "facility"
+msgstr "подсистема (facility)"
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:129
+msgid ""
+"One of the four basic groups of functionality provided by PAM: "
+"authentication, account management, session management and authentication "
+"token update."
+msgstr ""
+"Одна из четырех основных групп функциональности, которые дает PAM: "
+"аутентификация, управление учетными записями, управление сеансом и "
+"обновление ключом аутентификации."
+
+#. type: Labeled list
+#: documentation/content/en/articles/pam/_index.adoc:130
+#, no-wrap
+msgid "module"
+msgstr "модуль (module)"
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:132
+msgid ""
+"A collection of one or more related functions implementing a particular "
+"authentication facility, gathered into a single (normally dynamically "
+"loadable) binary file and identified by a single name."
+msgstr ""
+"Набор из одной или большего количества связанных функций, реализующих "
+"определенную подсистему аутентификации, собранный в один (обычно динамически "
+"загружаемый) двоичный файл, идентифицируемый по имени."
+
+#. type: Labeled list
+#: documentation/content/en/articles/pam/_index.adoc:133
+#, no-wrap
+msgid "policy"
+msgstr "политика (policy)"
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:136
+msgid ""
+"The complete set of configuration statements describing how to handle PAM "
+"requests for a particular service. A policy normally consists of four "
+"chains, one for each facility, though some services do not use all four "
+"facilities."
+msgstr ""
+"Полный набор конфигурационных деклараций, описывающих, как обрабатывать "
+"запросы PAM к определенной услуге. Политика обычно состоит из четырех "
+"цепочек, по одной для каждой подсистемы, хотя некоторые службы используют не "
+"все четыре подсистемы."
+
+#. type: Labeled list
+#: documentation/content/en/articles/pam/_index.adoc:137
+#, no-wrap
+msgid "server"
+msgstr "сервер (server)"
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:139
+msgid ""
+"The application acting on behalf of the arbitrator to converse with the "
+"client, retrieve authentication information, verify the applicant's "
+"credentials and grant or deny requests."
+msgstr ""
+"Приложение, выступающее от имени арбитратора для общения с клиентом, "
+"запрашивания аутентификационной информации, проверки полномочий аппликанта и "
+"подтверждающее или отклоняющее запрос."
+
+#. type: Labeled list
+#: documentation/content/en/articles/pam/_index.adoc:140
+#, no-wrap
+msgid "service"
+msgstr "сервис (service)"
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:143
+msgid ""
+"A class of servers providing similar or related functionality and requiring "
+"similar authentication. PAM policies are defined on a per-service basis, so "
+"all servers that claim the same service name will be subject to the same "
+"policy."
+msgstr ""
+"Класс серверов, предоставляющих похожую или связанную функциональность, и "
+"требующую подобную аутентификацию. Политики PAM задаются на основе сервисов, "
+"так что ко всем серверам, объявляющим одно и тоже имя сервиса, будет "
+"применяться одна и та же политика."
+
+#. type: Labeled list
+#: documentation/content/en/articles/pam/_index.adoc:144
+#, no-wrap
+msgid "session"
+msgstr "сеанс (session)"
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:147
+msgid ""
+"The context within which service is rendered to the applicant by the "
+"server. One of PAM's four facilities, session management, is concerned "
+"exclusively with setting up and tearing down this context."
+msgstr ""
+"Контекст, в котором сервис оказывается аппликанту сервером. Одна из четырех "
+"подсистем PAM, управление сеансом, касается исключительно настройке и "
+"очистке этого контекста."
+
+#. type: Labeled list
+#: documentation/content/en/articles/pam/_index.adoc:148
+#, no-wrap
+msgid "token"
+msgstr "ключ (token)"
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:150
+msgid ""
+"A chunk of information associated with the account, such as a password or "
+"passphrase, which the applicant must provide to prove his identity."
+msgstr ""
+"Блок информации, связанный с учётной записью, например, пароль или ключевая "
+"фраза, которую аппликант должен предоставить для своей идентификации."
+
+#. type: Labeled list
+#: documentation/content/en/articles/pam/_index.adoc:151
+#, no-wrap
+msgid "transaction"
+msgstr "транзакция (transaction)"
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:153
+msgid ""
+"A sequence of requests from the same applicant to the same instance of the "
+"same server, beginning with authentication and session set-up and ending "
+"with session tear-down."
+msgstr ""
+"Последовательность запросов от одного и того же аппликанта к одному и тому "
+"же экземпляру того же самого сервера, начиная с аутентификации и "
+"установления сеанса и заканчивая закрытием сеанса."
+
+#. type: Title ===
+#: documentation/content/en/articles/pam/_index.adoc:155
+#, no-wrap
+msgid "Usage Examples"
+msgstr "Примеры использования"
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:158
+msgid ""
+"This section aims to illustrate the meanings of some of the terms defined "
+"above by way of a handful of simple examples."
+msgstr ""
+"Этот раздел предназначен для иллюстрации значений некоторых терминов, "
+"определенных выше, при помощи простых примеров."
+
+#. type: Title ====
+#: documentation/content/en/articles/pam/_index.adoc:159
+#, no-wrap
+msgid "Client and Server Are One"
+msgstr "Объединенные клиент и сервер"
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:162
+msgid "This simple example shows `alice` man:su[1]'ing to `root`."
+msgstr ""
+"В этом простом примере показывается пользователь `alice`, выполняющий "
+"команду man:su[1] для того, чтобы стать пользователем `root`."
+
+#. type: delimited block . 4
+#: documentation/content/en/articles/pam/_index.adoc:167
+#, no-wrap
+msgid ""
+"% whoami\n"
+"alice\n"
+msgstr ""
+"% whoami\n"
+"alice\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/articles/pam/_index.adoc:170
+#, no-wrap
+msgid ""
+"% ls -l `which su`\n"
+"-r-sr-xr-x 1 root wheel 10744 Dec 6 19:06 /usr/bin/su\n"
+msgstr ""
+"% ls -l `which su`\n"
+"-r-sr-xr-x 1 root wheel 10744 Dec 6 19:06 /usr/bin/su\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/articles/pam/_index.adoc:175
+#, no-wrap
+msgid ""
+"% su -\n"
+"Password: xi3kiune\n"
+"# whoami\n"
+"root\n"
+msgstr ""
+"% su -\n"
+"Password: xi3kiune\n"
+"# whoami\n"
+"root\n"
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:178
+msgid "The applicant is `alice`."
+msgstr "Аппликантом является `alice`."
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:179
+msgid "The account is `root`."
+msgstr "Учетной записью является `root`."
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:180
+msgid "The man:su[1] process is both client and server."
+msgstr "Процесс man:su[1] является как клиентом, так и сервером."
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:181
+msgid "The authentication token is `xi3kiune`."
+msgstr "Аутентификационным ключом является `xi3kiune`."
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:182
+msgid "The arbitrator is `root`, which is why man:su[1] is setuid `root`."
+msgstr ""
+"Арбитратором выступает `root`, и именно поэтому у команды man:su[1] "
+"выставлен бит выполнения с правами `root`."
+
+#. type: Title ====
+#: documentation/content/en/articles/pam/_index.adoc:183
+#, no-wrap
+msgid "Client and Server Are Separate"
+msgstr "Клиент и сервер разделены"
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:187
+msgid ""
+"The example below shows `eve` try to initiate an man:ssh[1] connection to "
+"`login.example.com`, ask to log in as `bob`, and succeed. Bob should have "
+"chosen a better password!"
+msgstr ""
+"В примере ниже рассматривается пользователь `eve`, пытающийся установить "
+"man:ssh[1]-соединение с `login.example.com`, и успешно входя как "
+"пользователь `bob`. Боб должен был выбрать пароль получше!"
+
+#. type: delimited block . 4
+#: documentation/content/en/articles/pam/_index.adoc:192
+#, no-wrap
+msgid ""
+"% whoami\n"
+"eve\n"
+msgstr ""
+"% whoami\n"
+"eve\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/articles/pam/_index.adoc:200
+#, no-wrap
+msgid ""
+"% ssh bob@login.example.com\n"
+"bob@login.example.com's password:\n"
+"% god\n"
+"Last login: Thu Oct 11 09:52:57 2001 from 192.168.0.1\n"
+"Copyright (c) 1980, 1983, 1986, 1988, 1990, 1991, 1993, 1994\n"
+"\tThe Regents of the University of California. All rights reserved.\n"
+"FreeBSD 4.4-STABLE (LOGIN) 4: Tue Nov 27 18:10:34 PST 2001\n"
+msgstr ""
+"% ssh bob@login.example.com\n"
+"bob@login.example.com's password:\n"
+"% god\n"
+"Last login: Thu Oct 11 09:52:57 2001 from 192.168.0.1\n"
+"Copyright (c) 1980, 1983, 1986, 1988, 1990, 1991, 1993, 1994\n"
+"\tThe Regents of the University of California. All rights reserved.\n"
+"FreeBSD 4.4-STABLE (LOGIN) 4: Tue Nov 27 18:10:34 PST 2001\n"
+
+#. type: delimited block . 4
+#: documentation/content/en/articles/pam/_index.adoc:203
+#, no-wrap
+msgid ""
+"Welcome to FreeBSD!\n"
+"%\n"
+msgstr ""
+"Welcome to FreeBSD!\n"
+"%\n"
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:207
+msgid "The applicant is `eve`."
+msgstr "Аппликантом является `eve`."
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:208
+msgid "The client is Eve's man:ssh[1] process."
+msgstr "Клиентом является процесс man:ssh[1] пользователя Eve."
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:209
+msgid "The server is the man:sshd[8] process on `login.example.com`"
+msgstr "Сервером является процесс man:sshd[8] на машине `login.example.com`"
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:210
+msgid "The account is `bob`."
+msgstr "Учетной записью является `bob`."
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:211
+msgid "The authentication token is `god`."
+msgstr "Ключом аутентификации является `god`."
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:212
+msgid "Although this is not shown in this example, the arbitrator is `root`."
+msgstr "Хотя этого не видно в примере, но арбитратором является `root`."
+
+#. type: Title ====
+#: documentation/content/en/articles/pam/_index.adoc:213
+#, no-wrap
+msgid "Sample Policy"
+msgstr "Пример политики"
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:216
+msgid "The following is FreeBSD's default policy for `sshd`:"
+msgstr ""
+"Следующее является политикой, используемой во FreeBSD по умолчанию для "
+"`sshd`:"
+
+#. type: delimited block . 4
+#: documentation/content/en/articles/pam/_index.adoc:225
+#, no-wrap
+msgid ""
+"sshd\tauth\t\trequired\tpam_nologin.so\tno_warn\n"
+"sshd\tauth\t\trequired\tpam_unix.so\tno_warn try_first_pass\n"
+"sshd\taccount\t\trequired\tpam_login_access.so\n"
+"sshd\taccount\t\trequired\tpam_unix.so\n"
+"sshd\tsession\t\trequired\tpam_lastlog.so\tno_fail\n"
+"sshd\tpassword\trequired\tpam_permit.so\n"
+msgstr ""
+"sshd\tauth\t\trequired\tpam_nologin.so\tno_warn\n"
+"sshd\tauth\t\trequired\tpam_unix.so\tno_warn try_first_pass\n"
+"sshd\taccount\t\trequired\tpam_login_access.so\n"
+"sshd\taccount\t\trequired\tpam_unix.so\n"
+"sshd\tsession\t\trequired\tpam_lastlog.so\tno_fail\n"
+"sshd\tpassword\trequired\tpam_permit.so\n"
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:228
+msgid ""
+"This policy applies to the `sshd` service (which is not necessarily "
+"restricted to the man:sshd[8] server.)"
+msgstr ""
+"Эта политика применяется к службе `sshd` (что не обязательно ограничено "
+"сервером man:sshd[8])."
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:229
+msgid "`auth`, `account`, `session` and `password` are facilities."
+msgstr "`auth`, `account`, `session` и `password` являются подсистемами."
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:230
+msgid ""
+"[.filename]#pam_nologin.so#, [.filename]#pam_unix.so#, "
+"[.filename]#pam_login_access.so#, [.filename]#pam_lastlog.so# and "
+"[.filename]#pam_permit.so# are modules. It is clear from this example that "
+"[.filename]#pam_unix.so# provides at least two facilities (authentication "
+"and account management.)"
+msgstr ""
+"[.filename]#pam_nologin.so#, [.filename]#pam_unix.so#, "
+"[.filename]#pam_login_access.so#, [.filename]#pam_lastlog.so# и "
+"[.filename]#pam_permit.so# являются модулями. Из этого примера видно, что "
+"[.filename]#pam_unix.so# реализует по крайней мере две подсистемы "
+"(аутентификацию и управление учётными записями)."
+
+#. type: Title ==
+#: documentation/content/en/articles/pam/_index.adoc:232
+#, no-wrap
+msgid "PAM Essentials"
+msgstr "Основы PAM"
+
+#. type: Title ===
+#: documentation/content/en/articles/pam/_index.adoc:235
+#, no-wrap
+msgid "Facilities and Primitives"
+msgstr "Подсистемы и примитивы"
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:238
+msgid ""
+"The PAM API offers six different authentication primitives grouped in four "
+"facilities, which are described below."
+msgstr ""
+"API для PAM предоставляет шесть различных примитивов для аутентификации, "
+"сгруппированных в четыре подсистемы, каждая из которых описывается ниже."
+
+#. type: Labeled list
+#: documentation/content/en/articles/pam/_index.adoc:239
+#, no-wrap
+msgid "`auth`"
+msgstr "`auth`"
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:242
+msgid ""
+"_Authentication._ This facility concerns itself with authenticating the "
+"applicant and establishing the account credentials. It provides two "
+"primitives:"
+msgstr ""
+"_Аутентификация._ Эта подсистема, собственно говоря, реализует "
+"аутентификацию аппликанта и выяснение полномочий учётной записи. Она "
+"предоставляет два примитива:"
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:244
+msgid ""
+"man:pam_authenticate[3] authenticates the applicant, usually by requesting "
+"an authentication token and comparing it with a value stored in a database "
+"or obtained from an authentication server."
+msgstr ""
+"Функция man:pam_authenticate[3] аутентифицирует аппликанта, обычно "
+"запрашивая аутентификационный ключ и сравнивая его со значением, хранящимся "
+"в базе данных или получаемым от сервера аутентификации."
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:245
+msgid ""
+"man:pam_setcred[3] establishes account credentials such as user ID, group "
+"membership and resource limits."
+msgstr ""
+"Функция man:pam_setcred[3] устанавливает полномочия учётной записи, такие, "
+"как идентификатор пользователя, членство в группах и ограничения на "
+"использование ресурсов."
+
+#. type: Labeled list
+#: documentation/content/en/articles/pam/_index.adoc:246
+#, no-wrap
+msgid "`account`"
+msgstr "`account`"
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:249
+msgid ""
+"_Account management._ This facility handles non-authentication-related "
+"issues of account availability, such as access restrictions based on the "
+"time of day or the server's work load. It provides a single primitive:"
+msgstr ""
+"_Управление учётной записью._ Эта подсистема обрабатывает вопросы "
+"доступности учетной записи, не связанные с аутентификацией, такие, как "
+"ограничения в доступе на основе времени суток или загрузки сервера. Он "
+"предоставляет единственный примитив:"
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:251
+msgid "man:pam_acct_mgmt[3] verifies that the requested account is available."
+msgstr ""
+"Функция man:pam_acct_mgmt[3] проверяет, доступна ли запрашиваемая учётная "
+"запись."
+
+#. type: Labeled list
+#: documentation/content/en/articles/pam/_index.adoc:252
+#, no-wrap
+msgid "`session`"
+msgstr "`session`"
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:255
+msgid ""
+"_Session management._ This facility handles tasks associated with session "
+"set-up and tear-down, such as login accounting. It provides two primitives:"
+msgstr ""
+"_Управление сеансом._ Эта подсистема отрабатывает задачи, связанные с "
+"установлением и закрытием сеанса, такие, как учет входов пользователей. Она "
+"предоставляет два примитива:"
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:257
+msgid ""
+"man:pam_open_session[3] performs tasks associated with session set-up: add "
+"an entry in the [.filename]#utmp# and [.filename]#wtmp# databases, start an "
+"SSH agent, etc."
+msgstr ""
+"Функция man:pam_open_session[3] выполняет действия, связанные с "
+"установлением сеанса: добавление записей в базы данных [.filename]#utmp# и "
+"[.filename]#wtmp#, запуск агента SSH и так далее."
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:258
+msgid ""
+"man:pam_close_session[3] performs tasks associated with session tear-down: "
+"add an entry in the [.filename]#utmp# and [.filename]#wtmp# databases, stop "
+"the SSH agent, etc."
+msgstr ""
+"Функция man:pam_close_session[3] выполняет действия, связанные с закрытием "
+"сеанса: добавление записей в базы данных [.filename]#utmp# и "
+"[.filename]#wtmp#, завершение работы агента SSH и так далее."
+
+#. type: Labeled list
+#: documentation/content/en/articles/pam/_index.adoc:259
+#, no-wrap
+msgid "`password`"
+msgstr "`password`"
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:262
+msgid ""
+"_Password management._ This facility is used to change the authentication "
+"token associated with an account, either because it has expired or because "
+"the user wishes to change it. It provides a single primitive:"
+msgstr ""
+"_Управление паролем._ Эта подсистема используется для изменения ключа "
+"аутентификации, связанного с учетной записью, по причине истечения его срока "
+"действия или желания пользователя изменить его. Она предоставляет "
+"единственный примитив:"
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:264
+msgid ""
+"man:pam_chauthtok[3] changes the authentication token, optionally verifying "
+"that it is sufficiently hard to guess, has not been used previously, etc."
+msgstr ""
+"Функция man:pam_chauthtok[3] изменяет ключ аутентификации, опционально "
+"проверяя, что он труден для подбора, не использовался ранее и так далее."
+
+#. type: Title ===
+#: documentation/content/en/articles/pam/_index.adoc:266
+#, no-wrap
+msgid "Modules"
+msgstr "Модули"
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:271
+msgid ""
+"Modules are a very central concept in PAM; after all, they are the \"M\" in "
+"\"PAM\". A PAM module is a self-contained piece of program code that "
+"implements the primitives in one or more facilities for one particular "
+"mechanism; possible mechanisms for the authentication facility, for "
+"instance, include the UNIX(R) password database, NIS, LDAP and Radius."
+msgstr ""
+"Модули являются центральной концепцией в PAM; в конце концов, им "
+"соответствует буква \"M\" в сокращении \"PAM\". Модуль PAM представляет "
+"собой самодостаточный кусок программного кода, который реализует примитивы "
+"одной или большего количества подсистем одного конкретного механизма; к "
+"возможным механизмам для подсистемы аутентификации, к примеру, относятся "
+"базы данных паролей UNIX(R), системы NIS, LDAP или Radius."
+
+#. type: Title ====
+#: documentation/content/en/articles/pam/_index.adoc:273
+#, no-wrap
+msgid "Module Naming"
+msgstr "Именование модулей"
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:278
+msgid ""
+"FreeBSD implements each mechanism in a single module, named "
+"`pam_mechanism.so` (for instance, `pam_unix.so` for the UNIX(R) mechanism.) "
+"Other implementations sometimes have separate modules for separate "
+"facilities, and include the facility name as well as the mechanism name in "
+"the module name. To name one example, Solaris(TM) has a "
+"`pam_dial_auth.so.1` module which is commonly used to authenticate dialup "
+"users."
+msgstr ""
+"Во FreeBSD каждый механизм реализуется в отдельном модуле с именем "
+"`pam_mechanism.so` (например, `pam_unix.so` для механизма UNIX(R).) В других "
+"реализациях иногда отдельные модули используются для разных подсистем, и в "
+"их имя включается, кроме названия механизма, и имя подсистемы. К примеру, в "
+"Solaris(TM) имеется модуль `pam_dial_auth.so.1`, который часто используется "
+"для аутентификации пользователей, работающих по коммутируемым каналам связи."
+
+#. type: Title ====
+#: documentation/content/en/articles/pam/_index.adoc:280
+#, no-wrap
+msgid "Module Versioning"
+msgstr "Версии модулей"
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:284
+msgid ""
+"FreeBSD's original PAM implementation, based on Linux-PAM, did not use "
+"version numbers for PAM modules. This would commonly cause problems with "
+"legacy applications, which might be linked against older versions of the "
+"system libraries, as there was no way to load a matching version of the "
+"required modules."
+msgstr ""
+"Изначальная реализация PAM во FreeBSD, которая была основана на Linux-PAM, "
+"не использовала номера версий для модулей PAM. Это будет приводить к "
+"проблемам при работе унаследованных приложений, которые могут быть "
+"скомпонованы со старыми версиями системных библиотек, так как способа "
+"подгрузить соответствующую версию требуемых модулей нет."
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:287
+msgid ""
+"OpenPAM, on the other hand, looks for modules that have the same version "
+"number as the PAM library (currently 2), and only falls back to an "
+"unversioned module if no versioned module could be loaded. Thus legacy "
+"modules can be provided for legacy applications, while allowing new (or "
+"newly built) applications to take advantage of the most recent modules."
+msgstr ""
+"OpenPAM, с другой стороны, ищет модули, которые имеют тот же самый номер "
+"версии, что и библиотека PAM (на данный момент 2), и использует модуль без "
+"версии, только если модуль с известной версией не был загружен. Поэтому для "
+"старых приложений могут предоставляться старые модули, при этом новые (или "
+"заново построенные) приложения будут использовать все возможности последних "
+"версий модулей."
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:289
+msgid ""
+"Although Solaris(TM) PAM modules commonly have a version number, they are "
+"not truly versioned, because the number is a part of the module name and "
+"must be included in the configuration."
+msgstr ""
+"Хотя модули PAM в Solaris(TM) имеют номер версии, по-настоящему номер версии "
+"в них не отслеживается, потому что номер является частью имени и должен "
+"включаться в конфигурацию."
+
+#. type: Title ===
+#: documentation/content/en/articles/pam/_index.adoc:291
+#, no-wrap
+msgid "Chains and Policies"
+msgstr "Цепочки и политики"
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:296
+msgid ""
+"When a server initiates a PAM transaction, the PAM library tries to load a "
+"policy for the service specified in the man:pam_start[3] call. The policy "
+"specifies how authentication requests should be processed, and is defined in "
+"a configuration file. This is the other central concept in PAM: the "
+"possibility for the admin to tune the system security policy (in the wider "
+"sense of the word) simply by editing a text file."
+msgstr ""
+"Когда сервер инициирует PAM-транзакцию, библиотека PAM пытается загрузить "
+"политику для службы, указанной при вызове функции man:pam_start[3]. Политика "
+"определяет, как должны обрабатываться запросы на аутентификацию, и задаётся "
+"в конфигурационном файле. Это составляет другую основополагающую концепцию "
+"PAM: возможность администратору настраивать политику безопасности системы (в "
+"самом широком её понимании) простым редактированием текстового файла."
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:299
+msgid ""
+"A policy consists of four chains, one for each of the four PAM facilities. "
+"Each chain is a sequence of configuration statements, each specifying a "
+"module to invoke, some (optional) parameters to pass to the module, and a "
+"control flag that describes how to interpret the return code from the module."
+msgstr ""
+"Политика состоит из четырёх цепочек, по одной на каждый из методов PAM. "
+"Каждое звено представляет собой последовательность конфигурационных "
+"утверждений, задающих вызываемый модуль, некоторые (необязательные) "
+"параметры для передачи в модуль, и управляющий флаг, описывающий, как "
+"интерпретировать возвращаемый из модуля код."
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:302
+msgid ""
+"Understanding the control flags is essential to understanding PAM "
+"configuration files. There are four different control flags:"
+msgstr ""
+"Понимание смысла управляющего флага необходимо для понимания "
+"конфигурационных файлов PAM. Существуют четыре различных управляющих флага:"
+
+#. type: Labeled list
+#: documentation/content/en/articles/pam/_index.adoc:303
+#, no-wrap
+msgid "`binding`"
+msgstr "`binding`"
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:306
+msgid ""
+"If the module succeeds and no earlier module in the chain has failed, the "
+"chain is immediately terminated and the request is granted. If the module "
+"fails, the rest of the chain is executed, but the request is ultimately "
+"denied."
+msgstr ""
+"Если модуль отработал успешно, и ни один из предыдущих модулей в цепочке не "
+"сработал отрицательно, то цепочка прерывается, а запрос подтверждается. Если "
+"же модуль отработает неудачно, то выполняется оставшаяся часть цепочки, "
+"однако запрос отвергается."
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:308
+msgid ""
+"This control flag was introduced by Sun in Solaris(TM) 9 (SunOS(TM) 5.9), "
+"and is also supported by OpenPAM."
+msgstr ""
+"Этот управляющий флаг был добавлен компанией Sun в Solaris(TM) 9 (SunOS(TM) "
+"5.9), и поддерживается в OpenPAM."
+
+#. type: Labeled list
+#: documentation/content/en/articles/pam/_index.adoc:308
+#, no-wrap
+msgid "`required`"
+msgstr "`required`"
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:311
+msgid ""
+"If the module succeeds, the rest of the chain is executed, and the request "
+"is granted unless some other module fails. If the module fails, the rest of "
+"the chain is also executed, but the request is ultimately denied."
+msgstr ""
+"Если модуль возвратил положительный ответ, выполняется оставшаяся часть "
+"цепочки, запрос удовлетворяется, если никакой другой модуль не отработает "
+"отрицательно. Если же модуль возвратит отрицательный ответ, остаток цепочки "
+"тоже отрабатывается, но запрос отвергается."
+
+#. type: Labeled list
+#: documentation/content/en/articles/pam/_index.adoc:312
+#, no-wrap
+msgid "`requisite`"
+msgstr "`requisite`"
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:315
+msgid ""
+"If the module succeeds, the rest of the chain is executed, and the request "
+"is granted unless some other module fails. If the module fails, the chain "
+"is immediately terminated and the request is denied."
+msgstr ""
+"Если модуль возвращает положительный ответ, выполняется оставшаяся часть "
+"цепочки, запрос удовлетворяется, если никакой другой модуль не отработает "
+"отрицательно. Если же модуль отрабатывает отрицательно, то отработка цепочки "
+"немедленно прекращается, а запрос отвергается."
+
+#. type: Labeled list
+#: documentation/content/en/articles/pam/_index.adoc:316
+#, no-wrap
+msgid "`sufficient`"
+msgstr "`sufficient`"
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:319
+msgid ""
+"If the module succeeds and no earlier module in the chain has failed, the "
+"chain is immediately terminated and the request is granted. If the module "
+"fails, the module is ignored and the rest of the chain is executed."
+msgstr ""
+"Если модуль возвратит положительный ответ, и ни один из предыдущих модулей в "
+"цепочке на отработал отрицательно, то отработка цепочки немедленно "
+"прекращается, а запрос удовлетворяется. Если модуль отработал отрицательно, "
+"то результат игнорируется и цепочка отрабатывается дальше."
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:321
+msgid ""
+"As the semantics of this flag may be somewhat confusing, especially when it "
+"is used for the last module in a chain, it is recommended that the `binding` "
+"control flag be used instead if the implementation supports it."
+msgstr ""
+"Так как семантика этого флага может оказаться запутанной, особенно при его "
+"использовании с последним модулем в цепочке, рекомендуется вместо него "
+"использовать управляющий флаг `binding`, если реализация его поддерживает."
+
+#. type: Labeled list
+#: documentation/content/en/articles/pam/_index.adoc:321
+#, no-wrap
+msgid "`optional`"
+msgstr "`optional`"
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:324
+msgid ""
+"The module is executed, but its result is ignored. If all modules in a "
+"chain are marked `optional`, all requests will always be granted."
+msgstr ""
+"Модуль отрабатывается, но результат выполнения игнорируется. Если все модули "
+"в цепочке помечены как `optional`, то удовлетворяться будут все запросы."
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:327
+msgid ""
+"When a server invokes one of the six PAM primitives, PAM retrieves the chain "
+"for the facility the primitive belongs to, and invokes each of the modules "
+"listed in the chain, in the order they are listed, until it reaches the end, "
+"or determines that no further processing is necessary (either because a "
+"`binding` or `sufficient` module succeeded, or because a `requisite` module "
+"failed.) The request is granted if and only if at least one module was "
+"invoked, and all non-optional modules succeeded."
+msgstr ""
+"Когда сервер вызывает один из шести PAM-примитивов, PAM запрашивает цепочку "
+"подсистемы, к которой принадлежит примитив, и запускает каждый модуль, "
+"перечисленный в цепочке в порядке их перечисления, пока список не будет "
+"исчерпан либо не будет определено, что дальнейшей обработки не нужно (по "
+"причине достижение модуля, вернувшего положительный ответ при условии "
+"`binding` или `sufficient`, либо отрицательный с условием `requisite`). "
+"Запрос подтверждается, если только был вызван по крайней мере один модуль, и "
+"все неопциональные модули вернули положительный ответ."
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:331
+msgid ""
+"Note that it is possible, though not very common, to have the same module "
+"listed several times in the same chain. For instance, a module that looks "
+"up user names and passwords in a directory server could be invoked multiple "
+"times with different parameters specifying different directory servers to "
+"contact. PAM treat different occurrences of the same module in the same "
+"chain as different, unrelated modules."
+msgstr ""
+"Заметьте, что возможно, хотя это не распространено, перечислять один и тот "
+"же модуль несколько раз в одной цепочке. К примеру, модуль, просматривающий "
+"имена и пароли пользователя в сервере каталога может быть вызван несколько "
+"раз с различными параметрами, задающими различные серверы каталогов для "
+"связи. PAM считает различные появления одного модуля в той же самой цепочке "
+"разными и не связанными модулями."
+
+#. type: Title ===
+#: documentation/content/en/articles/pam/_index.adoc:333
+#, no-wrap
+msgid "Transactions"
+msgstr "Транзакции"
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:337
+msgid ""
+"The lifecycle of a typical PAM transaction is described below. Note that if "
+"any of these steps fails, the server should report a suitable error message "
+"to the client and abort the transaction."
+msgstr ""
+"Жизненный цикл типичной PAM-транзакции описан ниже. Заметьте, что в случае, "
+"если любой из перечисленных шагов оканчивается неудачно, сервер должен "
+"выдать клиенту соответствующее сообщение об ошибке и прервать транзакцию."
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:339
+msgid ""
+"If necessary, the server obtains arbitrator credentials through a mechanism "
+"independent of PAM-most commonly by virtue of having been started by `root`, "
+"or of being setuid `root`."
+msgstr ""
+"Если это необходимо, сервер получает полномочия арбитратора через "
+"независимый от PAM механизм-чаще всего по факту запуска пользователем `root` "
+"или с установленным setuid-битом `root`."
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:340
+msgid ""
+"The server calls man:pam_start[3] to initialize the PAM library and specify "
+"its service name and the target account, and register a suitable "
+"conversation function."
+msgstr ""
+"Сервер вызывает функцию man:pam_start[3] для инициализации библиотеки PAM и "
+"задания имени сервиса и целевой учётной записи, а также регистрации "
+"подходящего способа общения."
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:341
+msgid ""
+"The server obtains various information relating to the transaction (such as "
+"the applicant's user name and the name of the host the client runs on) and "
+"submits it to PAM using man:pam_set_item[3]."
+msgstr ""
+"Сервер получает различную информацию, относящуюся к транзакции (такую, как "
+"имя пользователя аппликанта и имя хоста, на котором запущен клиент), и "
+"отправляет её в PAM при помощи функции man:pam_set_item[3]."
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:342
+msgid "The server calls man:pam_authenticate[3] to authenticate the applicant."
+msgstr ""
+"Сервер вызывает функцию man:pam_authenticate[3] для аутентификации "
+"аппликанта."
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:343
+msgid ""
+"The server calls man:pam_acct_mgmt[3] to verify that the requested account "
+"is available and valid. If the password is correct but has expired, "
+"man:pam_acct_mgmt[3] will return `PAM_NEW_AUTHTOK_REQD` instead of "
+"`PAM_SUCCESS`."
+msgstr ""
+"Сервер вызывает функцию man:pam_acct_mgmt[3] для проверки того, что "
+"запрошенная учётная запись доступна и корректна. Если пароль верен, но его "
+"срок истёк, man:pam_acct_mgmt[3] возвратит результат `PAM_NEW_AUTHTOK_REQD`, "
+"а не `PAM_SUCCESS`."
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:344
+msgid ""
+"If the previous step returned `PAM_NEW_AUTHTOK_REQD`, the server now calls "
+"man:pam_chauthtok[3] to force the client to change the authentication token "
+"for the requested account."
+msgstr ""
+"Если на предыдущем шаге был получен результат `PAM_NEW_AUTHTOK_REQD`, то "
+"сервер вызывает функцию man:pam_chauthtok[3] для того, чтобы вынудить "
+"клиента изменить ключ аутентификации для запрошенной учётной записи."
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:345
+msgid ""
+"Now that the applicant has been properly authenticated, the server calls "
+"man:pam_setcred[3] to establish the credentials of the requested account. It "
+"is able to do this because it acts on behalf of the arbitrator, and holds "
+"the arbitrator's credentials."
+msgstr ""
+"Теперь, когда аппликант полностью аутентифицирован, сервер вызывает функцию "
+"man:pam_setcred[3] для получения полномочий запрошенной учётной записи. "
+"Сделать это возможно, потому что он работает как арбитратор, и оставляет за "
+"собой полномочия арбитратора."
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:346
+msgid ""
+"Once the correct credentials have been established, the server calls "
+"man:pam_open_session[3] to set up the session."
+msgstr ""
+"После получения необходимых полномочий, сервер вызывает функцию "
+"man:pam_open_session[3] для установления сеанса."
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:347
+msgid ""
+"The server now performs whatever service the client requested-for instance, "
+"provide the applicant with a shell."
+msgstr ""
+"Теперь сервер выполняет тот сервис, который затребовал клиент-например, "
+"предоставляет аппликанту оболочку."
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:348
+msgid ""
+"Once the server is done serving the client, it calls "
+"man:pam_close_session[3] to tear down the session."
+msgstr ""
+"После того, как сервер закончил обслуживание клиента, он вызывает функцию "
+"man:pam_close_session[3] для закрытия сеанса."
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:349
+msgid ""
+"Finally, the server calls man:pam_end[3] to notify the PAM library that it "
+"is done and that it can release whatever resources it has allocated in the "
+"course of the transaction."
+msgstr ""
+"Наконец, сервер вызывает функцию man:pam_end[3] для оповещения библиотеки "
+"PAM о том, что работа с ней завершена и какие-либо выделенные в течение "
+"сеанса ресурсы можно освободить."
+
+#. type: Title ==
+#: documentation/content/en/articles/pam/_index.adoc:351
+#, no-wrap
+msgid "PAM Configuration"
+msgstr "Настройка PAM"
+
+#. type: Title ===
+#: documentation/content/en/articles/pam/_index.adoc:354
+#, no-wrap
+msgid "PAM Policy Files"
+msgstr "Файлы политик PAM"
+
+#. type: Title ====
+#: documentation/content/en/articles/pam/_index.adoc:357
+#, no-wrap
+msgid "The [.filename]#/etc/pam.conf#"
+msgstr "Файл [.filename]#/etc/pam.conf#"
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:362
+msgid ""
+"The traditional PAM policy file is [.filename]#/etc/pam.conf#. This file "
+"contains all the PAM policies for your system. Each line of the file "
+"describes one step in a chain, as shown below:"
+msgstr ""
+"Традиционно файлом политик PAM является [.filename]#/etc/pam.conf#. Он "
+"содержит все политики PAM для вашей системы. Каждая строка файла описывает "
+"один шаг в цепочке, как показано ниже:"
+
+#. type: delimited block . 4
+#: documentation/content/en/articles/pam/_index.adoc:366
+#, no-wrap
+msgid "login auth required pam_nologin.so no_warn\n"
+msgstr "login auth required pam_nologin.so no_warn\n"
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:370
+msgid ""
+"The fields are, in order: service name, facility name, control flag, module "
+"name, and module arguments. Any additional fields are interpreted as "
+"additional module arguments."
+msgstr ""
+"Поля следуют в таком порядке: имя службы, имя подсистемы, управляющий флаг, "
+"имя модуля и параметры модуля. Любые дополнительные поля интерпретируются "
+"как дополнительные параметры модуля."
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:374
+msgid ""
+"A separate chain is constructed for each service / facility pair, so while "
+"the order in which lines for the same service and facility appear is "
+"significant, the order in which the individual services and facilities are "
+"listed is not. The examples in the original PAM paper grouped configuration "
+"lines by facility, and the Solaris(TM) stock [.filename]#pam.conf# still "
+"does that, but FreeBSD's stock configuration groups configuration lines by "
+"service. Either way is fine; either way makes equal sense."
+msgstr ""
+"Для каждой пары сервис/подсистема составляется отдельная цепочка, и тогда "
+"получается, что, хотя порядок следования строк для одной и той же услуги и "
+"подсистемы является значимым, порядок перечисления отдельных сервисов не "
+"значим. В примерах из оригинальной работы по PAM строки конфигурации "
+"сгруппированы по подсистемам, в поставляемом с Solaris(TM) файле "
+"[.filename]#pam.conf# именно так и сделано, но в стандартном "
+"конфигурационном файле из поставки FreeBSD строки настроек сгруппированы по "
+"сервисам. Подходит любой из этих способов; они имеют один и тот же смысл."
+
+#. type: Title ====
+#: documentation/content/en/articles/pam/_index.adoc:376
+#, no-wrap
+msgid "The [.filename]#/etc/pam.d#"
+msgstr "Каталог [.filename]#/etc/pam.d#"
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:381
+msgid ""
+"OpenPAM and Linux-PAM support an alternate configuration mechanism, which is "
+"the preferred mechanism in FreeBSD. In this scheme, each policy is "
+"contained in a separate file bearing the name of the service it applies to. "
+"These files are stored in [.filename]#/etc/pam.d/#."
+msgstr ""
+"OpenPAM и Linux-PAM поддерживают альтернативный механизм настройки, который "
+"для FreeBSD является предпочтительным. В этой схеме каждая политика "
+"содержится в отдельном файле с именем, соответствующем сервису, к которому "
+"она применяется. Эти файлы размещаются в каталоге [.filename]#/etc/pam.d/#."
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:384
+msgid ""
+"These per-service policy files have only four fields instead of "
+"[.filename]#pam.conf#'s five: the service name field is omitted. Thus, "
+"instead of the sample [.filename]#pam.conf# line from the previous section, "
+"one would have the following line in [.filename]#/etc/pam.d/login#:"
+msgstr ""
+"Такие файлы политик, ориентированные на сервисы, имеют только четыре поля, "
+"вместо пяти полей в файле [.filename]#pam.conf#: поле имени сервиса опущено. "
+"Таким образом, вместо примера строки файла [.filename]#pam.conf# из "
+"предыдущего раздела получится следующая строка в файле [.filename]#/etc/"
+"pam.d/login#:"
+
+#. type: delimited block . 4
+#: documentation/content/en/articles/pam/_index.adoc:388
+#, no-wrap
+msgid "auth required pam_nologin.so no_warn\n"
+msgstr "auth required pam_nologin.so no_warn\n"
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:392
+msgid ""
+"As a consequence of this simplified syntax, it is possible to use the same "
+"policy for multiple services by linking each service name to a same policy "
+"file. For instance, to use the same policy for the `su` and `sudo` "
+"services, one could do as follows:"
+msgstr ""
+"Как следствие такого упрощённого синтаксиса, возможно использование одних и "
+"тех же политик для нескольких сервисов, связывая каждое имя сервиса с тем же "
+"самым файлом политик. К примеру, для использования той же самой политики для "
+"сервисов `su` и `sudo`, можно сделать следующее:"
+
+#. type: delimited block . 4
+#: documentation/content/en/articles/pam/_index.adoc:397
+#, no-wrap
+msgid ""
+"# cd /etc/pam.d\n"
+"# ln -s su sudo\n"
+msgstr ""
+"# cd /etc/pam.d\n"
+"# ln -s su sudo\n"
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:400
+msgid ""
+"This works because the service name is determined from the file name rather "
+"than specified in the policy file, so the same file can be used for multiple "
+"differently-named services."
+msgstr ""
+"Это работает, потому что имя сервиса определяется именем файла, а не его "
+"указанием в файле политики, так что один и тот же файл может использоваться "
+"для нескольких сервисов с разными названиями."
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:402
+msgid ""
+"Since each service's policy is stored in a separate file, the "
+"[.filename]#pam.d# mechanism also makes it very easy to install additional "
+"policies for third-party software packages."
+msgstr ""
+"Так как политика каждого сервиса хранится в отдельном файле, то механизм "
+"[.filename]#pam.d# делает установку дополнительных политик для программных "
+"пакетов сторонних разработчиков очень лёгкой задачей."
+
+#. type: Title ====
+#: documentation/content/en/articles/pam/_index.adoc:404
+#, no-wrap
+msgid "The Policy Search Order"
+msgstr "Порядок поиска политик"
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:408
+msgid ""
+"As we have seen above, PAM policies can be found in a number of places. "
+"What happens if policies for the same service exist in multiple places?"
+msgstr ""
+"Как вы видели выше, политики PAM могут находиться в нескольких местах. Что "
+"будет, если политики для одного и того же сервиса имеются в разных местах?"
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:410
+msgid ""
+"It is essential to understand that PAM's configuration system is centered on "
+"chains."
+msgstr ""
+"Необходимо осознать, что система конфигурации PAM ориентирована на цепочки."
+
+#. type: Title ===
+#: documentation/content/en/articles/pam/_index.adoc:412
+#, no-wrap
+msgid "Breakdown of a Configuration Line"
+msgstr "Структура строки настройки"
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:415
+msgid ""
+"As explained in crossref:pam[pam-config-file, PAM Policy Files], each line "
+"in [.filename]#/etc/pam.conf# consists of four or more fields: the service "
+"name, the facility name, the control flag, the module name, and zero or more "
+"module arguments."
+msgstr ""
+"Как это объяснено в <<pam-config-file>>, каждая строка файла [.filename]#/"
+"etc/pam.conf# состоит из четырёх или большего количества полей: имени "
+"сервиса, имени подсистемы, управляющего флага, имени модуля и дополнительных "
+"параметров модуля, которые могут отсутствовать."
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:418
+msgid ""
+"The service name is generally (though not always) the name of the "
+"application the statement applies to. If you are unsure, refer to the "
+"individual application's documentation to determine what service name it "
+"uses."
+msgstr ""
+"Имя сервиса обычно (хотя не всегда) является именем приложения, которое этот "
+"сервис обслуживает. Если вы не уверены, обратитесь к документации по "
+"конкретному приложению для определения используемого имени сервиса."
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:420
+msgid ""
+"Note that if you use [.filename]#/etc/pam.d/# instead of [.filename]#/etc/"
+"pam.conf#, the service name is specified by the name of the policy file, and "
+"omitted from the actual configuration lines, which then start with the "
+"facility name."
+msgstr ""
+"Заметьте, что если вы используете [.filename]#/etc/pam.d/# вместо "
+"[.filename]#/etc/pam.conf#, то имя сервиса задается именем файла политики, и "
+"опускается из строк настройки, которые в таком случае начинаются с названия "
+"подсистемы."
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:423
+msgid ""
+"The facility is one of the four facility keywords described in "
+"crossref:pam[pam-facilities-primitives, Facilities and Primitives]."
+msgstr ""
+"Имя подсистемы представляет собой одно из четырёх ключевых слов, описанных в "
+"<<pam-facilities-primitives>>."
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:428
+#, no-wrap
+msgid ""
+"Likewise, the control flag is one of the four keywords described in\n"
+"\tcrossref:pam[pam-chains-policies, Chains and Policies], describing how to interpret the return code from the module. \n"
+"Linux-PAM supports an alternate syntax that lets you specify the action to associate with each possible return code, but this should be avoided as it is non-standard and closely tied in with the way Linux-PAM dispatches service calls (which differs greatly from the way Solaris(TM) and OpenPAM do it.) \n"
+"Unsurprisingly, OpenPAM does not support this syntax.\n"
+msgstr ""
+"Точно также управляющий флаг является одним из четырёх ключевых слов, описанных в разделе\n"
+"\tcrossref:pam[pam-chains-policies, Цепочки и политики], в котором рассказано, как интерпретировать возвращаемый из модуля код.\n"
+" В Linux-PAM поддерживается альтернативный синтаксис, который позволяет указать действие, связанной с каждый возможным кодом возврата, но этого следует избегать, так как он не является стандартным и тесно связан со способом диспетчеризации вызовов сервисов в Linux-PAM (а он значительно отличается от способа взаимодействия в Solaris(TM) и OpenPAM).\n"
+" Не вызывает удивления тот факт, что в OpenPAM этот синтаксис не поддерживается.\n"
+
+#. type: Title ===
+#: documentation/content/en/articles/pam/_index.adoc:430
+#, no-wrap
+msgid "Policies"
+msgstr "Политики"
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:433
+msgid ""
+"To configure PAM correctly, it is essential to understand how policies are "
+"interpreted."
+msgstr ""
+"Для корректной настройки PAM необходимо понимать, как происходит "
+"интерпретация политик."
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:436
+msgid ""
+"When an application calls man:pam_start[3], the PAM library loads the policy "
+"for the specified service and constructs four module chains (one for each "
+"facility.) If one or more of these chains are empty, the corresponding "
+"chains from the policy for the `other` service are substituted."
+msgstr ""
+"В момент, когда приложение вызывает функцию man:pam_start[3], библиотека PAM "
+"загружает политику для указанного сервиса и выстраивает четыре цепочки "
+"модулей (по одной для каждой подсистемы). Если одна или большее количество "
+"этих цепочек являются пустыми, то будут выполняться подстановки "
+"соответствующих цепочек из политики для сервиса `other`."
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:440
+msgid ""
+"When the application later calls one of the six PAM primitives, the PAM "
+"library retrieves the chain for the corresponding facility and calls the "
+"appropriate service function in each module listed in the chain, in the "
+"order in which they were listed in the configuration. After each call to a "
+"service function, the module type and the error code returned by the service "
+"function are used to determine what happens next. With a few exceptions, "
+"which we discuss below, the following table applies:"
+msgstr ""
+"Когда затем приложение вызывает одну из шести примитивов PAM, библиотека PAM "
+"выделяет из цепочки нужную подсистему и вызывает функцию, соответствующую "
+"сервису, в каждом модуле, перечисленном в цепочке, в том порядке, в каком "
+"они перечислены в конфигурации. После каждого обращения к функции сервиса, "
+"тип модуля и возвращённый из этой функции код результата выполнения "
+"используются для того, что делать дальше. За некоторыми исключениями, "
+"которые будут описаны ниже, применяется такая таблица:"
+
+#. type: Block title
+#: documentation/content/en/articles/pam/_index.adoc:441
+#, no-wrap
+msgid "PAM Chain Execution Summary"
+msgstr "Сводная таблица отработки цепочек PAM"
+
+#. type: Table
+#: documentation/content/en/articles/pam/_index.adoc:446
+#, no-wrap
+msgid "PAM_SUCCESS"
+msgstr "PAM_SUCCESS"
+
+#. type: Table
+#: documentation/content/en/articles/pam/_index.adoc:447
+#, no-wrap
+msgid "PAM_IGNORE"
+msgstr "PAM_IGNORE"
+
+#. type: Table
+#: documentation/content/en/articles/pam/_index.adoc:449
+#, no-wrap
+msgid "other"
+msgstr "other"
+
+#. type: Table
+#: documentation/content/en/articles/pam/_index.adoc:450
+#, no-wrap
+msgid "binding"
+msgstr "binding"
+
+#. type: Table
+#: documentation/content/en/articles/pam/_index.adoc:451
+#: documentation/content/en/articles/pam/_index.adoc:466
+#, no-wrap
+msgid "if (!fail) break;"
+msgstr "if (!fail) break;"
+
+#. type: Table
+#: documentation/content/en/articles/pam/_index.adoc:452
+#: documentation/content/en/articles/pam/_index.adoc:456
+#: documentation/content/en/articles/pam/_index.adoc:457
+#: documentation/content/en/articles/pam/_index.adoc:461
+#: documentation/content/en/articles/pam/_index.adoc:462
+#: documentation/content/en/articles/pam/_index.adoc:467
+#: documentation/content/en/articles/pam/_index.adoc:469
+#: documentation/content/en/articles/pam/_index.adoc:471
+#: documentation/content/en/articles/pam/_index.adoc:472
+#: documentation/content/en/articles/pam/_index.adoc:473
+#, no-wrap
+msgid "-"
+msgstr "-"
+
+#. type: Table
+#: documentation/content/en/articles/pam/_index.adoc:454
+#: documentation/content/en/articles/pam/_index.adoc:459
+#, no-wrap
+msgid "fail = true;"
+msgstr "fail = true;"
+
+#. type: Table
+#: documentation/content/en/articles/pam/_index.adoc:455
+#, no-wrap
+msgid "required"
+msgstr "required"
+
+#. type: Table
+#: documentation/content/en/articles/pam/_index.adoc:460
+#, no-wrap
+msgid "requisite"
+msgstr "requisite"
+
+#. type: Table
+#: documentation/content/en/articles/pam/_index.adoc:464
+#, no-wrap
+msgid "fail = true; break;"
+msgstr "fail = true; break;"
+
+#. type: Table
+#: documentation/content/en/articles/pam/_index.adoc:465
+#, no-wrap
+msgid "sufficient"
+msgstr "sufficient"
+
+#. type: Table
+#: documentation/content/en/articles/pam/_index.adoc:470
+#, no-wrap
+msgid "optional"
+msgstr "optional"
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:477
+msgid ""
+"If `fail` is true at the end of a chain, or when a \"break\" is reached, the "
+"dispatcher returns the error code returned by the first module that failed. "
+"Otherwise, it returns `PAM_SUCCESS`."
+msgstr ""
+"Если переменная `fail` принимает истинное значение в конце отработки "
+"цепочки, или когда достигнут \"break\", диспетчер возвращает код ошибки, "
+"возвращённый первым модулем, отработавшим неудачно. В противном случае "
+"возвращается `PAM_SUCCESS`."
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:479
+msgid ""
+"The first exception of note is that the error code `PAM_NEW_AUTHTOK_REQD` is "
+"treated like a success, except that if no module failed, and at least one "
+"module returned `PAM_NEW_AUTHTOK_REQD`, the dispatcher will return "
+"`PAM_NEW_AUTHTOK_REQD`."
+msgstr ""
+"Первым исключением является то, что код ошибки `PAM_NEW_AUTHTOK_REQD` "
+"интерпретируется как успешный результат, кроме случая, когда модуль "
+"отработал успешно, и по крайней мере один модуль возвратил "
+"`PAM_NEW_AUTHTOK_REQD`, тогда диспетчер возвратит результат "
+"`PAM_NEW_AUTHTOK_REQD`."
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:481
+msgid ""
+"The second exception is that man:pam_setcred[3] treats `binding` and "
+"`sufficient` modules as if they were `required`."
+msgstr ""
+"Вторым исключением является то, что man:pam_setcred[3] считает, что модули "
+"`binding` и `sufficient` являются равнозначными `required`."
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:483
+msgid ""
+"The third and final exception is that man:pam_chauthtok[3] runs the entire "
+"chain twice (once for preliminary checks and once to actually set the "
+"password), and in the preliminary phase it treats `binding` and `sufficient` "
+"modules as if they were `required`."
+msgstr ""
+"Третьим и последним исключением является то, что функция "
+"man:pam_chauthtok[3] отрабатывает полную цепочку дважды (один раз для "
+"предварительных проверок, и ещё раз для реального задания пароля), и на "
+"подготовительной фазе она считает, что модули `binding` и `sufficient` "
+"являются равнозначными `required`."
+
+#. type: Title ==
+#: documentation/content/en/articles/pam/_index.adoc:485
+#, no-wrap
+msgid "FreeBSD PAM Modules"
+msgstr "Модули PAM во FreeBSD"
+
+#. type: Title ===
+#: documentation/content/en/articles/pam/_index.adoc:488
+#, no-wrap
+msgid "man:pam_deny[8]"
+msgstr "man:pam_deny[8]"
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:492
+msgid ""
+"The man:pam_deny[8] module is one of the simplest modules available; it "
+"responds to any request with `PAM_AUTH_ERR`. It is useful for quickly "
+"disabling a service (add it to the top of every chain), or for terminating "
+"chains of `sufficient` modules."
+msgstr ""
+"Модуль man:pam_deny[8] является одним из простейших доступных модулей; на "
+"любой запрос он возвращает результат `PAM_AUTH_ERR`. Он полезен для быстрого "
+"отключения сервиса (добавьте его на верх каждой цепочки) или завершения "
+"цепочек модулей `sufficient`."
+
+#. type: Title ===
+#: documentation/content/en/articles/pam/_index.adoc:494
+#, no-wrap
+msgid "man:pam_echo[8]"
+msgstr "man:pam_echo[8]"
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:498
+msgid ""
+"The man:pam_echo[8] module simply passes its arguments to the conversation "
+"function as a `PAM_TEXT_INFO` message. It is mostly useful for debugging, "
+"but can also serve to display messages such as \"Unauthorized access will be "
+"prosecuted\" before starting the authentication procedure."
+msgstr ""
+"Модуль man:pam_echo[8] просто передаёт свои параметры в функцию "
+"взаимодействия как сообщение `PAM_TEXT_INFO`. В основном полезна для "
+"отладки, но также может использоваться для вывода сообщений, таких как "
+"\"Unauthorized access will be prosecuted\" до запуска процедуры "
+"аутентификации."
+
+#. type: Title ===
+#: documentation/content/en/articles/pam/_index.adoc:500
+#, no-wrap
+msgid "man:pam_exec[8]"
+msgstr "man:pam_exec[8]"
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:504
+msgid ""
+"The man:pam_exec[8] module takes its first argument to be the name of a "
+"program to execute, and the remaining arguments are passed to that program "
+"as command-line arguments. One possible application is to use it to run a "
+"program at login time which mounts the user's home directory."
+msgstr ""
+"Модуль man:pam_exec[8] воспринимает первый переданный ему параметр как имя "
+"программы для выполнения, а остальные аргументы передаются этой программе в "
+"качестве параметров командной строки. Одним из возможных применений является "
+"его использование для запуска в момент регистрации в системе программы "
+"монтирования домашнего каталога пользователя."
+
+#. type: Title ===
+#: documentation/content/en/articles/pam/_index.adoc:506
+#, no-wrap
+msgid "man:pam_ftpusers[8]"
+msgstr "man:pam_ftpusers[8]"
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:509
+msgid "The man:pam_ftpusers[8] module"
+msgstr "Модуль man:pam_ftpusers[8]"
+
+#. type: Title ===
+#: documentation/content/en/articles/pam/_index.adoc:511
+#, no-wrap
+msgid "man:pam_group[8]"
+msgstr "man:pam_group[8]"
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:515
+msgid ""
+"The man:pam_group[8] module accepts or rejects applicants on the basis of "
+"their membership in a particular file group (normally `wheel` for "
+"man:su[1]). It is primarily intended for maintaining the traditional "
+"behavior of BSD man:su[1], but has many other uses, such as excluding "
+"certain groups of users from a particular service."
+msgstr ""
+"Модуль man:pam_group[8] принимает или отвергает аппликантов в зависимости от "
+"их членства в определённой файловой группе (обычно `wheel` для man:su[1]). В "
+"первую очередь предназначен для сохранения традиционного поведения утилиты "
+"BSD man:su[1], хотя имеет и много других применений, таких как отключение "
+"определённых групп пользователей от некоторого сервиса."
+
+#. type: Title ===
+#: documentation/content/en/articles/pam/_index.adoc:517
+#, no-wrap
+msgid "man:pam_guest[8]"
+msgstr "man:pam_guest[8]"
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:522
+msgid ""
+"The man:pam_guest[8] module allows guest logins using fixed login names. "
+"Various requirements can be placed on the password, but the default behavior "
+"is to allow any password as long as the login name is that of a guest "
+"account. The man:pam_guest[8] module can easily be used to implement "
+"anonymous FTP logins."
+msgstr ""
+"Модуль man:pam_guest[8] позволяет осуществлять гостевые входы с "
+"использованием фиксированных имён входа в систему. На пароль могут "
+"накладываться различные ограничения, однако действием по умолчанию является "
+"ввод любого пароля при использовании имени, соответствующего гостевому "
+"входу. Модуль man:pam_guest[8] можно легко использовать для реализации "
+"анонимных входов на FTP."
+
+#. type: Title ===
+#: documentation/content/en/articles/pam/_index.adoc:524
+#, no-wrap
+msgid "man:pam_krb5[8]"
+msgstr "man:pam_krb5[8]"
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:527
+msgid "The man:pam_krb5[8] module"
+msgstr "Модуль man:pam_krb5[8]"
+
+#. type: Title ===
+#: documentation/content/en/articles/pam/_index.adoc:529
+#, no-wrap
+msgid "man:pam_ksu[8]"
+msgstr "man:pam_ksu[8]"
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:532
+msgid "The man:pam_ksu[8] module"
+msgstr "Модуль man:pam_ksu[8]"
+
+#. type: Title ===
+#: documentation/content/en/articles/pam/_index.adoc:534
+#, no-wrap
+msgid "man:pam_lastlog[8]"
+msgstr "man:pam_lastlog[8]"
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:537
+msgid "The man:pam_lastlog[8] module"
+msgstr "Модуль man:pam_lastlog[8]"
+
+#. type: Title ===
+#: documentation/content/en/articles/pam/_index.adoc:539
+#, no-wrap
+msgid "man:pam_login_access[8]"
+msgstr "man:pam_login_access[8]"
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:542
+msgid ""
+"The man:pam_login_access[8] module provides an implementation of the account "
+"management primitive which enforces the login restrictions specified in the "
+"man:login.access[5] table."
+msgstr ""
+"Модуль man:pam_login_access[8] предоставляет реализацию примитива для "
+"управления учётными записями, который вводит в действие ограничения на вход, "
+"задаваемые в таблице man:login.access[5]."
+
+#. type: Title ===
+#: documentation/content/en/articles/pam/_index.adoc:544
+#, no-wrap
+msgid "man:pam_nologin[8]"
+msgstr "man:pam_nologin[8]"
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:548
+msgid ""
+"The man:pam_nologin[8] module refuses non-root logins when [.filename]#/var/"
+"run/nologin# exists. This file is normally created by man:shutdown[8] when "
+"less than five minutes remain until the scheduled shutdown time."
+msgstr ""
+"Модуль man:pam_nologin[8] отвергает любые входы не пользователем root, если "
+"существует файл [.filename]#/var/run/nologin#. Обычно этот файл создаётся "
+"утилитой man:shutdown[8], когда до запланированного завершения работы "
+"системы остаётся менее пяти минут."
+
+#. type: Title ===
+#: documentation/content/en/articles/pam/_index.adoc:550
+#, no-wrap
+msgid "man:pam_passwdqc[8]"
+msgstr "man:pam_passwdqc[8]"
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:553
+msgid "The man:pam_passwdqc[8] module"
+msgstr "Модуль man:pam_passwdqc[8]"
+
+#. type: Title ===
+#: documentation/content/en/articles/pam/_index.adoc:555
+#, no-wrap
+msgid "man:pam_permit[8]"
+msgstr "man:pam_permit[8]"
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:559
+msgid ""
+"The man:pam_permit[8] module is one of the simplest modules available; it "
+"responds to any request with `PAM_SUCCESS`. It is useful as a placeholder "
+"for services where one or more chains would otherwise be empty."
+msgstr ""
+"Модуль man:pam_permit[8] является одним из самых простым из имеющихся; на "
+"любой запрос он отвечает `PAM_SUCCESS`. Он полезен в качестве замены пустого "
+"места для сервисов, когда одна или большее количество цепочек в противном "
+"случае останутся пустыми."
+
+#. type: Title ===
+#: documentation/content/en/articles/pam/_index.adoc:561
+#, no-wrap
+msgid "man:pam_radius[8]"
+msgstr "man:pam_radius[8]"
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:564
+msgid "The man:pam_radius[8] module"
+msgstr "Модуль man:pam_radius[8]"
+
+#. type: Title ===
+#: documentation/content/en/articles/pam/_index.adoc:566
+#, no-wrap
+msgid "man:pam_rhosts[8]"
+msgstr "man:pam_rhosts[8]"
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:569
+msgid "The man:pam_rhosts[8] module"
+msgstr "Модуль man:pam_rhosts[8]"
+
+#. type: Title ===
+#: documentation/content/en/articles/pam/_index.adoc:571
+#, no-wrap
+msgid "man:pam_rootok[8]"
+msgstr "man:pam_rootok[8]"
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:575
+msgid ""
+"The man:pam_rootok[8] module reports success if and only if the real user id "
+"of the process calling it (which is assumed to be run by the applicant) is "
+"0. This is useful for non-networked services such as man:su[1] or "
+"man:passwd[1], to which the `root` should have automatic access."
+msgstr ""
+"Модуль man:pam_rootok[8] возвращает положительный результат в том и только в "
+"том случае, если реальный id пользователя процесса, его вызвавшего "
+"(предполагается, что его запускает аппликант) равен 0. Это полезно для "
+"несетевых сервисов, таких как man:su[1] или man:passwd[1], к которым "
+"пользователь `root` должен иметь автоматический доступ."
+
+#. type: Title ===
+#: documentation/content/en/articles/pam/_index.adoc:577
+#, no-wrap
+msgid "man:pam_securetty[8]"
+msgstr "man:pam_securetty[8]"
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:580
+msgid "The man:pam_securetty[8] module"
+msgstr "Модуль man:pam_securetty[8]"
+
+#. type: Title ===
+#: documentation/content/en/articles/pam/_index.adoc:582
+#, no-wrap
+msgid "man:pam_self[8]"
+msgstr "man:pam_self[8]"
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:586
+msgid ""
+"The man:pam_self[8] module reports success if and only if the names of the "
+"applicant matches that of the target account. It is most useful for non-"
+"networked services such as man:su[1], where the identity of the applicant "
+"can be easily verified."
+msgstr ""
+"Модуль man:pam_self[8] возвращает положительный результат тогда и только "
+"тогда, когда имена аппликанта соответствуют целевой учётной записи. Больше "
+"всего это пригодится в несетевых сервисах, таких как man:su[1], в которых "
+"идентификация аппликанта может быть с лёгкостью проверена."
+
+#. type: Title ===
+#: documentation/content/en/articles/pam/_index.adoc:588
+#, no-wrap
+msgid "man:pam_ssh[8]"
+msgstr "man:pam_ssh[8]"
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:594
+msgid ""
+"The man:pam_ssh[8] module provides both authentication and session "
+"services. The authentication service allows users who have passphrase-"
+"protected SSH secret keys in their [.filename]#~/.ssh# directory to "
+"authenticate themselves by typing their passphrase. The session service "
+"starts man:ssh-agent[1] and preloads it with the keys that were decrypted in "
+"the authentication phase. This feature is particularly useful for local "
+"logins, whether in X (using man:xdm[8] or another PAM-aware X login manager) "
+"or at the console."
+msgstr ""
+"Модуль man:pam_ssh[8] предоставляет как сервис аутентификации, так и сеанса. "
+"Сервис аутентификации позволяет пользователям, имеющим секретные ключи SSH, "
+"защищённые паролями, в своих каталогах [.filename]#~/.ssh#, "
+"аутентифицироваться посредством этих паролей. Сеансовый сервис запускает "
+"man:ssh-agent[1] и загружает ключи, которые были расшифрованы на фазе "
+"аутентификации. Такая возможность, в частности, полезна для локальных входов "
+"в систему, как в систему X (посредством man:xdm[1] или другого X-менеджера "
+"входов, умеющего работать с PAM), так и на консоль."
+
+#. type: Title ===
+#: documentation/content/en/articles/pam/_index.adoc:596
+#, no-wrap
+msgid "man:pam_tacplus[8]"
+msgstr "man:pam_tacplus[8]"
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:599
+msgid "The man:pam_tacplus[8] module"
+msgstr "Модуль man:pam_tacplus[8]"
+
+#. type: Title ===
+#: documentation/content/en/articles/pam/_index.adoc:601
+#, no-wrap
+msgid "man:pam_unix[8]"
+msgstr "man:pam_unix[8]"
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:606
+msgid ""
+"The man:pam_unix[8] module implements traditional UNIX(R) password "
+"authentication, using man:getpwnam[3] to obtain the target account's "
+"password and compare it with the one provided by the applicant. It also "
+"provides account management services (enforcing account and password "
+"expiration times) and password-changing services. This is probably the "
+"single most useful module, as the great majority of admins will want to "
+"maintain historical behavior for at least some services."
+msgstr ""
+"Модуль man:pam_unix[8] реализует традиционную аутентификацию UNIX(R) на "
+"основе паролей, использующую функцию man:getpwnam[3] для получения пароля "
+"целевой учётной записи и сравнивающую её с тем, что представил аппликант. Он "
+"также предоставляет средства управления учётными записями (отслеживая время "
+"действия учётной записи и пароля) и смены паролей. Наверное, это самый "
+"полезный модуль, так как подавляющее большинство администраторов хотят "
+"сохранить исторически сложившееся поведение по крайней мере некоторых "
+"сервисов."
+
+#. type: Title ==
+#: documentation/content/en/articles/pam/_index.adoc:608
+#, no-wrap
+msgid "PAM Application Programming"
+msgstr "Программирование приложений с PAM"
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:611
+#: documentation/content/en/articles/pam/_index.adoc:616
+msgid "This section has not yet been written."
+msgstr "Этот раздел ещё не написан."
+
+#. type: Title ==
+#: documentation/content/en/articles/pam/_index.adoc:613
+#, no-wrap
+msgid "PAM Module Programming"
+msgstr "Программирование модуля PAM"
+
+#. type: Title ==
+#: documentation/content/en/articles/pam/_index.adoc:621
+#, no-wrap
+msgid "Sample PAM Application"
+msgstr "Пример PAM-приложения"
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:628
+msgid ""
+"The following is a minimal implementation of man:su[1] using PAM. Note that "
+"it uses the OpenPAM-specific man:openpam_ttyconv[3] conversation function, "
+"which is prototyped in [.filename]#security/openpam.h#. If you wish build "
+"this application on a system with a different PAM library, you will have to "
+"provide your own conversation function. A robust conversation function is "
+"surprisingly difficult to implement; the one presented in crossref:pam[pam-"
+"sample-conv, Sample PAM Conversation Function] is a good starting point, but "
+"should not be used in real-world applications."
+msgstr ""
+"Далее следует минимальная реализация программы man:su[1] с использованием "
+"PAM. Заметьте, что в ней используется специфичная для OpenPAM функция "
+"взаимодействия man:openpam_ttyconv[3], объявление которой расположено в "
+"файле [.filename]#security/openpam.h#. Если вы собираетесь строить это "
+"приложение в системе с другой библиотекой PAM, вам необходимо будет создать "
+"собственную функцию взаимодействия. Надёжную функцию взаимодействия "
+"неожиданно трудно написать; та, что находится в <<pam-sample-conv>>, хороша "
+"в качестве отправной точки, но в реальных приложениях использоваться не "
+"может."
+
+#. type: delimited block . 4
+#: documentation/content/en/articles/pam/_index.adoc:632
+#, no-wrap
+msgid "include::{include-path}su.c[]\n"
+msgstr "include::{include-path}su.c[]\n"
+
+#. type: Title ==
+#: documentation/content/en/articles/pam/_index.adoc:638
+#, no-wrap
+msgid "Sample PAM Module"
+msgstr "Пример PAM-модуля"
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:642
+msgid ""
+"The following is a minimal implementation of man:pam_unix[8], offering only "
+"authentication services. It should build and run with most PAM "
+"implementations, but takes advantage of OpenPAM extensions if available: "
+"note the use of man:pam_get_authtok[3], which enormously simplifies "
+"prompting the user for a password."
+msgstr ""
+"Далее приведена минимальная реализация man:pam_unix[8], предоставляющая "
+"только сервисы аутентификации. Она должна строиться и работать с "
+"большинством из реализаций PAM, но использует возможности расширений "
+"OpenPAM, если они присутствуют: отметьте использование функции "
+"man:pam_get_authtok[3], которая кардинально упрощает организацию ввода "
+"пароля пользователем."
+
+#. type: delimited block . 4
+#: documentation/content/en/articles/pam/_index.adoc:646
+#, no-wrap
+msgid "include::{include-path}pam_unix.c[]\n"
+msgstr "include::{include-path}pam_unix.c[]\n"
+
+#. type: Title ==
+#: documentation/content/en/articles/pam/_index.adoc:652
+#, no-wrap
+msgid "Sample PAM Conversation Function"
+msgstr "Пример функции взаимодействия PAM"
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:657
+msgid ""
+"The conversation function presented below is a greatly simplified version of "
+"OpenPAM's man:openpam_ttyconv[3]. It is fully functional, and should give "
+"the reader a good idea of how a conversation function should behave, but it "
+"is far too simple for real-world use. Even if you are not using OpenPAM, "
+"feel free to download the source code and adapt man:openpam_ttyconv[3] to "
+"your uses; we believe it to be as robust as a tty-oriented conversation "
+"function can reasonably get."
+msgstr ""
+"Функция взаимодействия, приводимая ниже, является значительно упрощённой "
+"версией функции man:openpam_ttyconv[3] из OpenPAM. Она полнофункциональна, и "
+"должна послужить источником идей о том, как должна себя вести функция "
+"взаимодействия, однако она слишком проста для реальных приложений. Даже если "
+"вы не используете OpenPAM, можете сгрузить исходный код и использовать "
+"man:openpam_ttyconv[3] в своих целях; мы надеемся, что она достаточно "
+"надёжна в качестве функции для взаимодействия с терминальными устройствами."
+
+#. type: delimited block . 4
+#: documentation/content/en/articles/pam/_index.adoc:661
+#, no-wrap
+msgid "include::{include-path}converse.c[]\n"
+msgstr "include::{include-path}converse.c[]\n"
+
+#. type: Title ==
+#: documentation/content/en/articles/pam/_index.adoc:666
+#, no-wrap
+msgid "Further Reading"
+msgstr "Для дальнейшего ознакомления"
+
+#. type: Title ===
+#: documentation/content/en/articles/pam/_index.adoc:668
+#, no-wrap
+msgid "Papers"
+msgstr "Статьи"
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:671
+msgid ""
+"Making Login Services Independent of Authentication Technologies Vipin "
+"Samar. Charlie Lai. Sun Microsystems."
+msgstr ""
+"Making Login Services Independent of Authentication Technologies Vipin "
+"Samar. Charlie Lai. Sun Microsystems."
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:673
+msgid ""
+"_link:https://pubs.opengroup.org/onlinepubs/8329799/toc.htm[X/Open Single "
+"Sign-on Preliminary Specification]_. The Open Group. 1-85912-144-6. June "
+"1997."
+msgstr ""
+"_link:https://pubs.opengroup.org/onlinepubs/8329799/toc.htm[X/Open Single "
+"Sign-on Preliminary Specification]_. The Open Group. 1-85912-144-6. June "
+"1997."
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:675
+msgid ""
+"_link:https://mirrors.kernel.org/pub/linux/libs/pam/pre/doc/draft-morgan-"
+"pam-07.txt[Pluggable Authentication Modules]_. Andrew G. Morgan. 1999-10-06."
+msgstr ""
+"_link:https://mirrors.kernel.org/pub/linux/libs/pam/pre/doc/draft-morgan-"
+"pam-07.txt[Pluggable Authentication Modules]_. Andrew G. Morgan. 1999-10-06."
+
+#. type: Title ===
+#: documentation/content/en/articles/pam/_index.adoc:676
+#, no-wrap
+msgid "User Manuals"
+msgstr "Руководства пользователя"
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:679
+msgid ""
+"_link:https://docs.oracle.com/cd/E26505_01/html/E27224/pam-1.html[PAM "
+"Administration]_. Sun Microsystems."
+msgstr ""
+"_link:https://docs.oracle.com/cd/E26505_01/html/E27224/"
+"pam-1.html[Администрирование PAM]_. Sun Microsystems."
+
+#. type: Title ===
+#: documentation/content/en/articles/pam/_index.adoc:680
+#, no-wrap
+msgid "Related Web Pages"
+msgstr "Веб страницы"
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:683
+msgid ""
+"_link:https://www.openpam.org/[OpenPAM homepage]_ Dag-Erling Smørgrav. "
+"ThinkSec AS."
+msgstr ""
+"_link:https://www.openpam.org/[Домащняя страница OpenPAM]_ Dag-Erling "
+"Smørgrav. ThinkSec AS."
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:685
+msgid ""
+"_link:http://www.kernel.org/pub/linux/libs/pam/[Linux-PAM homepage]_ Andrew "
+"Morgan."
+msgstr ""
+"_link:http://www.kernel.org/pub/linux/libs/pam/[Домашняя страница Linux-"
+"PAM]_ Andrew Morgan."
+
+#. type: Plain text
+#: documentation/content/en/articles/pam/_index.adoc:686
+msgid "_Solaris PAM homepage_. Sun Microsystems."
+msgstr ""
+"_Домашняя страница Solaris PAM (Solaris PAM homepage)_. Sun Microsystems."