diff options
Diffstat (limited to 'documentation/content/ru/articles/pam/_index.po')
-rw-r--r-- | documentation/content/ru/articles/pam/_index.po | 2155 |
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." |