aboutsummaryrefslogtreecommitdiff
path: root/pt_BR.ISO8859-1/articles/pam/pt_BR.po
diff options
context:
space:
mode:
Diffstat (limited to 'pt_BR.ISO8859-1/articles/pam/pt_BR.po')
-rw-r--r--pt_BR.ISO8859-1/articles/pam/pt_BR.po3501
1 files changed, 3501 insertions, 0 deletions
diff --git a/pt_BR.ISO8859-1/articles/pam/pt_BR.po b/pt_BR.ISO8859-1/articles/pam/pt_BR.po
new file mode 100644
index 0000000000..c8c1cb3e32
--- /dev/null
+++ b/pt_BR.ISO8859-1/articles/pam/pt_BR.po
@@ -0,0 +1,3501 @@
+# $FreeBSD$
+# Danilo G. Baio <dbaio@FreeBSD.org>, 2018. #zanata
+# Edson Brandi <ebrandi@FreeBSD.org>, 2018. #zanata
+# Silvio Ap Silva <contato@kanazuchi.com>, 2018. #zanata
+# Nilton José Rizzo <rizzo@rizzo.eng.br>, 2018. #zanata
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"POT-Creation-Date: 2018-09-14 02:10+0000\n"
+"PO-Revision-Date: 2018-09-14 01:45+0000\n"
+"Last-Translator: Edson Brandi <ebrandi@FreeBSD.org>\n"
+"Language-Team: \n"
+"Language: pt_BR\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Zanata 4.6.2\n"
+"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+
+#. Put one translator per line, in the form NAME <EMAIL>, YEAR1, YEAR2
+msgctxt "_"
+msgid "translator-credits"
+msgstr ""
+"Nilton José Rizzo, rizzo@rizzo.eng.br, 2018\n"
+"Edson Brandi, ebrandi@FreeBSD.org, 2018\n"
+"Danilo G. Baio, dbaio@FreeBSD.org, 2018\n"
+"Silvio Ap Silva, contato@kanazuchi.com, 2018"
+
+#. (itstool) path: info/title
+#: article.translate.xml:37
+msgid "Pluggable Authentication Modules"
+msgstr "Módulos de Autenticação Plugáveis"
+
+#. (itstool) path: abstract/para
+#: article.translate.xml:41
+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 ""
+"Esse artigo descreve princípios subjacentes e mecanismos da biblioteca de "
+"Módulos de Autenticação Plugáveis (PAM), e explica como configurar, como "
+"integrar com outras aplicações e como escrever novos módulos."
+
+#. (itstool) path: info/copyright
+#: article.translate.xml:47
+msgid ""
+"<year>2001</year> <year>2002</year> <year>2003</year> <holder>Networks "
+"Associates Technology, Inc.</holder>"
+msgstr ""
+"<year>2001</year> <year>2002</year> <year>2003</year> <holder>Networks "
+"Associates Technology, Inc.</holder>"
+
+#. (itstool) path: authorgroup/author
+#: article.translate.xml:55
+msgid ""
+"<personname><firstname>Dag-Erling</firstname><surname>Smørgrav</surname></"
+"personname><contrib>Contributed by </contrib>"
+msgstr ""
+"<personname><firstname>Dag-Erling</firstname><surname>Smørgrav</surname></"
+"personname><contrib>Contributed by </contrib>"
+
+#. (itstool) path: legalnotice/para
+#: article.translate.xml:59
+msgid ""
+"This article was written 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 (<quote>CBOSS</"
+"quote>), as part of the DARPA CHATS research program."
+msgstr ""
+"This article was written 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 (<quote>CBOSS</"
+"quote>), as part of the DARPA CHATS research program."
+
+#. (itstool) path: legalnotice/para
+#: article.translate.xml:67
+msgid "FreeBSD is a registered trademark of the FreeBSD Foundation."
+msgstr "FreeBSD is a registered trademark of the FreeBSD Foundation."
+
+#. (itstool) path: legalnotice/para
+#: article.translate.xml:69
+msgid "Linux is a registered trademark of Linus Torvalds."
+msgstr "Linux is a registered trademark of Linus Torvalds."
+
+#. (itstool) path: legalnotice/para
+#: article.translate.xml:71
+msgid ""
+"Motif, OSF/1, and UNIX are registered trademarks and IT DialTone and The "
+"Open Group are trademarks of The Open Group in the United States and other "
+"countries."
+msgstr ""
+"Motif, OSF/1, and UNIX are registered trademarks and IT DialTone and The "
+"Open Group are trademarks of The Open Group in the United States and other "
+"countries."
+
+#. (itstool) path: legalnotice/para
+#: article.translate.xml:75
+msgid ""
+"Sun, Sun Microsystems, Java, Java Virtual Machine, JDK, JRE, JSP, JVM, "
+"Netra, OpenJDK, Solaris, StarOffice, SunOS and VirtualBox are trademarks or "
+"registered trademarks of Sun Microsystems, Inc. in the United States and "
+"other countries."
+msgstr ""
+"Sun, Sun Microsystems, Java, Java Virtual Machine, JDK, JRE, JSP, JVM, "
+"Netra, OpenJDK, Solaris, StarOffice, SunOS and VirtualBox are trademarks or "
+"registered trademarks of Sun Microsystems, Inc. in the United States and "
+"other countries."
+
+#. (itstool) path: legalnotice/para
+#: article.translate.xml:80
+msgid ""
+"Many of the designations used by manufacturers and sellers to distinguish "
+"their products are claimed as trademarks. Where those designations appear in "
+"this document, and the FreeBSD Project was aware of the trademark claim, the "
+"designations have been followed by the <quote>™</quote> or the <quote>®</"
+"quote> symbol."
+msgstr ""
+"Many of the designations used by manufacturers and sellers to distinguish "
+"their products are claimed as trademarks. Where those designations appear in "
+"this document, and the FreeBSD Project was aware of the trademark claim, the "
+"designations have been followed by the <quote>™</quote> or the <quote>®</"
+"quote> symbol."
+
+#. (itstool) path: info/releaseinfo
+#: article.translate.xml:88
+msgid ""
+"$FreeBSD: head/en_US.ISO8859-1/articles/pam/article.xml 48488 2016-03-28 "
+"17:29:21Z jgh $"
+msgstr "$FreeBSD$"
+
+#. (itstool) path: section/title
+#. (itstool) id: article.translate.xml#pam-intro.title
+#: article.translate.xml:92
+msgid "Introduction"
+msgstr "Introdução"
+
+#. (itstool) path: section/para
+#: article.translate.xml:94
+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 ""
+"A biblioteca dos Módulos de Autenticação Plugáveis (PAM) é uma API "
+"generalizada para serviços relacionados com autenticações as quais permitem "
+"ao administrador de sistema adicionar um novo método de autenticação "
+"simplesmente pela instalação de um novo módulo PAM, e modificar a política "
+"de autenticação pela edição do arquivo de configuração."
+
+#. (itstool) path: section/para
+#: article.translate.xml:100
+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 ""
+"O PAM foi definido e desenvolvido em 1995 por Vipin Samar e Charlie Lai da "
+"Sun Microsystems, e não teve muitas mudanças até hoje. Em 1997, o Open Group "
+"publicou a especificação preliminar do X/Open Single Sign-on (XSSO), a qual "
+"padroniza a API do PAM e adiciona extensões para autenticação única ou "
+"integrada. No momento da redação deste documento, esta especificação ainda "
+"não tinha sido adotada como padrão."
+
+#. (itstool) path: section/para
+#: article.translate.xml:108
+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 <trademark>Solaris</trademark>."
+msgstr ""
+"Apesar deste artigo focar primariamente no sistema FreeBSD 5.x, o qual usa o "
+"OpenPAM, ele poderá ser igualmente aplicado ao FreeBSD 4.x, o qual usa o "
+"Linux-PAM, e a outros systemas operacionais, tais como o Linux e o "
+"<trademark>Solaris</trademark>."
+
+#. (itstool) path: section/title
+#. (itstool) id: article.translate.xml#pam-terms.title
+#: article.translate.xml:115
+msgid "Terms and conventions"
+msgstr "Termos e convenções"
+
+#. (itstool) path: section/title
+#. (itstool) id: article.translate.xml#pam-definitions.title
+#: article.translate.xml:118
+msgid "Definitions"
+msgstr "Definições"
+
+#. (itstool) path: section/para
+#: article.translate.xml:120
+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 ""
+"A terminologia em torno do PAM é bastante confusa. Nem o artigo original de "
+"Neither Samar e Lai nem a especificação original do XSSO fizeram algum "
+"esforço para definir formalmente os termos de vários atores e entidades "
+"envolvidas no PAM, e os termos que eles usam (mas não definem) são algumas "
+"vezes duvidosos ou ambíguos. A primeira tentativa de estabelecer uma "
+"terminologia consistente e não ambígua foi feita no artigo escrito por "
+"Andrew G. Morgan (autor do Linux-PAM) em 1999. A escolha da terminologia de "
+"Morgan foi um grande avanço, mas na opinião deste autor, não é perfeita. O "
+"que segue é uma tentativa, fortemente inspirada por Morgan, de definir "
+"termos precisos e não ambíguos para todos os atores e entidades envolvidas "
+"no PAM."
+
+#. (itstool) path: glossentry/glossterm
+#: article.translate.xml:136
+msgid "account"
+msgstr "conta (account)"
+
+#. (itstool) path: glossdef/para
+#: article.translate.xml:138
+msgid "The set of credentials the applicant is requesting from the arbitrator."
+msgstr ""
+"Um conjunto de credenciais que o requerente está solicitando ao mediador."
+
+#. (itstool) path: glossentry/glossterm
+#: article.translate.xml:144
+msgid "applicant"
+msgstr "requerente (applicant)"
+
+#. (itstool) path: glossdef/para
+#: article.translate.xml:146
+msgid "The user or entity requesting authentication."
+msgstr "Usuário ou entidade que solicita autenticação"
+
+#. (itstool) path: glossentry/glossterm
+#: article.translate.xml:151
+msgid "arbitrator"
+msgstr "Mediador (arbitrator)"
+
+#. (itstool) path: glossdef/para
+#: article.translate.xml:153
+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 ""
+"Usuário ou entidade a qual tem privilégios necessários para verificar as "
+"credenciais do requerente e autorizar ou não a solicitação"
+
+#. (itstool) path: glossentry/glossterm
+#: article.translate.xml:160
+msgid "chain"
+msgstr "chain"
+
+#. (itstool) path: glossdef/para
+#: article.translate.xml:162
+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 ""
+"Uma sequência de módulos que irá ser chamada em resposta a uma solicitação "
+"do PAM. A chain inclui informações sobre a ordem a qual invocar os módulos, "
+"quais argumentos foram passados e como interpretar os resultados."
+
+#. (itstool) path: glossentry/glossterm
+#: article.translate.xml:171
+msgid "client"
+msgstr "client"
+
+#. (itstool) path: glossdef/para
+#: article.translate.xml:173
+msgid ""
+"The application responsible for initiating an authentication request on "
+"behalf of the applicant and for obtaining the necessary authentication "
+"information from him."
+msgstr ""
+"A aplicação responsável por inicializar uma solicitação de autenticação em "
+"nome do requerente para obter as informações necessárias da autenticação "
+"dele."
+
+#. (itstool) path: glossentry/glossterm
+#: article.translate.xml:181
+msgid "facility"
+msgstr "recursos "
+
+#. (itstool) path: glossdef/para
+#: article.translate.xml:183
+msgid ""
+"One of the four basic groups of functionality provided by PAM: "
+"authentication, account management, session management and authentication "
+"token update."
+msgstr ""
+"Um dos quatro grupos básicos de funcionalidades fornecidos pelo PAM: "
+"autenticação, gerenciamento de conta, gerenciamento de sessão e atualização "
+"de token de autenticação."
+
+#. (itstool) path: glossentry/glossterm
+#: article.translate.xml:191
+msgid "module"
+msgstr "módulo"
+
+#. (itstool) path: glossdef/para
+#: article.translate.xml:193
+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 ""
+"Uma coleção de uma ou mais funções relacionadas implementando um recurso de "
+"autenticação específico, reunidas em um único arquivo binário (normalmente "
+"carregável dinamicamente) e identificadas por um único nome."
+
+#. (itstool) path: glossentry/glossterm
+#: article.translate.xml:201
+msgid "policy"
+msgstr "política"
+
+#. (itstool) path: glossdef/para
+#: article.translate.xml:203
+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 ""
+"O conjunto completo de instruções de configuração que descrevem como lidar "
+"com solicitações do PAM para um serviço específico. Uma política normalmente "
+"consiste em quatro chains, uma para cada recurso, embora alguns serviços não "
+"utilizem os quatro recursos."
+
+#. (itstool) path: glossentry/glossterm
+#: article.translate.xml:212
+msgid "server"
+msgstr "servidor"
+
+#. (itstool) path: glossdef/para
+#: article.translate.xml:214
+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 ""
+"O aplicativo agindo em nome do mediador para conversar com o cliente, "
+"recuperar informações de autenticação, verificar as credenciais do "
+"requerente e conceder ou negar solicitações."
+
+#. (itstool) path: glossentry/glossterm
+#: article.translate.xml:222
+msgid "service"
+msgstr "serviço"
+
+#. (itstool) path: glossdef/para
+#: article.translate.xml:224
+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 ""
+"Classe de servidores que provêm recursos similares ou relacionados e "
+"requerem autenticação similar. As políticas do PAM são definidas por "
+"serviço, portanto, todos os servidores que reivindicam o mesmo nome de "
+"serviço estarão sujeitos à mesma política."
+
+#. (itstool) path: glossentry/glossterm
+#: article.translate.xml:233
+msgid "session"
+msgstr "sessão"
+
+#. (itstool) path: glossdef/para
+#: article.translate.xml:235
+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 ""
+"O contexto com o qual serviços são apresentados para o requerente pelo "
+"servidor. Um dos quatro recursos do PAM, gerenciamento de sessão, é "
+"concedido exclusivamente configurando e derrubando esse contexto."
+
+#. (itstool) path: glossentry/glossterm
+#: article.translate.xml:243
+msgid "token"
+msgstr "token"
+
+#. (itstool) path: glossdef/para
+#: article.translate.xml:245
+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 ""
+"Um pedaço de informação associada à conta, como uma senha sendo uma palavra "
+"ou uma frase, que o solicitante deve fornecer para provar sua identidade."
+
+#. (itstool) path: glossentry/glossterm
+#: article.translate.xml:252
+msgid "transaction"
+msgstr "transação"
+
+#. (itstool) path: glossdef/para
+#: article.translate.xml:254
+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 ""
+"Uma sequência de solicitações do mesmo requerente para a mesma instância do "
+"mesmo servidor, começando com a configuração de autenticação e sessão e "
+"terminando com a desmontagem da sessão."
+
+#. (itstool) path: section/title
+#. (itstool) id: article.translate.xml#pam-usage-examples.title
+#: article.translate.xml:264
+msgid "Usage examples"
+msgstr "Exemplos de uso"
+
+#. (itstool) path: section/para
+#: article.translate.xml:266
+msgid ""
+"This section aims to illustrate the meanings of some of the terms defined "
+"above by way of a handful of simple examples."
+msgstr ""
+"Esta seção tem como objetivo ilustrar os significados de alguns dos termos "
+"definidos acima por meio de alguns exemplos simples."
+
+#. (itstool) path: section/title
+#: article.translate.xml:271
+msgid "Client and server are one"
+msgstr "O cliente e o servidor são um"
+
+#. (itstool) path: section/para
+#: article.translate.xml:273
+msgid ""
+"This simple example shows <literal>alice</literal> "
+"<citerefentry><refentrytitle>su</refentrytitle><manvolnum>1</manvolnum></"
+"citerefentry>'ing to <literal>root</literal>."
+msgstr ""
+"Este exemplo simples mostra <literal>alice</literal> usando <citerefentry> "
+"<refentrytitle>su</refentrytitle><manvolnum>1</manvolnum></citerefentry> "
+"para se tornar <literal>root</literal>."
+
+#. (itstool) path: section/screen
+#: article.translate.xml:276
+#, no-wrap
+msgid ""
+"<prompt>%</prompt> <userinput>whoami</userinput>\n"
+"alice\n"
+"<prompt>%</prompt> <userinput>ls -l `which su`</userinput>\n"
+"-r-sr-xr-x 1 root wheel 10744 Dec 6 19:06 /usr/bin/su\n"
+"<prompt>%</prompt> <userinput>su -</userinput>\n"
+"Password: <userinput>xi3kiune</userinput>\n"
+"<prompt>#</prompt> whoami\n"
+"root\n"
+msgstr ""
+"<prompt>%</prompt> <userinput>whoami</userinput>\n"
+"alice\n"
+"<prompt>%</prompt> <userinput>ls -l `which su`</userinput>\n"
+"-r-sr-xr-x 1 root wheel 10744 Dec 6 19:06 /usr/bin/su\n"
+"<prompt>%</prompt> <userinput>su -</userinput>\n"
+"Password: <userinput>xi3kiune</userinput>\n"
+"<prompt>#</prompt> whoami\n"
+"root\n"
+
+#. (itstool) path: listitem/para
+#: article.translate.xml:288
+msgid "The applicant is <literal>alice</literal>."
+msgstr "O requerente é <literal>alice</literal>."
+
+#. (itstool) path: listitem/para
+#: article.translate.xml:291
+msgid "The account is <literal>root</literal>."
+msgstr "A conta é <literal>root</literal>."
+
+#. (itstool) path: listitem/para
+#: article.translate.xml:294
+msgid ""
+"The <citerefentry><refentrytitle>su</refentrytitle><manvolnum>1</manvolnum></"
+"citerefentry> process is both client and server."
+msgstr ""
+"O processo <citerefentry><refentrytitle>su</refentrytitle><manvolnum>1</"
+"manvolnum></citerefentry> é ao mesmo tempo, o cliente e o servidor."
+
+#. (itstool) path: listitem/para
+#: article.translate.xml:298
+msgid "The authentication token is <literal>xi3kiune</literal>."
+msgstr "O token de autenticação é <literal>xi3kiune</literal>."
+
+#. (itstool) path: listitem/para
+#: article.translate.xml:302
+msgid ""
+"The arbitrator is <literal>root</literal>, which is why "
+"<citerefentry><refentrytitle>su</refentrytitle><manvolnum>1</manvolnum></"
+"citerefentry> is setuid <literal>root</literal>."
+msgstr ""
+"O mediador é <literal>root</literal>, e é por isso que "
+"<citerefentry><refentrytitle>su</refentrytitle><manvolnum>1</manvolnum></"
+"citerefentry> possui setuid para <literal>root</literal>."
+
+#. (itstool) path: section/title
+#: article.translate.xml:309
+msgid "Client and server are separate"
+msgstr "O cliente e o servidor são separados"
+
+#. (itstool) path: section/para
+#: article.translate.xml:311
+msgid ""
+"The example below shows <literal>eve</literal> try to initiate an "
+"<citerefentry><refentrytitle>ssh</refentrytitle><manvolnum>1</manvolnum></"
+"citerefentry> connection to <literal>login.example.com</literal>, ask to log "
+"in as <literal>bob</literal>, and succeed. Bob should have chosen a better "
+"password!"
+msgstr ""
+"O exemplo abaixo mostra <literal>eve</literal> tentar iniciar uma conexão "
+"<citerefentry><refentrytitle>ssh</refentrytitle><manvolnum>1</manvolnum></"
+"citerefentry> com <literal>login.example.com</literal>, solicitar para "
+"efetuar login como <literal>bob</literal> e ter exito. Bob deveria ter "
+"escolhido uma senha melhor!"
+
+#. (itstool) path: section/screen
+#: article.translate.xml:317
+#, no-wrap
+msgid ""
+"<prompt>%</prompt> <userinput>whoami</userinput>\n"
+"eve\n"
+"<prompt>%</prompt> <userinput>ssh bob@login.example.com</userinput>\n"
+"bob@login.example.com's password: <userinput>god</userinput>\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"
+"\n"
+"Welcome to FreeBSD!\n"
+"<prompt>%</prompt>"
+msgstr ""
+"<prompt>%</prompt> <userinput>whoami</userinput>\n"
+"eve\n"
+"<prompt>%</prompt> <userinput>ssh bob@login.example.com</userinput>\n"
+"bob@login.example.com's password: <userinput>god</userinput>\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"
+"\n"
+"Welcome to FreeBSD!\n"
+"<prompt>%</prompt>"
+
+#. (itstool) path: listitem/para
+#: article.translate.xml:331
+msgid "The applicant is <literal>eve</literal>."
+msgstr "O requerente é <literal>eve</literal>."
+
+#. (itstool) path: listitem/para
+#: article.translate.xml:334
+msgid ""
+"The client is Eve's <citerefentry><refentrytitle>ssh</"
+"refentrytitle><manvolnum>1</manvolnum></citerefentry> process."
+msgstr ""
+"O cliente é o processo <citerefentry><refentrytitle>ssh</"
+"refentrytitle><manvolnum>1</manvolnum></citerefentry> de Eve."
+
+#. (itstool) path: listitem/para
+#: article.translate.xml:337
+msgid ""
+"The server is the <citerefentry><refentrytitle>sshd</"
+"refentrytitle><manvolnum>8</manvolnum></citerefentry> process on "
+"<literal>login.example.com</literal>"
+msgstr ""
+"O servidor é o processo <citerefentry><refentrytitle>sshd</"
+"refentrytitle><manvolnum>8</manvolnum></citerefentry> em <literal>login."
+"example.com</literal>"
+
+#. (itstool) path: listitem/para
+#: article.translate.xml:341
+msgid "The account is <literal>bob</literal>."
+msgstr "A conta é <literal>bob</literal>."
+
+#. (itstool) path: listitem/para
+#: article.translate.xml:344
+msgid "The authentication token is <literal>god</literal>."
+msgstr "O token de autenticação é <literal>god</literal>."
+
+#. (itstool) path: listitem/para
+#: article.translate.xml:348
+msgid ""
+"Although this is not shown in this example, the arbitrator is <literal>root</"
+"literal>."
+msgstr ""
+"Embora isso não seja mostrado neste exemplo, o mediador é <literal>root</"
+"literal>."
+
+#. (itstool) path: section/title
+#: article.translate.xml:355
+msgid "Sample policy"
+msgstr "Exemplo de política"
+
+#. (itstool) path: section/para
+#: article.translate.xml:357
+msgid "The following is FreeBSD's default policy for <literal>sshd</literal>:"
+msgstr "A seguir, a política padrão do FreeBSD para <literal>sshd</literal>:"
+
+#. (itstool) path: section/programlisting
+#: article.translate.xml:360
+#, 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"
+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"
+
+#. (itstool) path: listitem/para
+#: article.translate.xml:369
+msgid ""
+"This policy applies to the <literal>sshd</literal> service (which is not "
+"necessarily restricted to the <citerefentry><refentrytitle>sshd</"
+"refentrytitle><manvolnum>8</manvolnum></citerefentry> server.)"
+msgstr ""
+"Esta política se aplica ao serviço <literal>sshd</literal> (que não é "
+"necessariamente restrito ao servidor <citerefentry><refentrytitle>sshd</"
+"refentrytitle><manvolnum>8</manvolnum></citerefentry>)."
+
+#. (itstool) path: listitem/para
+#: article.translate.xml:374
+msgid ""
+"<literal>auth</literal>, <literal>account</literal>, <literal>session</"
+"literal> and <literal>password</literal> are facilities."
+msgstr ""
+"<literal>auth</literal>, <literal>account</literal>, <literal>session</"
+"literal> e <literal>password</literal> são recursos."
+
+#. (itstool) path: listitem/para
+#: article.translate.xml:379
+msgid ""
+"<filename>pam_nologin.so</filename>, <filename>pam_unix.so</filename>, "
+"<filename>pam_login_access.so</filename>, <filename>pam_lastlog.so</"
+"filename> and <filename>pam_permit.so</filename> are modules. It is clear "
+"from this example that <filename>pam_unix.so</filename> provides at least "
+"two facilities (authentication and account management.)"
+msgstr ""
+"<filename>pam_nologin.so</filename>, <filename>pam_unix.so</filename>, "
+"<filename>pam_login_access.so</filename>, <filename>pam_lastlog.so</"
+"filename> e <filename>pam_permit.so</filename> são módulos. Fica claro neste "
+"exemplo que o <filename>pam_unix.so</filename> fornece pelo menos dois "
+"recursos (autenticação e gerenciamento de conta)."
+
+#. (itstool) path: section/title
+#. (itstool) id: article.translate.xml#pam-essentials.title
+#: article.translate.xml:403
+msgid "PAM Essentials"
+msgstr "PAM Essencial"
+
+#. (itstool) path: section/title
+#. (itstool) id: article.translate.xml#pam-facilities-primitives.title
+#: article.translate.xml:406
+msgid "Facilities and primitives"
+msgstr "Recursos e primitivos"
+
+#. (itstool) path: section/para
+#: article.translate.xml:409
+msgid ""
+"The PAM API offers six different authentication primitives grouped in four "
+"facilities, which are described below."
+msgstr ""
+"A API do PAM oferece seis primitivas de autenticação diferentes agrupadas em "
+"quatro recursos, descritos abaixo."
+
+#. (itstool) path: varlistentry/term
+#: article.translate.xml:414
+msgid "<literal>auth</literal>"
+msgstr "<literal>auth</literal>"
+
+#. (itstool) path: listitem/para
+#: article.translate.xml:416
+msgid ""
+"<emphasis>Authentication.</emphasis> This facility concerns itself with "
+"authenticating the applicant and establishing the account credentials. It "
+"provides two primitives:"
+msgstr ""
+"<emphasis>Autenticação.</emphasis> Este recurso se preocupa em autenticar o "
+"requerente e estabelecer as credenciais da conta. Ele fornece duas "
+"primitivas:"
+
+#. (itstool) path: listitem/para
+#: article.translate.xml:423
+msgid ""
+"<citerefentry><refentrytitle>pam_authenticate</refentrytitle><manvolnum>3</"
+"manvolnum></citerefentry> 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 ""
+"<citerefentry><refentrytitle>pam_authenticate</refentrytitle><manvolnum>3</"
+"manvolnum></citerefentry> autentica o requerente, geralmente solicitando um "
+"token de autenticação e comparando-o com um valor armazenado em um banco de "
+"dados ou obtido de um servidor de autenticação."
+
+#. (itstool) path: listitem/para
+#: article.translate.xml:431
+msgid ""
+"<citerefentry><refentrytitle>pam_setcred</refentrytitle><manvolnum>3</"
+"manvolnum></citerefentry> establishes account credentials such as user ID, "
+"group membership and resource limits."
+msgstr ""
+"<citerefentry><refentrytitle>pam_setcred</refentrytitle><manvolnum>3</"
+"manvolnum></citerefentry> estabelece credenciais de conta, como ID de "
+"usuário, associação de grupo e limites de recursos."
+
+#. (itstool) path: varlistentry/term
+#: article.translate.xml:440
+msgid "<literal>account</literal>"
+msgstr "<literal>account</literal>"
+
+#. (itstool) path: listitem/para
+#: article.translate.xml:442
+msgid ""
+"<emphasis>Account management.</emphasis> 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 ""
+"<emphasis>Gerenciamento de contas.</emphasis> Esse recurso lida com "
+"problemas de disponibilidade de conta não relacionados à autenticação, como "
+"restrições de acesso com base na hora do dia ou na carga de trabalho do "
+"servidor. Ele fornece uma única primitiva:"
+
+#. (itstool) path: listitem/para
+#: article.translate.xml:450
+msgid ""
+"<citerefentry><refentrytitle>pam_acct_mgmt</refentrytitle><manvolnum>3</"
+"manvolnum></citerefentry> verifies that the requested account is available."
+msgstr ""
+"<citerefentry><refentrytitle>pam_acct_mgmt</refentrytitle><manvolnum>3</"
+"manvolnum></citerefentry> verifica se a conta solicitada está disponível."
+
+#. (itstool) path: varlistentry/term
+#: article.translate.xml:458
+msgid "<literal>session</literal>"
+msgstr "<literal>session</literal>"
+
+#. (itstool) path: listitem/para
+#: article.translate.xml:460
+msgid ""
+"<emphasis>Session management.</emphasis> This facility handles tasks "
+"associated with session set-up and tear-down, such as login accounting. It "
+"provides two primitives:"
+msgstr ""
+"<emphasis>Gerenciamento de sessão.</emphasis> Esse recurso lida com tarefas "
+"associadas à configuração e desmontagem da sessão, como a contabilização de "
+"login. Ele fornece duas primitivas:"
+
+#. (itstool) path: listitem/para
+#: article.translate.xml:467
+msgid ""
+"<citerefentry><refentrytitle>pam_open_session</refentrytitle><manvolnum>3</"
+"manvolnum></citerefentry> performs tasks associated with session set-up: add "
+"an entry in the <filename>utmp</filename> and <filename>wtmp</filename> "
+"databases, start an SSH agent, etc."
+msgstr ""
+"<citerefentry><refentrytitle>pam_open_session</refentrytitle><manvolnum>3</"
+"manvolnum></citerefentry> executa tarefas associadas à configuração da "
+"sessão: adiciona uma entrada nos bancos de dados <filename>utmp</filename> e "
+"<filename>wtmp</filename>, inicia um agente SSH, etc."
+
+#. (itstool) path: listitem/para
+#: article.translate.xml:475
+msgid ""
+"<citerefentry><refentrytitle>pam_close_session</refentrytitle><manvolnum>3</"
+"manvolnum></citerefentry> performs tasks associated with session tear-down: "
+"add an entry in the <filename>utmp</filename> and <filename>wtmp</filename> "
+"databases, stop the SSH agent, etc."
+msgstr ""
+"<citerefentry><refentrytitle>pam_close_session</refentrytitle><manvolnum>3</"
+"manvolnum></citerefentry> executa tarefas associadas à desmontagem da "
+"sessão: adiciona uma entrada nos bancos de dados <filename>utmp</filename> e "
+"<filename>wtmp</filename>, pare o agente SSH, etc."
+
+#. (itstool) path: varlistentry/term
+#: article.translate.xml:486
+msgid "<literal>password</literal>"
+msgstr "<literal>password</literal>"
+
+#. (itstool) path: listitem/para
+#: article.translate.xml:488
+msgid ""
+"<emphasis>Password management.</emphasis> 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 ""
+"<emphasis>Gerenciamento de senhas.</emphasis> Esse recurso é usado para "
+"alterar o token de autenticação associado a uma conta, porque expirou ou "
+"porque o usuário deseja alterá-lo. Ele fornece uma única primitiva:"
+
+#. (itstool) path: listitem/para
+#: article.translate.xml:496
+msgid ""
+"<citerefentry><refentrytitle>pam_chauthtok</refentrytitle><manvolnum>3</"
+"manvolnum></citerefentry> changes the authentication token, optionally "
+"verifying that it is sufficiently hard to guess, has not been used "
+"previously, etc."
+msgstr ""
+"<citerefentry><refentrytitle>pam_chauthtok</refentrytitle><manvolnum>3</"
+"manvolnum></citerefentry> altera o token de autenticação, opcionalmente, "
+"verificando se é suficientemente difícil de adivinhar, se não foi usado "
+"anteriormente etc."
+
+#. (itstool) path: section/title
+#. (itstool) id: article.translate.xml#pam-modules.title
+#: article.translate.xml:509
+msgid "Modules"
+msgstr "Módulos"
+
+#. (itstool) path: section/para
+#: article.translate.xml:511
+msgid ""
+"Modules are a very central concept in PAM; after all, they are the <quote>M</"
+"quote> in <quote>PAM</quote>. 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 <trademark class=\"registered\">UNIX</"
+"trademark> password database, NIS, LDAP and Radius."
+msgstr ""
+"Módulos são um conceito muito central no PAM; afinal, eles são os <quote>M</"
+"quote> no <quote>PAM</quote>. Um módulo PAM é um código de programa "
+"autocontido que implementa as primitivas em uma ou mais instalações para um "
+"mecanismo específico; possíveis mecanismos para o recurso de autenticação, "
+"por exemplo, incluem os bancos de dados de senhas <trademark class="
+"\"registered\">UNIX</trademark>, NIS, LDAP e Radius."
+
+#. (itstool) path: section/title
+#. (itstool) id: article.translate.xml#pam-module-naming.title
+#: article.translate.xml:520
+msgid "Module Naming"
+msgstr "Nomeação de Módulos"
+
+#. (itstool) path: section/para
+#: article.translate.xml:522
+msgid ""
+"FreeBSD implements each mechanism in a single module, named "
+"<literal>pam_<replaceable>mechanism</replaceable>.so</literal> (for "
+"instance, <literal>pam_unix.so</literal> for the <trademark class="
+"\"registered\">UNIX</trademark> 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, "
+"<trademark>Solaris</trademark> has a <literal>pam_dial_auth.so.1</literal> "
+"module which is commonly used to authenticate dialup users."
+msgstr ""
+"O FreeBSD implementa cada mecanismo em um único módulo, chamado "
+"<literal>pam_<replaceable>mechanism</replaceable>.so</literal> (por exemplo, "
+"<literal>pam_unix.so</literal> para o mecanismo <trademark class=\"registered"
+"\">UNIX</trademark>. Outras implementações às vezes possuem módulos "
+"separados para instalações separadas e incluem o nome do recurso, bem como o "
+"nome do mecanismo no nome do módulo. Para citar um exemplo, "
+"<trademark>Solaris</trademark> tem um módulo <literal>pam_dial_auth.so.1</"
+"literal> que é comumente usado para autenticar usuários de conexões discadas."
+
+#. (itstool) path: section/title
+#. (itstool) id: article.translate.xml#pam-module-versioning.title
+#: article.translate.xml:535
+msgid "Module Versioning"
+msgstr "Versionando Módulos"
+
+#. (itstool) path: section/para
+#: article.translate.xml:537
+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 ""
+"A implementação original do PAM no FreeBSD, baseada no Linux-PAM, não "
+"utilizou números de versão para os módulos PAM. Isso normalmente causaria "
+"problemas com aplicativos legados, que poderiam estar vinculados a versões "
+"mais antigas das bibliotecas do sistema, pois não havia como carregar uma "
+"versão correspondente dos módulos necessários."
+
+#. (itstool) path: section/para
+#: article.translate.xml:544
+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 ""
+"O OpenPAM, por outro lado, procura por módulos que possuam o mesmo número de "
+"versão que a biblioteca PAM (atualmente 2), e só retorna a um módulo não "
+"versionado se nenhum módulo versionado puder ser carregado. Assim, os "
+"módulos legados podem ser fornecidos para aplicativos legados, permitindo "
+"que novos aplicativos (ou recém-construídos) aproveitem os módulos mais "
+"recentes."
+
+#. (itstool) path: section/para
+#: article.translate.xml:552
+msgid ""
+"Although <trademark>Solaris</trademark> 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 ""
+"Embora os módulos PAM do <trademark>Solaris</trademark> normalmente tenham "
+"um número de versão, eles não são realmente versionados, porque o número é "
+"uma parte do nome do módulo e deve ser incluído na configuração."
+
+#. (itstool) path: section/title
+#. (itstool) id: article.translate.xml#pam-chains-policies.title
+#: article.translate.xml:560
+msgid "Chains and policies"
+msgstr "Chains e Políticas"
+
+#. (itstool) path: section/para
+#: article.translate.xml:563
+msgid ""
+"When a server initiates a PAM transaction, the PAM library tries to load a "
+"policy for the service specified in the "
+"<citerefentry><refentrytitle>pam_start</refentrytitle><manvolnum>3</"
+"manvolnum></citerefentry> 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 ""
+"Quando um servidor inicia uma transação PAM, a biblioteca PAM tenta carregar "
+"uma política para o serviço especificado na chamada "
+"<citerefentry><refentrytitle>pam_start</refentrytitle><manvolnum>3</"
+"manvolnum></citerefentry>. A política especifica como as solicitações de "
+"autenticação devem ser processadas e definidas em um arquivo de "
+"configuração. Este é o outro conceito central no PAM: a possibilidade de o "
+"administrador ajustar a política de segurança do sistema (no sentido mais "
+"amplo da palavra) simplesmente editando um arquivo de texto."
+
+#. (itstool) path: section/para
+#: article.translate.xml:572
+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 ""
+"Uma política consiste em quatro cadeias, uma para cada uma dos quatro "
+"recursos do PAM. Cada chain é uma sequência de instruções de configuração, "
+"cada uma especificando um módulo para invocar, alguns parâmetros (opcionais) "
+"para passar para o módulo e um sinalizador de controle que descreve como "
+"interpretar o código de retorno do módulo."
+
+#. (itstool) path: section/para
+#: article.translate.xml:579
+msgid ""
+"Understanding the control flags is essential to understanding PAM "
+"configuration files. There are four different control flags:"
+msgstr ""
+"Entender os sinalizadores de controle é essencial para entender os arquivos "
+"de configuração do PAM. Existem quatro diferentes flags de controle:"
+
+#. (itstool) path: varlistentry/term
+#: article.translate.xml:585
+msgid "<literal>binding</literal>"
+msgstr "<literal>binding</literal>"
+
+#. (itstool) path: listitem/para
+#: article.translate.xml:587
+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 ""
+"Se o módulo tiver exito e nenhum módulo anterior na chain tiver falhado, a "
+"chain será encerrada imediatamente e a solicitação será concedida. Se o "
+"módulo falhar, o resto da chain é executado, mas a solicitação é negada no "
+"final."
+
+#. (itstool) path: listitem/para
+#: article.translate.xml:593
+msgid ""
+"This control flag was introduced by Sun in <trademark>Solaris</trademark> 9 "
+"(<trademark>SunOS</trademark> 5.9), and is also supported by OpenPAM."
+msgstr ""
+"Esta flag de controle foi introduzida pela Sun no <trademark>Solaris</"
+"trademark>9 (<trademark>SunOS</trademark> 5.9), e também é suportado pelo "
+"OpenPAM."
+
+#. (itstool) path: varlistentry/term
+#: article.translate.xml:599
+msgid "<literal>required</literal>"
+msgstr "<literal>required</literal>"
+
+#. (itstool) path: listitem/para
+#: article.translate.xml:601
+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 ""
+"Se o módulo tiver exito, o restante da chain será executada e a solicitação "
+"será concedida, a menos que algum outro módulo falhe. Se o módulo falhar, o "
+"restante da chain também será executado, mas a solicitação será negada no "
+"final."
+
+#. (itstool) path: varlistentry/term
+#: article.translate.xml:610
+msgid "<literal>requisite</literal>"
+msgstr "<literal>requisite</literal>"
+
+#. (itstool) path: listitem/para
+#: article.translate.xml:612
+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 ""
+"Se o módulo for tiver exito, o restante da chain será executado e a "
+"solicitação será concedida, a menos que algum outro módulo falhe. Se o "
+"módulo falhar, a chain será encerrada imediatamente e a solicitação será "
+"negada."
+
+#. (itstool) path: varlistentry/term
+#: article.translate.xml:620
+msgid "<literal>sufficient</literal>"
+msgstr "<literal>sufficient</literal>"
+
+#. (itstool) path: listitem/para
+#: article.translate.xml:622
+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 ""
+"Se o módulo tiver exito e nenhum módulo anterior na chain tiver falhado, a "
+"chain será encerrada imediatamente e a solicitação será concedida. Se o "
+"módulo falhar, o módulo será ignorado e o resto da chain será executado."
+
+#. (itstool) path: listitem/para
+#: article.translate.xml:628
+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 "
+"<literal>binding</literal> control flag be used instead if the "
+"implementation supports it."
+msgstr ""
+"Como a semântica dessa flag pode ser um pouco confusa, especialmente quando "
+"ela é usada para o último módulo em uma chain, é recomendado que a flag de "
+"controle <literal>binding</literal> seja usada em seu lugar, se a "
+"implementação o suportar."
+
+#. (itstool) path: varlistentry/term
+#: article.translate.xml:637
+msgid "<literal>optional</literal>"
+msgstr "<literal>optional</literal>"
+
+#. (itstool) path: listitem/para
+#: article.translate.xml:639
+msgid ""
+"The module is executed, but its result is ignored. If all modules in a chain "
+"are marked <literal>optional</literal>, all requests will always be granted."
+msgstr ""
+"O módulo é executado, mas seu resultado é ignorado. Se todos os módulos em "
+"uma chain estiverem marcados como <literal>optional</literal>, todas as "
+"solicitações serão sempre concedidas."
+
+#. (itstool) path: section/para
+#: article.translate.xml:647
+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 "
+"<literal>binding</literal> or <literal>sufficient</literal> module "
+"succeeded, or because a <literal>requisite</literal> module failed.) The "
+"request is granted if and only if at least one module was invoked, and all "
+"non-optional modules succeeded."
+msgstr ""
+"Quando um servidor invoca uma das seis primitivas PAM, o PAM recupera a "
+"chain para o recurso ao qual a primitiva pertence, e invoca cada um dos "
+"módulos listados na chain, na ordem em que estão listados, até chegar ao fim "
+"ou determina que nenhum processamento adicional é necessário (porque um "
+"módulo <literal>binding</literal> ou <literal>sufficient</literal> teve "
+"exito, ou porque um módulo <literal>requisite</literal> falhou.) O pedido é "
+"concedido se e somente se pelo menos um módulo foi chamado e todos os "
+"módulos não opcionais tiveram exito."
+
+#. (itstool) path: section/para
+#: article.translate.xml:658
+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 ""
+"Note que é possível, embora não muito comum, ter o mesmo módulo listado "
+"várias vezes na mesma chain. Por exemplo, um módulo que procura nomes de "
+"usuário e senhas em um servidor de diretório pode ser chamado várias vezes "
+"com parâmetros diferentes, especificando diferentes servidores de diretórios "
+"para contato. O PAM trata diferentes ocorrências do mesmo módulo na mesma "
+"chain de módulos diferentes e não relacionados."
+
+#. (itstool) path: section/title
+#. (itstool) id: article.translate.xml#pam-transactions.title
+#: article.translate.xml:668
+msgid "Transactions"
+msgstr "Transações"
+
+#. (itstool) path: section/para
+#: article.translate.xml:670
+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 ""
+"O ciclo de vida de uma transação típica do PAM é descrito abaixo. Observe "
+"que, se qualquer uma dessas etapas falhar, o servidor deverá informar uma "
+"mensagem de erro adequada ao cliente e anular a transação."
+
+#. (itstool) path: listitem/para
+#: article.translate.xml:677
+msgid ""
+"If necessary, the server obtains arbitrator credentials through a mechanism "
+"independent of PAM—most commonly by virtue of having been started by "
+"<literal>root</literal>, or of being setuid <literal>root</literal>."
+msgstr ""
+"Se necessário, o servidor obtém as credenciais do mediador por meio de um "
+"mecanismo independente do PAM - mais comumente em virtude de ter sido "
+"iniciado por <literal>root</literal> ou de ser setuid <literal>root</"
+"literal>."
+
+#. (itstool) path: listitem/para
+#: article.translate.xml:685
+msgid ""
+"The server calls <citerefentry><refentrytitle>pam_start</"
+"refentrytitle><manvolnum>3</manvolnum></citerefentry> to initialize the PAM "
+"library and specify its service name and the target account, and register a "
+"suitable conversation function."
+msgstr ""
+"O servidor chama <citerefentry><refentrytitle>pam_start</"
+"refentrytitle><manvolnum>3</manvolnum></citerefentry> para inicializar a "
+"biblioteca PAM, especificar seu nome de serviço e a conta de destino e "
+"registrar uma função de conversação adequada."
+
+#. (itstool) path: listitem/para
+#: article.translate.xml:692
+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 <citerefentry><refentrytitle>pam_set_item</"
+"refentrytitle><manvolnum>3</manvolnum></citerefentry>."
+msgstr ""
+"O servidor obtém várias informações relacionadas à transação (como o nome de "
+"usuário do requerente e o nome do host no qual o cliente é executado) e o "
+"envia ao PAM usando <citerefentry><refentrytitle>pam_set_item</"
+"refentrytitle><manvolnum>3</manvolnum></citerefentry>."
+
+#. (itstool) path: listitem/para
+#: article.translate.xml:699
+msgid ""
+"The server calls <citerefentry><refentrytitle>pam_authenticate</"
+"refentrytitle><manvolnum>3</manvolnum></citerefentry> to authenticate the "
+"applicant."
+msgstr ""
+"O servidor chama <citerefentry><refentrytitle>pam_authenticate</"
+"refentrytitle><manvolnum>3</manvolnum></citerefentry> para autenticar o "
+"requerente."
+
+#. (itstool) path: listitem/para
+#: article.translate.xml:704
+msgid ""
+"The server calls <citerefentry><refentrytitle>pam_acct_mgmt</"
+"refentrytitle><manvolnum>3</manvolnum></citerefentry> to verify that the "
+"requested account is available and valid. If the password is correct but has "
+"expired, <citerefentry><refentrytitle>pam_acct_mgmt</"
+"refentrytitle><manvolnum>3</manvolnum></citerefentry> will return "
+"<literal>PAM_NEW_AUTHTOK_REQD</literal> instead of <literal>PAM_SUCCESS</"
+"literal>."
+msgstr ""
+"O servidor chama <citerefentry><refentrytitle>pam_acct_mgmt</"
+"refentrytitle><manvolnum>3</manvolnum></citerefentry> para verificar se a "
+"conta solicitada está disponível e é válida. Se a senha estiver correta mas "
+"expirar, <citerefentry><refentrytitle>pam_acct_mgmt</"
+"refentrytitle><manvolnum>3</manvolnum></citerefentry> retornará "
+"<literal>PAM_NEW_AUTHTOK_REQD</literal> em vez de <literal>PAM_SUCCESS</"
+"literal>."
+
+#. (itstool) path: listitem/para
+#: article.translate.xml:712
+msgid ""
+"If the previous step returned <literal>PAM_NEW_AUTHTOK_REQD</literal>, the "
+"server now calls <citerefentry><refentrytitle>pam_chauthtok</"
+"refentrytitle><manvolnum>3</manvolnum></citerefentry> to force the client to "
+"change the authentication token for the requested account."
+msgstr ""
+"Se a etapa anterior retornasse <literal>PAM_NEW_AUTHTOK_REQD</literal>, o "
+"servidor agora chamaria <citerefentry><refentrytitle>pam_chauthtok</"
+"refentrytitle><manvolnum>3</manvolnum></citerefentry> para forçar o cliente "
+"a alterar o token de autenticação para a conta solicitada."
+
+#. (itstool) path: listitem/para
+#: article.translate.xml:719
+msgid ""
+"Now that the applicant has been properly authenticated, the server calls "
+"<citerefentry><refentrytitle>pam_setcred</refentrytitle><manvolnum>3</"
+"manvolnum></citerefentry> 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 ""
+"Agora que o requerente foi devidamente autenticado, o servidor chama "
+"<citerefentry><refentrytitle>pam_setcred</refentrytitle><manvolnum>3</"
+"manvolnum></citerefentry> para estabelecer as credenciais da conta "
+"solicitada. É capaz de fazer isso porque age em nome do mediador e possui as "
+"credenciais do madiador."
+
+#. (itstool) path: listitem/para
+#: article.translate.xml:727
+msgid ""
+"Once the correct credentials have been established, the server calls "
+"<citerefentry><refentrytitle>pam_open_session</refentrytitle><manvolnum>3</"
+"manvolnum></citerefentry> to set up the session."
+msgstr ""
+"Depois que as credenciais corretas forem estabelecidas, o servidor chamará "
+"<citerefentry><refentrytitle>pam_open_session</refentrytitle><manvolnum>3</"
+"manvolnum></citerefentry> para configurar a sessão."
+
+#. (itstool) path: listitem/para
+#: article.translate.xml:733
+msgid ""
+"The server now performs whatever service the client requested—for instance, "
+"provide the applicant with a shell."
+msgstr ""
+"O servidor agora executa qualquer serviço solicitado pelo cliente - por "
+"exemplo, fornecer ao requerente um shell."
+
+#. (itstool) path: listitem/para
+#: article.translate.xml:739
+msgid ""
+"Once the server is done serving the client, it calls "
+"<citerefentry><refentrytitle>pam_close_session</refentrytitle><manvolnum>3</"
+"manvolnum></citerefentry> to tear down the session."
+msgstr ""
+"Quando o servidor terminar de atender ao cliente, ele chamará "
+"<citerefentry><refentrytitle>pam_close_session</refentrytitle><manvolnum>3</"
+"manvolnum></citerefentry> para derrubar a sessão."
+
+#. (itstool) path: listitem/para
+#: article.translate.xml:744
+msgid ""
+"Finally, the server calls <citerefentry><refentrytitle>pam_end</"
+"refentrytitle><manvolnum>3</manvolnum></citerefentry> 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 ""
+"Finalmente, o servidor chama <citerefentry><refentrytitle>pam_end</"
+"refentrytitle><manvolnum>3</manvolnum></citerefentry> para notificar a "
+"biblioteca PAM que ela esta pronta e que pode liberar quaisquer recursos "
+"alocados no curso da transação."
+
+#. (itstool) path: section/title
+#. (itstool) id: article.translate.xml#pam-config.title
+#: article.translate.xml:754
+msgid "PAM Configuration"
+msgstr "Configuração do PAM"
+
+#. (itstool) path: section/title
+#. (itstool) id: article.translate.xml#pam-config-file.title
+#: article.translate.xml:757
+msgid "PAM policy files"
+msgstr "Arquivos de política do PAM"
+
+#. (itstool) path: section/title
+#. (itstool) id: article.translate.xml#pam-config-pam.conf.title
+#: article.translate.xml:760
+msgid "The <filename>/etc/pam.conf</filename> file"
+msgstr "O arquivo <filename>/etc/pam.conf</filename>"
+
+#. (itstool) path: section/para
+#: article.translate.xml:763
+msgid ""
+"The traditional PAM policy file is <filename>/etc/pam.conf</filename>. 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 ""
+"O arquivo de política tradicional do PAM é <filename>/etc/pam.conf</"
+"filename>. Este arquivo contém todas as políticas do PAM para o seu sistema. "
+"Cada linha do arquivo descreve uma etapa em uma chain, conforme mostrado "
+"abaixo:"
+
+#. (itstool) path: section/programlisting
+#: article.translate.xml:768
+#, no-wrap
+msgid "login auth required pam_nologin.so no_warn"
+msgstr "login auth required pam_nologin.so no_warn"
+
+#. (itstool) path: section/para
+#: article.translate.xml:770
+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 ""
+"Os campos estão, na ordem: nome do serviço, nome do recurso, flag de "
+"controle, nome do módulo e argumentos do módulo. Quaisquer campos adicionais "
+"são interpretados como argumentos adicionais do módulo."
+
+#. (itstool) path: section/para
+#: article.translate.xml:775
+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 <trademark>Solaris</trademark> stock "
+"<filename>pam.conf</filename> still does that, but FreeBSD's stock "
+"configuration groups configuration lines by service. Either way is fine; "
+"either way makes equal sense."
+msgstr ""
+"Uma chain separada é construída para cada par de serviço/recurso, portanto, "
+"embora a ordem na qual as linhas para o mesmo serviço e recurso apareçam "
+"seja significativa, a ordem na qual os serviços e recursos individuais são "
+"listados não é. Os exemplos no artigo original do PAM agruparam as linhas de "
+"configuração por recurso, e o suporte do <trademark>Solaris</trademark> ao "
+"<filename>pam.conf</filename> ainda faz isso, mas a configuração de ações do "
+"FreeBSD configura as linhas por serviço. De qualquer maneira está bem; De "
+"qualquer forma, faz o mesmo sentido."
+
+#. (itstool) path: section/title
+#. (itstool) id: article.translate.xml#pam-config-pam.d.title
+#: article.translate.xml:787
+msgid "The <filename>/etc/pam.d</filename> directory"
+msgstr "O diretório <filename>/etc/pam.d</filename>"
+
+#. (itstool) path: section/para
+#: article.translate.xml:790
+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/</filename>."
+msgstr ""
+"O OpenPAM e o Linux-PAM suportam um mecanismo de configuração alternativo, "
+"que é o mecanismo preferido no FreeBSD. Neste esquema, cada política está "
+"contida em um arquivo separado com o nome do serviço ao qual se aplica. "
+"Esses arquivos são armazenados em <filename>/etc/pam.d/</filename>."
+
+#. (itstool) path: section/para
+#: article.translate.xml:796
+msgid ""
+"These per-service policy files have only four fields instead of "
+"<filename>pam.conf</filename>'s five: the service name field is omitted. "
+"Thus, instead of the sample <filename>pam.conf</filename> line from the "
+"previous section, one would have the following line in <filename>/etc/pam.d/"
+"login</filename>:"
+msgstr ""
+"Esses arquivos de políticas por serviço possuem apenas quatro campos, em vez "
+"de cinco no <filename>pam.conf</filename>: o campo nome do serviço é "
+"omitido. Assim, em vez da linha de exemplo no <filename>pam.conf</filename> "
+"da seção anterior, a seguinte linha deve estar em <filename>/etc/pam.d/"
+"login</filename>:"
+
+#. (itstool) path: section/programlisting
+#: article.translate.xml:803
+#, no-wrap
+msgid "auth required pam_nologin.so no_warn"
+msgstr "auth required pam_nologin.so no_warn"
+
+#. (itstool) path: section/para
+#: article.translate.xml:805
+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 <literal>su</literal> and "
+"<literal>sudo</literal> services, one could do as follows:"
+msgstr ""
+"Como consequência dessa sintaxe simplificada, é possível usar a mesma "
+"política para vários serviços vinculando cada nome de serviço a um mesmo "
+"arquivo de política. Por exemplo, para usar a mesma política para os "
+"serviços <literal>su</literal> e <literal>sudo</literal>, pode-se fazer o "
+"seguinte:"
+
+#. (itstool) path: section/screen
+#: article.translate.xml:812
+#, no-wrap
+msgid ""
+"<prompt>#</prompt> <userinput>cd /etc/pam.d</userinput>\n"
+"<prompt>#</prompt> <userinput>ln -s su sudo</userinput>"
+msgstr ""
+"<prompt>#</prompt> <userinput>cd /etc/pam.d</userinput>\n"
+"<prompt>#</prompt> <userinput>ln -s su sudo</userinput>"
+
+#. (itstool) path: section/para
+#: article.translate.xml:815
+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 ""
+"Isso funciona porque o nome do serviço é determinado a partir do nome do "
+"arquivo em vez de ser especificado no arquivo de políticas, portanto, o "
+"mesmo arquivo pode ser usado para vários serviços com nomes diferentes."
+
+#. (itstool) path: section/para
+#: article.translate.xml:820
+msgid ""
+"Since each service's policy is stored in a separate file, the <filename>pam."
+"d</filename> mechanism also makes it very easy to install additional "
+"policies for third-party software packages."
+msgstr ""
+"Como a política de cada serviço é armazenada em um arquivo separado, o "
+"mecanismo <filename>pam.d</filename> também facilita a instalação de "
+"políticas adicionais para pacotes de software de terceiros."
+
+#. (itstool) path: section/title
+#. (itstool) id: article.translate.xml#pam-config-file-order.title
+#: article.translate.xml:827
+msgid "The policy search order"
+msgstr "A ordem de pesquisa da política"
+
+#. (itstool) path: section/para
+#: article.translate.xml:830
+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 ""
+"Como vimos acima, as políticas do PAM podem ser encontradas em vários "
+"lugares. O que acontece se as políticas para o mesmo serviço existirem em "
+"vários lugares?"
+
+#. (itstool) path: section/para
+#: article.translate.xml:834
+msgid ""
+"It is essential to understand that PAM's configuration system is centered on "
+"chains."
+msgstr ""
+"É essencial entender que o sistema de configuração do PAM está centrado em "
+"chains."
+
+#. (itstool) path: section/title
+#. (itstool) id: article.translate.xml#pam-config-breakdown.title
+#: article.translate.xml:841
+msgid "Breakdown of a configuration line"
+msgstr "Quebra de uma linha de configuração"
+
+#. (itstool) path: section/para
+#: article.translate.xml:844
+msgid ""
+"As explained in <xref linkend=\"pam-config-file\"/>, each line in <filename>/"
+"etc/pam.conf</filename> 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 ""
+"Como explicado em <xref linkend=\"pam-config-file\"/>, cada linha em "
+"<filename>/etc/pam.conf</filename> consiste em quatro ou mais campos: o nome "
+"do serviço, o nome do recurso, a flag de controle, o nome do módulo e nenhum "
+"ou mais argumentos do módulo."
+
+#. (itstool) path: section/para
+#: article.translate.xml:849
+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 ""
+"O nome do serviço é geralmente (embora nem sempre) o nome do aplicativo ao "
+"qual a instrução se aplica. Se não tiver certeza, consulte a documentação do "
+"aplicativo individual para determinar qual nome de serviço ele usa."
+
+#. (itstool) path: section/para
+#: article.translate.xml:854
+msgid ""
+"Note that if you use <filename>/etc/pam.d/</filename> instead of <filename>/"
+"etc/pam.conf</filename>, 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 ""
+"Note que se você usar <filename>/etc/pam.d/</filename> em vez de <filename>/"
+"etc/pam.conf</filename>, o nome do serviço é especificado pelo nome do "
+"arquivo de política e omitido a partir das linhas de configuração atuais, "
+"que então começam com o nome da instalação."
+
+#. (itstool) path: section/para
+#: article.translate.xml:860
+msgid ""
+"The facility is one of the four facility keywords described in <xref linkend="
+"\"pam-facilities-primitives\"/>."
+msgstr ""
+"O recurso é uma das quatro palavras-chave do recurso descritas em <xref "
+"linkend=\"pam-facilities-primitives\"/>."
+
+#. (itstool) path: section/para
+#: article.translate.xml:863
+msgid ""
+"Likewise, the control flag is one of the four keywords described in <xref "
+"linkend=\"pam-chains-policies\"/>, describing how to interpret the return "
+"code from the module. 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 "
+"<trademark>Solaris</trademark> and OpenPAM do it.) Unsurprisingly, OpenPAM "
+"does not support this syntax."
+msgstr ""
+"Da mesma forma, a flag de controle é uma das quatro palavras-chave descritas "
+"em <xref linkend=\"pam-chains-policies\"/>, descrevendo como interpretar o "
+"código de retorno do módulo. O Linux-PAM suporta uma sintaxe alternativa que "
+"permite especificar a ação para associar com cada código de retorno "
+"possível, mas isso deve ser evitado, pois não é padrão e está intimamente "
+"ligado à forma como o Linux-PAM envia chamadas de serviço (que difere muito "
+"da maneira que <trademark>Solaris</trademark> e OpenPAM fazem isso). Não "
+"surpreendentemente, o OpenPAM não suporta esta sintaxe."
+
+#. (itstool) path: section/title
+#. (itstool) id: article.translate.xml#pam-policies.title
+#: article.translate.xml:875
+msgid "Policies"
+msgstr "Políticas"
+
+#. (itstool) path: section/para
+#: article.translate.xml:877
+msgid ""
+"To configure PAM correctly, it is essential to understand how policies are "
+"interpreted."
+msgstr ""
+"Para configurar o PAM corretamente, é essencial entender como as políticas "
+"são interpretadas."
+
+#. (itstool) path: section/para
+#: article.translate.xml:880
+msgid ""
+"When an application calls <citerefentry><refentrytitle>pam_start</"
+"refentrytitle><manvolnum>3</manvolnum></citerefentry>, 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 <literal>other</literal> "
+"service are substituted."
+msgstr ""
+"Quando um aplicativo chama <citerefentry><refentrytitle>pam_start</"
+"refentrytitle><manvolnum>3</manvolnum></citerefentry>, a biblioteca PAM "
+"carrega a diretiva do serviço especificado e constrói quatro chains de "
+"módulos (uma para cada recurso). Se uma ou mais dessas chains estiverem "
+"vazias, as chains correspondentes da política para o <literal>outro</"
+"literal> serviço são substituídas."
+
+#. (itstool) path: section/para
+#: article.translate.xml:887
+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 ""
+"Quando o aplicativo chama mais tarde uma das seis primitivas PAM, a "
+"biblioteca PAM recupera a chain para o recurso correspondente e chama a "
+"função de serviço apropriado em cada módulo listado na chain, na ordem em "
+"que foram listadas na configuração. Após cada chamada para uma função de "
+"serviço, o tipo de módulo e o código de erro retornado pela função de "
+"serviço são usados ​​para determinar o que acontece a seguir. Com algumas "
+"exceções, discutidas abaixo, a tabela a seguir se aplica:"
+
+#. (itstool) path: table/title
+#: article.translate.xml:898
+msgid "PAM chain execution summary"
+msgstr "Resumo de execução da chain de PAM"
+
+#. (itstool) path: row/entry
+#: article.translate.xml:907
+msgid "<literal>PAM_SUCCESS</literal>"
+msgstr "<literal>PAM_SUCCESS</literal>"
+
+#. (itstool) path: row/entry
+#: article.translate.xml:908
+msgid "<literal>PAM_IGNORE</literal>"
+msgstr "<literal>PAM_IGNORE</literal>"
+
+#. (itstool) path: row/entry
+#: article.translate.xml:909
+msgid "<literal>other</literal>"
+msgstr "<literal>other</literal>"
+
+#. (itstool) path: row/entry
+#: article.translate.xml:914
+msgid "binding"
+msgstr "binding"
+
+#. (itstool) path: row/entry
+#: article.translate.xml:915 article.translate.xml:933
+msgid "if (!fail) break;"
+msgstr "if (!fail) break;"
+
+#. (itstool) path: row/entry
+#: article.translate.xml:916 article.translate.xml:921
+#: article.translate.xml:922 article.translate.xml:927
+#: article.translate.xml:928 article.translate.xml:934
+#: article.translate.xml:935 article.translate.xml:939
+#: article.translate.xml:940 article.translate.xml:941
+msgid "-"
+msgstr "-"
+
+#. (itstool) path: row/entry
+#: article.translate.xml:917 article.translate.xml:923
+msgid "fail = true;"
+msgstr "fail = true;"
+
+#. (itstool) path: row/entry
+#: article.translate.xml:920
+msgid "required"
+msgstr "required"
+
+#. (itstool) path: row/entry
+#: article.translate.xml:926
+msgid "requisite"
+msgstr "requisite"
+
+#. (itstool) path: row/entry
+#: article.translate.xml:929
+msgid "fail = true; break;"
+msgstr "fail = true; break;"
+
+#. (itstool) path: row/entry
+#: article.translate.xml:932
+msgid "sufficient"
+msgstr "sufficient"
+
+#. (itstool) path: row/entry
+#: article.translate.xml:938
+msgid "optional"
+msgstr "optional"
+
+#. (itstool) path: section/para
+#: article.translate.xml:947
+msgid ""
+"If <varname>fail</varname> is true at the end of a chain, or when a "
+"<quote>break</quote> is reached, the dispatcher returns the error code "
+"returned by the first module that failed. Otherwise, it returns "
+"<literal>PAM_SUCCESS</literal>."
+msgstr ""
+"Se <varname>fail</varname> for true no final de uma chain, ou quando um "
+"<quote>break</quote> for atingido, o dispatcher retornará o código de erro "
+"retornado pelo primeiro módulo que falhou. Caso contrário, retorna "
+"<literal>PAM_SUCCESS</literal>."
+
+#. (itstool) path: section/para
+#: article.translate.xml:953
+msgid ""
+"The first exception of note is that the error code "
+"<literal>PAM_NEW_AUTHTOK_REQD</literal> is treated like a success, except "
+"that if no module failed, and at least one module returned "
+"<literal>PAM_NEW_AUTHTOK_REQD</literal>, the dispatcher will return "
+"<literal>PAM_NEW_AUTHTOK_REQD</literal>."
+msgstr ""
+"A primeira exceção é que o código de erro <literal>PAM_NEW_AUTHTOK_REQD</"
+"literal> é tratado como um sucesso, exceto que se nenhum módulo falhar e "
+"pelo menos um módulo retornar <literal>PAM_NEW_AUTHTOK_REQD</literal>, o "
+"dispatcher retornará <literal>PAM_NEW_AUTHTOK_REQD</literal>."
+
+#. (itstool) path: section/para
+#: article.translate.xml:960
+msgid ""
+"The second exception is that <citerefentry><refentrytitle>pam_setcred</"
+"refentrytitle><manvolnum>3</manvolnum></citerefentry> treats "
+"<literal>binding</literal> and <literal>sufficient</literal> modules as if "
+"they were <literal>required</literal>."
+msgstr ""
+"A segunda exceção é que <citerefentry><refentrytitle>pam_setcred</"
+"refentrytitle><manvolnum>3</manvolnum></citerefentry> trata os módulos "
+"<literal>binding</literal> e <literal>sufficient</literal> como se eles "
+"fossem <literal>required</literal>."
+
+#. (itstool) path: section/para
+#: article.translate.xml:965
+msgid ""
+"The third and final exception is that "
+"<citerefentry><refentrytitle>pam_chauthtok</refentrytitle><manvolnum>3</"
+"manvolnum></citerefentry> runs the entire chain twice (once for preliminary "
+"checks and once to actually set the password), and in the preliminary phase "
+"it treats <literal>binding</literal> and <literal>sufficient</literal> "
+"modules as if they were <literal>required</literal>."
+msgstr ""
+"A terceira e última exceção é que "
+"<citerefentry><refentrytitle>pam_chauthtok</refentrytitle><manvolnum>3</"
+"manvolnum></citerefentry> executa a chain inteira duas vezes (uma vez para "
+"verificações preliminares e uma vez para definir a senha), e na fase "
+"preliminar, ele trata os módulos <literal>binding</literal> e "
+"<literal>sufficient</literal> como se fossem <literal>required</literal>."
+
+#. (itstool) path: section/title
+#. (itstool) id: article.translate.xml#pam-freebsd-modules.title
+#: article.translate.xml:976
+msgid "FreeBSD PAM Modules"
+msgstr "Módulos PAM do FreeBSD"
+
+#. (itstool) path: section/title
+#. (itstool) id: article.translate.xml#pam-modules-deny.title
+#: article.translate.xml:979
+msgid ""
+"<citerefentry><refentrytitle>pam_deny</refentrytitle><manvolnum>8</"
+"manvolnum></citerefentry>"
+msgstr ""
+"<citerefentry><refentrytitle>pam_deny</refentrytitle><manvolnum>8</"
+"manvolnum></citerefentry>"
+
+#. (itstool) path: section/para
+#: article.translate.xml:981
+msgid ""
+"The <citerefentry><refentrytitle>pam_deny</refentrytitle><manvolnum>8</"
+"manvolnum></citerefentry> module is one of the simplest modules available; "
+"it responds to any request with <literal>PAM_AUTH_ERR</literal>. It is "
+"useful for quickly disabling a service (add it to the top of every chain), "
+"or for terminating chains of <literal>sufficient</literal> modules."
+msgstr ""
+"O módulo <citerefentry><refentrytitle>pam_deny</refentrytitle><manvolnum>8</"
+"manvolnum></citerefentry> é um dos módulos mais simples disponíveis; "
+"responde a qualquer pedido com <literal>PAM_AUTH_ERR</literal>. É útil para "
+"desabilitar rapidamente um serviço (adicioná-lo ao topo de cada chain) ou "
+"para encerrar chains de módulos <literal>sufficient</literal>."
+
+#. (itstool) path: section/title
+#. (itstool) id: article.translate.xml#pam-modules-echo.title
+#: article.translate.xml:990
+msgid ""
+"<citerefentry><refentrytitle>pam_echo</refentrytitle><manvolnum>8</"
+"manvolnum></citerefentry>"
+msgstr ""
+"<citerefentry><refentrytitle>pam_echo</refentrytitle><manvolnum>8</"
+"manvolnum></citerefentry>"
+
+#. (itstool) path: section/para
+#: article.translate.xml:992
+msgid ""
+"The <citerefentry><refentrytitle>pam_echo</refentrytitle><manvolnum>8</"
+"manvolnum></citerefentry> module simply passes its arguments to the "
+"conversation function as a <literal>PAM_TEXT_INFO</literal> message. It is "
+"mostly useful for debugging, but can also serve to display messages such as "
+"<quote>Unauthorized access will be prosecuted</quote> before starting the "
+"authentication procedure."
+msgstr ""
+"O módulo <citerefentry><refentrytitle>pam_echo</refentrytitle><manvolnum>8</"
+"manvolnum></citerefentry> simplesmente passa seus argumentos para a função "
+"de conversação como uma mensagem <literal>PAM_TEXT_INFO</literal>. É "
+"principalmente útil para depuração, mas também pode servir para exibir "
+"mensagens como <quote>O acesso não autorizado será processado</quote> antes "
+"de iniciar o procedimento de autenticação."
+
+#. (itstool) path: section/title
+#. (itstool) id: article.translate.xml#pam-modules-exec.title
+#: article.translate.xml:1001
+msgid ""
+"<citerefentry><refentrytitle>pam_exec</refentrytitle><manvolnum>8</"
+"manvolnum></citerefentry>"
+msgstr ""
+"<citerefentry><refentrytitle>pam_exec</refentrytitle><manvolnum>8</"
+"manvolnum></citerefentry>"
+
+#. (itstool) path: section/para
+#: article.translate.xml:1003
+msgid ""
+"The <citerefentry><refentrytitle>pam_exec</refentrytitle><manvolnum>8</"
+"manvolnum></citerefentry> 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 ""
+"O módulo <citerefentry><refentrytitle>pam_exec</refentrytitle><manvolnum>8</"
+"manvolnum></citerefentry> leva seu primeiro argumento a ser o nome de um "
+"programa a ser executado, e os argumentos restantes são passados ​​para esse "
+"programa como argumentos de linha de comando. Uma aplicação possível é usá-"
+"lo para executar um programa no momento do login, que monta o diretório "
+"pessoal do usuário."
+
+#. (itstool) path: section/title
+#. (itstool) id: article.translate.xml#pam-modules-ftpusers.title
+#: article.translate.xml:1011
+msgid ""
+"<citerefentry><refentrytitle>pam_ftpusers</refentrytitle><manvolnum>8</"
+"manvolnum></citerefentry>"
+msgstr ""
+"<citerefentry><refentrytitle>pam_ftpusers</refentrytitle><manvolnum>8</"
+"manvolnum></citerefentry>"
+
+#. (itstool) path: section/para
+#: article.translate.xml:1013
+msgid ""
+"The <citerefentry><refentrytitle>pam_ftpusers</refentrytitle><manvolnum>8</"
+"manvolnum></citerefentry> module"
+msgstr ""
+"The <citerefentry><refentrytitle>pam_ftpusers</refentrytitle><manvolnum>8</"
+"manvolnum></citerefentry> module"
+
+#. (itstool) path: section/title
+#. (itstool) id: article.translate.xml#pam-modules-group.title
+#: article.translate.xml:1017
+msgid ""
+"<citerefentry><refentrytitle>pam_group</refentrytitle><manvolnum>8</"
+"manvolnum></citerefentry>"
+msgstr ""
+"<citerefentry><refentrytitle>pam_group</refentrytitle><manvolnum>8</"
+"manvolnum></citerefentry>"
+
+#. (itstool) path: section/para
+#: article.translate.xml:1019
+msgid ""
+"The <citerefentry><refentrytitle>pam_group</refentrytitle><manvolnum>8</"
+"manvolnum></citerefentry> module accepts or rejects applicants on the basis "
+"of their membership in a particular file group (normally <literal>wheel</"
+"literal> for <citerefentry><refentrytitle>su</refentrytitle><manvolnum>1</"
+"manvolnum></citerefentry>). It is primarily intended for maintaining the "
+"traditional behavior of BSD <citerefentry><refentrytitle>su</"
+"refentrytitle><manvolnum>1</manvolnum></citerefentry>, but has many other "
+"uses, such as excluding certain groups of users from a particular service."
+msgstr ""
+"O módulo <citerefentry><refentrytitle>pam_group</refentrytitle><manvolnum>8</"
+"manvolnum></citerefentry> aceita ou rejeita os requerentes com base em sua "
+"participação em um determinado grupo de arquivos (normalmente "
+"<literal>wheel</literal> para <citerefentry><refentrytitle>su</"
+"refentrytitle><manvolnum>1</manvolnum></citerefentry>). Ele é destinado "
+"principalmente para manter o comportamento tradicional do "
+"<citerefentry><refentrytitle>su</refentrytitle><manvolnum>1</manvolnum></"
+"citerefentry> do BSD, mas tem muitos outros usos, como excluir determinados "
+"grupos de usuários de um serviço particular."
+
+#. (itstool) path: section/title
+#. (itstool) id: article.translate.xml#pam-modules-guest.title
+#: article.translate.xml:1028
+msgid ""
+"<citerefentry><refentrytitle>pam_guest</refentrytitle><manvolnum>8</"
+"manvolnum></citerefentry>"
+msgstr ""
+"<citerefentry><refentrytitle>pam_guest</refentrytitle><manvolnum>8</"
+"manvolnum></citerefentry>"
+
+#. (itstool) path: section/para
+#: article.translate.xml:1030
+msgid ""
+"The <citerefentry><refentrytitle>pam_guest</refentrytitle><manvolnum>8</"
+"manvolnum></citerefentry> 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 <citerefentry><refentrytitle>pam_guest</"
+"refentrytitle><manvolnum>8</manvolnum></citerefentry> module can easily be "
+"used to implement anonymous FTP logins."
+msgstr ""
+"O módulo <citerefentry><refentrytitle>pam_guest</refentrytitle><manvolnum>8</"
+"manvolnum></citerefentry> permite logins convidados usando nomes de login "
+"fixos. Vários requerimentos podem ser colocados na senha, mas o "
+"comportamento padrão é permitir qualquer senha, desde que o nome de login "
+"seja o de uma conta de convidado. O módulo "
+"<citerefentry><refentrytitle>pam_guest</refentrytitle><manvolnum>8</"
+"manvolnum></citerefentry> pode ser facilmente utilizado para implementar "
+"logins FTP anônimos."
+
+#. (itstool) path: section/title
+#. (itstool) id: article.translate.xml#pam-modules-krb5.title
+#: article.translate.xml:1039
+msgid ""
+"<citerefentry><refentrytitle>pam_krb5</refentrytitle><manvolnum>8</"
+"manvolnum></citerefentry>"
+msgstr ""
+"<citerefentry><refentrytitle>pam_krb5</refentrytitle><manvolnum>8</"
+"manvolnum></citerefentry>"
+
+#. (itstool) path: section/para
+#: article.translate.xml:1041
+msgid ""
+"The <citerefentry><refentrytitle>pam_krb5</refentrytitle><manvolnum>8</"
+"manvolnum></citerefentry> module"
+msgstr ""
+"O módulo <citerefentry><refentrytitle>pam_krb5</refentrytitle><manvolnum>8</"
+"manvolnum></citerefentry>"
+
+#. (itstool) path: section/title
+#. (itstool) id: article.translate.xml#pam-modules-ksu.title
+#: article.translate.xml:1045
+msgid ""
+"<citerefentry><refentrytitle>pam_ksu</refentrytitle><manvolnum>8</"
+"manvolnum></citerefentry>"
+msgstr ""
+"<citerefentry><refentrytitle>pam_ksu</refentrytitle><manvolnum>8</"
+"manvolnum></citerefentry>"
+
+#. (itstool) path: section/para
+#: article.translate.xml:1047
+msgid ""
+"The <citerefentry><refentrytitle>pam_ksu</refentrytitle><manvolnum>8</"
+"manvolnum></citerefentry> module"
+msgstr ""
+"O módulo <citerefentry><refentrytitle>pam_ksu</refentrytitle><manvolnum>8</"
+"manvolnum></citerefentry>"
+
+#. (itstool) path: section/title
+#. (itstool) id: article.translate.xml#pam-modules-lastlog.title
+#: article.translate.xml:1051
+msgid ""
+"<citerefentry><refentrytitle>pam_lastlog</refentrytitle><manvolnum>8</"
+"manvolnum></citerefentry>"
+msgstr ""
+"<citerefentry><refentrytitle>pam_lastlog</refentrytitle><manvolnum>8</"
+"manvolnum></citerefentry>"
+
+#. (itstool) path: section/para
+#: article.translate.xml:1053
+msgid ""
+"The <citerefentry><refentrytitle>pam_lastlog</refentrytitle><manvolnum>8</"
+"manvolnum></citerefentry> module"
+msgstr ""
+"O módulo <citerefentry><refentrytitle>pam_lastlog</"
+"refentrytitle><manvolnum>8</manvolnum></citerefentry>"
+
+#. (itstool) path: section/title
+#. (itstool) id: article.translate.xml#pam-modules-login-access.title
+#: article.translate.xml:1057
+msgid ""
+"<citerefentry><refentrytitle>pam_login_access</refentrytitle><manvolnum>8</"
+"manvolnum></citerefentry>"
+msgstr ""
+"<citerefentry><refentrytitle>pam_login_access</refentrytitle><manvolnum>8</"
+"manvolnum></citerefentry>"
+
+#. (itstool) path: section/para
+#: article.translate.xml:1059
+msgid ""
+"The <citerefentry><refentrytitle>pam_login_access</"
+"refentrytitle><manvolnum>8</manvolnum></citerefentry> module provides an "
+"implementation of the account management primitive which enforces the login "
+"restrictions specified in the <citerefentry><refentrytitle>login.access</"
+"refentrytitle><manvolnum>5</manvolnum></citerefentry> table."
+msgstr ""
+"O módulo <citerefentry><refentrytitle>pam_login_access</"
+"refentrytitle><manvolnum>8</manvolnum></citerefentry> fornece uma "
+"implementação da primitiva de gerenciamento de contas que impõe as "
+"restrições de login especificadas na tabela "
+"<citerefentry><refentrytitle>login.access</refentrytitle><manvolnum>5</"
+"manvolnum></citerefentry>."
+
+#. (itstool) path: section/title
+#. (itstool) id: article.translate.xml#pam-modules-nologin.title
+#: article.translate.xml:1066
+msgid ""
+"<citerefentry><refentrytitle>pam_nologin</refentrytitle><manvolnum>8</"
+"manvolnum></citerefentry>"
+msgstr ""
+"<citerefentry><refentrytitle>pam_nologin</refentrytitle><manvolnum>8</"
+"manvolnum></citerefentry>"
+
+#. (itstool) path: section/para
+#: article.translate.xml:1068
+msgid ""
+"The <citerefentry><refentrytitle>pam_nologin</refentrytitle><manvolnum>8</"
+"manvolnum></citerefentry> module refuses non-root logins when <filename>/var/"
+"run/nologin</filename> exists. This file is normally created by "
+"<citerefentry><refentrytitle>shutdown</refentrytitle><manvolnum>8</"
+"manvolnum></citerefentry> when less than five minutes remain until the "
+"scheduled shutdown time."
+msgstr ""
+"O módulo <citerefentry><refentrytitle>pam_nologin</"
+"refentrytitle><manvolnum>8</manvolnum></citerefentry> recusa logins não-root "
+"quando existe um <filename>/var/run/nologin</filename>. Este arquivo é "
+"normalmente criado por <citerefentry><refentrytitle>shutdown</"
+"refentrytitle><manvolnum>8</manvolnum></citerefentry> quando restam menos de "
+"cinco minutos até o horário de encerramento programado."
+
+#. (itstool) path: section/title
+#. (itstool) id: article.translate.xml#pam-modules-opie.title
+#: article.translate.xml:1075
+msgid ""
+"<citerefentry><refentrytitle>pam_opie</refentrytitle><manvolnum>8</"
+"manvolnum></citerefentry>"
+msgstr ""
+"<citerefentry><refentrytitle>pam_opie</refentrytitle><manvolnum>8</"
+"manvolnum></citerefentry>"
+
+#. (itstool) path: section/para
+#: article.translate.xml:1077
+msgid ""
+"The <citerefentry><refentrytitle>pam_opie</refentrytitle><manvolnum>8</"
+"manvolnum></citerefentry> module implements the "
+"<citerefentry><refentrytitle>opie</refentrytitle><manvolnum>4</manvolnum></"
+"citerefentry> authentication method. The <citerefentry><refentrytitle>opie</"
+"refentrytitle><manvolnum>4</manvolnum></citerefentry> system is a challenge-"
+"response mechanism where the response to each challenge is a direct function "
+"of the challenge and a passphrase, so the response can be easily computed "
+"<quote>just in time</quote> by anyone possessing the passphrase, eliminating "
+"the need for password lists. Moreover, since "
+"<citerefentry><refentrytitle>opie</refentrytitle><manvolnum>4</manvolnum></"
+"citerefentry> never reuses a challenge that has been correctly answered, it "
+"is not vulnerable to replay attacks."
+msgstr ""
+"O módulo <citerefentry><refentrytitle>pam_opie</refentrytitle><manvolnum>8</"
+"manvolnum></citerefentry> implementa o método de autenticação "
+"<citerefentry><refentrytitle>opie</refentrytitle><manvolnum>4</manvolnum></"
+"citerefentry>. O sistema <citerefentry><refentrytitle>opie</"
+"refentrytitle><manvolnum>4</manvolnum></citerefentry> é um mecanismo de "
+"desafio-resposta em que a resposta a cada desafio é uma função direta do "
+"desafio e uma frase-senha, então a resposta pode ser facilmente computada "
+"<quote>just in time</quote> por qualquer pessoa que possua a senha, "
+"eliminando a necessidade de listas de senhas. Além disso, como "
+"<citerefentry><refentrytitle>opie</refentrytitle><manvolnum>4</manvolnum></"
+"citerefentry> nunca reutiliza um desafio que tenha sido respondido "
+"corretamente, ele não é vulnerável a ataques de repetição."
+
+#. (itstool) path: section/title
+#. (itstool) id: article.translate.xml#pam-modules-opieaccess.title
+#: article.translate.xml:1089
+msgid ""
+"<citerefentry><refentrytitle>pam_opieaccess</refentrytitle><manvolnum>8</"
+"manvolnum></citerefentry>"
+msgstr ""
+"<citerefentry><refentrytitle>pam_opieaccess</refentrytitle><manvolnum>8</"
+"manvolnum></citerefentry>"
+
+#. (itstool) path: section/para
+#: article.translate.xml:1091
+msgid ""
+"The <citerefentry><refentrytitle>pam_opieaccess</refentrytitle><manvolnum>8</"
+"manvolnum></citerefentry> module is a companion module to "
+"<citerefentry><refentrytitle>pam_opie</refentrytitle><manvolnum>8</"
+"manvolnum></citerefentry>. Its purpose is to enforce the restrictions "
+"codified in <citerefentry><refentrytitle>opieaccess</"
+"refentrytitle><manvolnum>5</manvolnum></citerefentry>, which regulate the "
+"conditions under which a user who would normally authenticate herself using "
+"<citerefentry><refentrytitle>opie</refentrytitle><manvolnum>4</manvolnum></"
+"citerefentry> is allowed to use alternate methods. This is most often used "
+"to prohibit the use of password authentication from untrusted hosts."
+msgstr ""
+"O módulo <citerefentry><refentrytitle>pam_opieaccess</"
+"refentrytitle><manvolnum>8</manvolnum></citerefentry> é um módulo "
+"complementar para <citerefentry><refentrytitle>pam_opie</"
+"refentrytitle><manvolnum>8</manvolnum></citerefentry>. Sua finalidade é "
+"impor as restrições codificadas em <citerefentry><refentrytitle>opieaccess</"
+"refentrytitle><manvolnum>5</manvolnum></citerefentry>, que regulam as "
+"condições sob as quais um usuário que normalmente se autenticaria usando "
+"<citerefentry><refentrytitle>opie</refentrytitle><manvolnum>4</manvolnum></"
+"citerefentry> tem permissão para usar métodos alternativos. Isso geralmente "
+"é usado para proibir o uso de autenticação de senha de hosts não confiáveis."
+
+#. (itstool) path: section/para
+#: article.translate.xml:1099
+msgid ""
+"In order to be effective, the <citerefentry><refentrytitle>pam_opieaccess</"
+"refentrytitle><manvolnum>8</manvolnum></citerefentry> module must be listed "
+"as <literal>requisite</literal> immediately after a <literal>sufficient</"
+"literal> entry for <citerefentry><refentrytitle>pam_opie</"
+"refentrytitle><manvolnum>8</manvolnum></citerefentry>, and before any other "
+"modules, in the <literal>auth</literal> chain."
+msgstr ""
+"Para ser eficaz, o módulo <citerefentry><refentrytitle>pam_opieaccess</"
+"refentrytitle><manvolnum>8</manvolnum></citerefentry> deve ser listado como "
+"<literal>requisite</literal> imediatamente após uma entrada "
+"<literal>sufficient</literal> para <citerefentry><refentrytitle>pam_opie</"
+"refentrytitle><manvolnum>8</manvolnum></citerefentry>, e antes de qualquer "
+"outro módulo, na chain <literal>auth</literal>."
+
+#. (itstool) path: section/title
+#. (itstool) id: article.translate.xml#pam-modules-passwdqc.title
+#: article.translate.xml:1107
+msgid ""
+"<citerefentry><refentrytitle>pam_passwdqc</refentrytitle><manvolnum>8</"
+"manvolnum></citerefentry>"
+msgstr ""
+"<citerefentry><refentrytitle>pam_passwdqc</refentrytitle><manvolnum>8</"
+"manvolnum></citerefentry>"
+
+#. (itstool) path: section/para
+#: article.translate.xml:1109
+msgid ""
+"The <citerefentry><refentrytitle>pam_passwdqc</refentrytitle><manvolnum>8</"
+"manvolnum></citerefentry> module"
+msgstr ""
+"O módulo <citerefentry><refentrytitle>pam_passwdqc</"
+"refentrytitle><manvolnum>8</manvolnum></citerefentry>"
+
+#. (itstool) path: section/title
+#. (itstool) id: article.translate.xml#pam-modules-permit.title
+#: article.translate.xml:1113
+msgid ""
+"<citerefentry><refentrytitle>pam_permit</refentrytitle><manvolnum>8</"
+"manvolnum></citerefentry>"
+msgstr ""
+"<citerefentry><refentrytitle>pam_permit</refentrytitle><manvolnum>8</"
+"manvolnum></citerefentry>"
+
+#. (itstool) path: section/para
+#: article.translate.xml:1115
+msgid ""
+"The <citerefentry><refentrytitle>pam_permit</refentrytitle><manvolnum>8</"
+"manvolnum></citerefentry> module is one of the simplest modules available; "
+"it responds to any request with <literal>PAM_SUCCESS</literal>. It is useful "
+"as a placeholder for services where one or more chains would otherwise be "
+"empty."
+msgstr ""
+"O módulo <citerefentry><refentrytitle>pam_permit</"
+"refentrytitle><manvolnum>8</manvolnum></citerefentry> é um dos módulos mais "
+"simples disponíveis; responde a qualquer pedido com <literal>PAM_SUCCESS</"
+"literal>. É útil como um espaço reservado para serviços onde uma ou mais "
+"chains estariam vazias."
+
+#. (itstool) path: section/title
+#. (itstool) id: article.translate.xml#pam-modules-radius.title
+#: article.translate.xml:1123
+msgid ""
+"<citerefentry><refentrytitle>pam_radius</refentrytitle><manvolnum>8</"
+"manvolnum></citerefentry>"
+msgstr ""
+"<citerefentry><refentrytitle>pam_radius</refentrytitle><manvolnum>8</"
+"manvolnum></citerefentry>"
+
+#. (itstool) path: section/para
+#: article.translate.xml:1125
+msgid ""
+"The <citerefentry><refentrytitle>pam_radius</refentrytitle><manvolnum>8</"
+"manvolnum></citerefentry> module"
+msgstr ""
+"O módulo <citerefentry><refentrytitle>pam_radius</"
+"refentrytitle><manvolnum>8</manvolnum></citerefentry>"
+
+#. (itstool) path: section/title
+#. (itstool) id: article.translate.xml#pam-modules-rhosts.title
+#: article.translate.xml:1129
+msgid ""
+"<citerefentry><refentrytitle>pam_rhosts</refentrytitle><manvolnum>8</"
+"manvolnum></citerefentry>"
+msgstr ""
+"<citerefentry><refentrytitle>pam_rhosts</refentrytitle><manvolnum>8</"
+"manvolnum></citerefentry>"
+
+#. (itstool) path: section/para
+#: article.translate.xml:1131
+msgid ""
+"The <citerefentry><refentrytitle>pam_rhosts</refentrytitle><manvolnum>8</"
+"manvolnum></citerefentry> module"
+msgstr ""
+"O módulo <citerefentry><refentrytitle>pam_rhosts</"
+"refentrytitle><manvolnum>8</manvolnum></citerefentry>"
+
+#. (itstool) path: section/title
+#. (itstool) id: article.translate.xml#pam-modules-rootok.title
+#: article.translate.xml:1135
+msgid ""
+"<citerefentry><refentrytitle>pam_rootok</refentrytitle><manvolnum>8</"
+"manvolnum></citerefentry>"
+msgstr ""
+"<citerefentry><refentrytitle>pam_rootok</refentrytitle><manvolnum>8</"
+"manvolnum></citerefentry>"
+
+#. (itstool) path: section/para
+#: article.translate.xml:1137
+msgid ""
+"The <citerefentry><refentrytitle>pam_rootok</refentrytitle><manvolnum>8</"
+"manvolnum></citerefentry> 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 "
+"<citerefentry><refentrytitle>su</refentrytitle><manvolnum>1</manvolnum></"
+"citerefentry> or <citerefentry><refentrytitle>passwd</"
+"refentrytitle><manvolnum>1</manvolnum></citerefentry>, to which the "
+"<literal>root</literal> should have automatic access."
+msgstr ""
+"O módulo <citerefentry><refentrytitle>pam_rootok</"
+"refentrytitle><manvolnum>8</manvolnum></citerefentry> reporta sucesso se e "
+"somente se o ID do usuário real do processo que o chama (que é assumido como "
+"sendo executado pelo requerente) é 0. Isso é útil para serviços que não "
+"estão em rede, como <citerefentry><refentrytitle>su</"
+"refentrytitle><manvolnum>1</manvolnum></citerefentry> ou "
+"<citerefentry><refentrytitle>passwd</refentrytitle><manvolnum>1</manvolnum></"
+"citerefentry>, para o qual o <literal>root</literal> deve ter acesso "
+"automático."
+
+#. (itstool) path: section/title
+#. (itstool) id: article.translate.xml#pam-modules-securetty.title
+#: article.translate.xml:1146
+msgid ""
+"<citerefentry><refentrytitle>pam_securetty</refentrytitle><manvolnum>8</"
+"manvolnum></citerefentry>"
+msgstr ""
+"<citerefentry><refentrytitle>pam_securetty</refentrytitle><manvolnum>8</"
+"manvolnum></citerefentry>"
+
+#. (itstool) path: section/para
+#: article.translate.xml:1148
+msgid ""
+"The <citerefentry><refentrytitle>pam_securetty</refentrytitle><manvolnum>8</"
+"manvolnum></citerefentry> module"
+msgstr ""
+"O módulo <citerefentry><refentrytitle>pam_securetty</"
+"refentrytitle><manvolnum>8</manvolnum></citerefentry>"
+
+#. (itstool) path: section/title
+#. (itstool) id: article.translate.xml#pam-modules-self.title
+#: article.translate.xml:1152
+msgid ""
+"<citerefentry><refentrytitle>pam_self</refentrytitle><manvolnum>8</"
+"manvolnum></citerefentry>"
+msgstr ""
+"<citerefentry><refentrytitle>pam_self</refentrytitle><manvolnum>8</"
+"manvolnum></citerefentry>"
+
+#. (itstool) path: section/para
+#: article.translate.xml:1154
+msgid ""
+"The <citerefentry><refentrytitle>pam_self</refentrytitle><manvolnum>8</"
+"manvolnum></citerefentry> 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 <citerefentry><refentrytitle>su</"
+"refentrytitle><manvolnum>1</manvolnum></citerefentry>, where the identity of "
+"the applicant can be easily verified."
+msgstr ""
+"O módulo <citerefentry><refentrytitle>pam_self</refentrytitle><manvolnum>8</"
+"manvolnum></citerefentry> reporta sucesso se, e somente se, os nomes do "
+"requerente coincidem com os da conta de destino. É mais útil para serviços "
+"que não estão em rede, como <citerefentry><refentrytitle>su</"
+"refentrytitle><manvolnum>1</manvolnum></citerefentry>, onde a identidade do "
+"requerente pode ser facilmente verificada."
+
+#. (itstool) path: section/title
+#. (itstool) id: article.translate.xml#pam-modules-ssh.title
+#: article.translate.xml:1162
+msgid ""
+"<citerefentry><refentrytitle>pam_ssh</refentrytitle><manvolnum>8</"
+"manvolnum></citerefentry>"
+msgstr ""
+"<citerefentry><refentrytitle>pam_ssh</refentrytitle><manvolnum>8</"
+"manvolnum></citerefentry>"
+
+#. (itstool) path: section/para
+#: article.translate.xml:1164
+msgid ""
+"The <citerefentry><refentrytitle>pam_ssh</refentrytitle><manvolnum>8</"
+"manvolnum></citerefentry> module provides both authentication and session "
+"services. The authentication service allows users who have passphrase-"
+"protected SSH secret keys in their <filename>~/.ssh</filename> directory to "
+"authenticate themselves by typing their passphrase. The session service "
+"starts <citerefentry><refentrytitle>ssh-agent</refentrytitle><manvolnum>1</"
+"manvolnum></citerefentry> 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 <citerefentry vendor="
+"\"xfree86\"><refentrytitle>xdm</refentrytitle><manvolnum>1</manvolnum></"
+"citerefentry> or another PAM-aware X login manager) or at the console."
+msgstr ""
+"O módulo <citerefentry><refentrytitle>pam_ssh</refentrytitle><manvolnum>8</"
+"manvolnum></citerefentry> fornece serviços de autenticação e de sessão. O "
+"serviço de autenticação permite que os usuários que tenham chaves secretas "
+"SSH protegidas por senha em seu diretório <filename>~/.ssh</filename> se "
+"autentiquem digitando sua frase secreta. O serviço de sessão inicia o "
+"<citerefentry><refentrytitle>ssh-agent</refentrytitle><manvolnum>1</"
+"manvolnum></citerefentry> e o pré-carrega com as chaves que foram "
+"descriptografadas na fase de autenticação. Esse recurso é particularmente "
+"útil para logins locais, seja em X (usando <citerefentry vendor="
+"\"xfree86\"><refentrytitle>xdm</refentrytitle><manvolnum>1</manvolnum></"
+"citerefentry> ou outro gerenciador de login X que reconhece o PAM ) ou no "
+"console."
+
+#. (itstool) path: section/title
+#. (itstool) id: article.translate.xml#pam-modules-tacplus.title
+#: article.translate.xml:1177
+msgid ""
+"<citerefentry><refentrytitle>pam_tacplus</refentrytitle><manvolnum>8</"
+"manvolnum></citerefentry>"
+msgstr ""
+"<citerefentry><refentrytitle>pam_tacplus</refentrytitle><manvolnum>8</"
+"manvolnum></citerefentry>"
+
+#. (itstool) path: section/para
+#: article.translate.xml:1179
+msgid ""
+"The <citerefentry><refentrytitle>pam_tacplus</refentrytitle><manvolnum>8</"
+"manvolnum></citerefentry> module"
+msgstr ""
+"O módulo <citerefentry><refentrytitle>pam_tacplus</"
+"refentrytitle><manvolnum>8</manvolnum></citerefentry>"
+
+#. (itstool) path: section/title
+#. (itstool) id: article.translate.xml#pam-modules-unix.title
+#: article.translate.xml:1183
+msgid ""
+"<citerefentry><refentrytitle>pam_unix</refentrytitle><manvolnum>8</"
+"manvolnum></citerefentry>"
+msgstr ""
+"<citerefentry><refentrytitle>pam_unix</refentrytitle><manvolnum>8</"
+"manvolnum></citerefentry>"
+
+#. (itstool) path: section/para
+#: article.translate.xml:1185
+msgid ""
+"The <citerefentry><refentrytitle>pam_unix</refentrytitle><manvolnum>8</"
+"manvolnum></citerefentry> module implements traditional <trademark class="
+"\"registered\">UNIX</trademark> password authentication, using "
+"<citerefentry><refentrytitle>getpwnam</refentrytitle><manvolnum>3</"
+"manvolnum></citerefentry> 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 ""
+"O módulo <citerefentry><refentrytitle>pam_unix</refentrytitle><manvolnum>8</"
+"manvolnum></citerefentry> implementa a autenticação de senha <trademark "
+"class=\"registered\">UNIX</trademark> tradicional, usando "
+"<citerefentry><refentrytitle>getpwnam</refentrytitle><manvolnum>3</"
+"manvolnum></citerefentry> para obter a senha da conta de destino e compará-"
+"la com a fornecida pelo requerente. Ele também fornece serviços de "
+"gerenciamento de conta (impondo tempos de expiração de conta e senha) e "
+"serviços de alteração de senha. Este é provavelmente o módulo mais útil, já "
+"que a grande maioria dos administradores desejará manter um comportamento "
+"histórico para pelo menos alguns serviços."
+
+#. (itstool) path: section/title
+#. (itstool) id: article.translate.xml#pam-appl-prog.title
+#: article.translate.xml:1198
+msgid "PAM Application Programming"
+msgstr "Programação de Aplicação PAM"
+
+#. (itstool) path: section/para
+#: article.translate.xml:1200 article.translate.xml:1220
+msgid "This section has not yet been written."
+msgstr "Esta seção ainda não foi escrita."
+
+#. (itstool) path: section/title
+#. (itstool) id: article.translate.xml#pam-module-prog.title
+#: article.translate.xml:1218
+msgid "PAM Module Programming"
+msgstr "Programação de Módulos PAM"
+
+#. (itstool) path: appendix/title
+#. (itstool) id: article.translate.xml#pam-sample-appl.title
+#: article.translate.xml:1224
+msgid "Sample PAM Application"
+msgstr "Exemplo de Aplicação PAM"
+
+#. (itstool) path: appendix/para
+#: article.translate.xml:1226
+msgid ""
+"The following is a minimal implementation of "
+"<citerefentry><refentrytitle>su</refentrytitle><manvolnum>1</manvolnum></"
+"citerefentry> using PAM. Note that it uses the OpenPAM-specific "
+"<citerefentry><refentrytitle>openpam_ttyconv</refentrytitle><manvolnum>3</"
+"manvolnum></citerefentry> conversation function, which is prototyped in "
+"<filename>security/openpam.h</filename>. 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 <xref linkend=\"pam-sample-conv"
+"\"/> is a good starting point, but should not be used in real-world "
+"applications."
+msgstr ""
+"O que vem a seguir é uma implementação mínima de "
+"<citerefentry><refentrytitle>su</refentrytitle><manvolnum>1</manvolnum></"
+"citerefentry> utilizando o PAM. Observe que ele usa a função de conversa "
+"<citerefentry><refentrytitle>openpam_ttyconv</refentrytitle><manvolnum>3</"
+"manvolnum></citerefentry> específica do OpenPAM, que é prototipada em "
+"<filename>security/openpam.h</filename> . Se você deseja construir este "
+"aplicativo em um sistema com uma biblioteca PAM diferente, você terá que "
+"fornecer sua própria função de conversação. Uma função de conversa robusta é "
+"surpreendentemente difícil de implementar; o apresentado em <xref linkend="
+"\"pam-sample-conv\"/> é um bom ponto de partida, mas não deve ser usado em "
+"aplicações do mundo real."
+
+#. (itstool) path: appendix/programlisting
+#: article.translate.xml:1237
+#, no-wrap
+msgid ""
+"/*-\n"
+" * Copyright (c) 2002,2003 Networks Associates Technology, Inc.\n"
+" * All rights reserved.\n"
+" *\n"
+" * This software was developed for the FreeBSD Project by ThinkSec AS and\n"
+" * Network Associates Laboratories, the Security Research Division of\n"
+" * Network Associates, Inc. under DARPA/SPAWAR contract N66001-01-C-8035\n"
+" * (\"CBOSS\"), as part of the DARPA CHATS research program.\n"
+" *\n"
+" * Redistribution and use in source and binary forms, with or without\n"
+" * modification, are permitted provided that the following conditions\n"
+" * are met:\n"
+" * 1. Redistributions of source code must retain the above copyright\n"
+" * notice, this list of conditions and the following disclaimer.\n"
+" * 2. Redistributions in binary form must reproduce the above copyright\n"
+" * notice, this list of conditions and the following disclaimer in the\n"
+" * documentation and/or other materials provided with the distribution.\n"
+" * 3. The name of the author may not be used to endorse or promote\n"
+" * products derived from this software without specific prior written\n"
+" * permission.\n"
+" *\n"
+" * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND\n"
+" * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n"
+" * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n"
+" * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE\n"
+" * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\n"
+" * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS\n"
+" * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\n"
+" * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT\n"
+" * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY\n"
+" * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF\n"
+" * SUCH DAMAGE.\n"
+" *\n"
+" * $P4: //depot/projects/openpam/bin/su/su.c#10 $\n"
+" * $FreeBSD$\n"
+" */\n"
+"\n"
+"#include &lt;sys/param.h&gt;\n"
+"#include &lt;sys/wait.h&gt;\n"
+"\n"
+"#include &lt;err.h&gt;\n"
+"#include &lt;pwd.h&gt;\n"
+"#include &lt;stdio.h&gt;\n"
+"#include &lt;stdlib.h&gt;\n"
+"#include &lt;string.h&gt;\n"
+"#include &lt;syslog.h&gt;\n"
+"#include &lt;unistd.h&gt;\n"
+"\n"
+"#include &lt;security/pam_appl.h&gt;\n"
+"#include &lt;security/openpam.h&gt;\t/* for openpam_ttyconv() */\n"
+"\n"
+"extern char **environ;\n"
+"\n"
+"static pam_handle_t *pamh;\n"
+"static struct pam_conv pamc;\n"
+"\n"
+"static void\n"
+"usage(void)\n"
+"{\n"
+"\n"
+"\tfprintf(stderr, \"Usage: su [login [args]]\\n\");\n"
+"\texit(1);\n"
+"}\n"
+"\n"
+"int\n"
+"main(int argc, char *argv[])\n"
+"{\n"
+"\tchar hostname[MAXHOSTNAMELEN];\n"
+"\tconst char *user, *tty;\n"
+"\tchar **args, **pam_envlist, **pam_env;\n"
+"\tstruct passwd *pwd;\n"
+"\tint o, pam_err, status;\n"
+"\tpid_t pid;\n"
+"\n"
+"\twhile ((o = getopt(argc, argv, \"h\")) != -1)\n"
+"\t\tswitch (o) {\n"
+"\t\tcase 'h':\n"
+"\t\tdefault:\n"
+"\t\t\tusage();\n"
+"\t\t}\n"
+"\n"
+"\targc -= optind;\n"
+"\targv += optind;\n"
+"\n"
+"\tif (argc &gt; 0) {\n"
+"\t\tuser = *argv;\n"
+"\t\t--argc;\n"
+"\t\t++argv;\n"
+"\t} else {\n"
+"\t\tuser = \"root\";\n"
+"\t}\n"
+"\n"
+"\t/* initialize PAM */\n"
+"\tpamc.conv = &amp;openpam_ttyconv;\n"
+"\tpam_start(\"su\", user, &amp;pamc, &amp;pamh);\n"
+"\n"
+"\t/* set some items */\n"
+"\tgethostname(hostname, sizeof(hostname));\n"
+"\tif ((pam_err = pam_set_item(pamh, PAM_RHOST, hostname)) != PAM_SUCCESS)\n"
+"\t\tgoto pamerr;\n"
+"\tuser = getlogin();\n"
+"\tif ((pam_err = pam_set_item(pamh, PAM_RUSER, user)) != PAM_SUCCESS)\n"
+"\t\tgoto pamerr;\n"
+"\ttty = ttyname(STDERR_FILENO);\n"
+"\tif ((pam_err = pam_set_item(pamh, PAM_TTY, tty)) != PAM_SUCCESS)\n"
+"\t\tgoto pamerr;\n"
+"\n"
+"\t/* authenticate the applicant */\n"
+"\tif ((pam_err = pam_authenticate(pamh, 0)) != PAM_SUCCESS)\n"
+"\t\tgoto pamerr;\n"
+"\tif ((pam_err = pam_acct_mgmt(pamh, 0)) == PAM_NEW_AUTHTOK_REQD)\n"
+"\t\tpam_err = pam_chauthtok(pamh, PAM_CHANGE_EXPIRED_AUTHTOK);\n"
+"\tif (pam_err != PAM_SUCCESS)\n"
+"\t\tgoto pamerr;\n"
+"\n"
+"\t/* establish the requested credentials */\n"
+"\tif ((pam_err = pam_setcred(pamh, PAM_ESTABLISH_CRED)) != PAM_SUCCESS)\n"
+"\t\tgoto pamerr;\n"
+"\n"
+"\t/* authentication succeeded; open a session */\n"
+"\tif ((pam_err = pam_open_session(pamh, 0)) != PAM_SUCCESS)\n"
+"\t\tgoto pamerr;\n"
+"\n"
+"\t/* get mapped user name; PAM may have changed it */\n"
+"\tpam_err = pam_get_item(pamh, PAM_USER, (const void **)&amp;user);\n"
+"\tif (pam_err != PAM_SUCCESS || (pwd = getpwnam(user)) == NULL)\n"
+"\t\tgoto pamerr;\n"
+"\n"
+"\t/* export PAM environment */\n"
+"\tif ((pam_envlist = pam_getenvlist(pamh)) != NULL) {\n"
+"\t\tfor (pam_env = pam_envlist; *pam_env != NULL; ++pam_env) {\n"
+"\t\t\tputenv(*pam_env);\n"
+"\t\t\tfree(*pam_env);\n"
+"\t\t}\n"
+"\t\tfree(pam_envlist);\n"
+"\t}\n"
+"\n"
+"\t/* build argument list */\n"
+"\tif ((args = calloc(argc + 2, sizeof *args)) == NULL) {\n"
+"\t\twarn(\"calloc()\");\n"
+"\t\tgoto err;\n"
+"\t}\n"
+"\t*args = pwd-&gt;pw_shell;\n"
+"\tmemcpy(args + 1, argv, argc * sizeof *args);\n"
+"\n"
+"\t/* fork and exec */\n"
+"\tswitch ((pid = fork())) {\n"
+"\tcase -1:\n"
+"\t\twarn(\"fork()\");\n"
+"\t\tgoto err;\n"
+"\tcase 0:\n"
+"\t\t/* child: give up privs and start a shell */\n"
+"\n"
+"\t\t/* set uid and groups */\n"
+"\t\tif (initgroups(pwd-&gt;pw_name, pwd-&gt;pw_gid) == -1) {\n"
+"\t\t\twarn(\"initgroups()\");\n"
+"\t\t\t_exit(1);\n"
+"\t\t}\n"
+"\t\tif (setgid(pwd-&gt;pw_gid) == -1) {\n"
+"\t\t\twarn(\"setgid()\");\n"
+"\t\t\t_exit(1);\n"
+"\t\t}\n"
+"\t\tif (setuid(pwd-&gt;pw_uid) == -1) {\n"
+"\t\t\twarn(\"setuid()\");\n"
+"\t\t\t_exit(1);\n"
+"\t\t}\n"
+"\t\texecve(*args, args, environ);\n"
+"\t\twarn(\"execve()\");\n"
+"\t\t_exit(1);\n"
+"\tdefault:\n"
+"\t\t/* parent: wait for child to exit */\n"
+"\t\twaitpid(pid, &amp;status, 0);\n"
+"\n"
+"\t\t/* close the session and release PAM resources */\n"
+"\t\tpam_err = pam_close_session(pamh, 0);\n"
+"\t\tpam_end(pamh, pam_err);\n"
+"\n"
+"\t\texit(WEXITSTATUS(status));\n"
+"\t}\n"
+"\n"
+"pamerr:\n"
+"\tfprintf(stderr, \"Sorry\\n\");\n"
+"err:\n"
+"\tpam_end(pamh, pam_err);\n"
+"\texit(1);\n"
+"}\n"
+msgstr ""
+"/*-\n"
+" * Copyright (c) 2002,2003 Networks Associates Technology, Inc.\n"
+" * All rights reserved.\n"
+" *\n"
+" * This software was developed for the FreeBSD Project by ThinkSec AS and\n"
+" * Network Associates Laboratories, the Security Research Division of\n"
+" * Network Associates, Inc. under DARPA/SPAWAR contract N66001-01-C-8035\n"
+" * (\"CBOSS\"), as part of the DARPA CHATS research program.\n"
+" *\n"
+" * Redistribution and use in source and binary forms, with or without\n"
+" * modification, are permitted provided that the following conditions\n"
+" * are met:\n"
+" * 1. Redistributions of source code must retain the above copyright\n"
+" * notice, this list of conditions and the following disclaimer.\n"
+" * 2. Redistributions in binary form must reproduce the above copyright\n"
+" * notice, this list of conditions and the following disclaimer in the\n"
+" * documentation and/or other materials provided with the distribution.\n"
+" * 3. The name of the author may not be used to endorse or promote\n"
+" * products derived from this software without specific prior written\n"
+" * permission.\n"
+" *\n"
+" * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND\n"
+" * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n"
+" * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n"
+" * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE\n"
+" * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\n"
+" * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS\n"
+" * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\n"
+" * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT\n"
+" * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY\n"
+" * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF\n"
+" * SUCH DAMAGE.\n"
+" *\n"
+" * $P4: //depot/projects/openpam/bin/su/su.c#10 $\n"
+" * $FreeBSD$\n"
+" */\n"
+"\n"
+"#include &lt;sys/param.h&gt;\n"
+"#include &lt;sys/wait.h&gt;\n"
+"\n"
+"#include &lt;err.h&gt;\n"
+"#include &lt;pwd.h&gt;\n"
+"#include &lt;stdio.h&gt;\n"
+"#include &lt;stdlib.h&gt;\n"
+"#include &lt;string.h&gt;\n"
+"#include &lt;syslog.h&gt;\n"
+"#include &lt;unistd.h&gt;\n"
+"\n"
+"#include &lt;security/pam_appl.h&gt;\n"
+"#include &lt;security/openpam.h&gt;\t/* for openpam_ttyconv() */\n"
+"\n"
+"extern char **environ;\n"
+"\n"
+"static pam_handle_t *pamh;\n"
+"static struct pam_conv pamc;\n"
+"\n"
+"static void\n"
+"usage(void)\n"
+"{\n"
+"\n"
+"\tfprintf(stderr, \"Usage: su [login [args]]\\n\");\n"
+"\texit(1);\n"
+"}\n"
+"\n"
+"int\n"
+"main(int argc, char *argv[])\n"
+"{\n"
+"\tchar hostname[MAXHOSTNAMELEN];\n"
+"\tconst char *user, *tty;\n"
+"\tchar **args, **pam_envlist, **pam_env;\n"
+"\tstruct passwd *pwd;\n"
+"\tint o, pam_err, status;\n"
+"\tpid_t pid;\n"
+"\n"
+"\twhile ((o = getopt(argc, argv, \"h\")) != -1)\n"
+"\t\tswitch (o) {\n"
+"\t\tcase 'h':\n"
+"\t\tdefault:\n"
+"\t\t\tusage();\n"
+"\t\t}\n"
+"\n"
+"\targc -= optind;\n"
+"\targv += optind;\n"
+"\n"
+"\tif (argc &gt; 0) {\n"
+"\t\tuser = *argv;\n"
+"\t\t--argc;\n"
+"\t\t++argv;\n"
+"\t} else {\n"
+"\t\tuser = \"root\";\n"
+"\t}\n"
+"\n"
+"\t/* initialize PAM */\n"
+"\tpamc.conv = &amp;openpam_ttyconv;\n"
+"\tpam_start(\"su\", user, &amp;pamc, &amp;pamh);\n"
+"\n"
+"\t/* set some items */\n"
+"\tgethostname(hostname, sizeof(hostname));\n"
+"\tif ((pam_err = pam_set_item(pamh, PAM_RHOST, hostname)) != PAM_SUCCESS)\n"
+"\t\tgoto pamerr;\n"
+"\tuser = getlogin();\n"
+"\tif ((pam_err = pam_set_item(pamh, PAM_RUSER, user)) != PAM_SUCCESS)\n"
+"\t\tgoto pamerr;\n"
+"\ttty = ttyname(STDERR_FILENO);\n"
+"\tif ((pam_err = pam_set_item(pamh, PAM_TTY, tty)) != PAM_SUCCESS)\n"
+"\t\tgoto pamerr;\n"
+"\n"
+"\t/* authenticate the applicant */\n"
+"\tif ((pam_err = pam_authenticate(pamh, 0)) != PAM_SUCCESS)\n"
+"\t\tgoto pamerr;\n"
+"\tif ((pam_err = pam_acct_mgmt(pamh, 0)) == PAM_NEW_AUTHTOK_REQD)\n"
+"\t\tpam_err = pam_chauthtok(pamh, PAM_CHANGE_EXPIRED_AUTHTOK);\n"
+"\tif (pam_err != PAM_SUCCESS)\n"
+"\t\tgoto pamerr;\n"
+"\n"
+"\t/* establish the requested credentials */\n"
+"\tif ((pam_err = pam_setcred(pamh, PAM_ESTABLISH_CRED)) != PAM_SUCCESS)\n"
+"\t\tgoto pamerr;\n"
+"\n"
+"\t/* authentication succeeded; open a session */\n"
+"\tif ((pam_err = pam_open_session(pamh, 0)) != PAM_SUCCESS)\n"
+"\t\tgoto pamerr;\n"
+"\n"
+"\t/* get mapped user name; PAM may have changed it */\n"
+"\tpam_err = pam_get_item(pamh, PAM_USER, (const void **)&amp;user);\n"
+"\tif (pam_err != PAM_SUCCESS || (pwd = getpwnam(user)) == NULL)\n"
+"\t\tgoto pamerr;\n"
+"\n"
+"\t/* export PAM environment */\n"
+"\tif ((pam_envlist = pam_getenvlist(pamh)) != NULL) {\n"
+"\t\tfor (pam_env = pam_envlist; *pam_env != NULL; ++pam_env) {\n"
+"\t\t\tputenv(*pam_env);\n"
+"\t\t\tfree(*pam_env);\n"
+"\t\t}\n"
+"\t\tfree(pam_envlist);\n"
+"\t}\n"
+"\n"
+"\t/* build argument list */\n"
+"\tif ((args = calloc(argc + 2, sizeof *args)) == NULL) {\n"
+"\t\twarn(\"calloc()\");\n"
+"\t\tgoto err;\n"
+"\t}\n"
+"\t*args = pwd-&gt;pw_shell;\n"
+"\tmemcpy(args + 1, argv, argc * sizeof *args);\n"
+"\n"
+"\t/* fork and exec */\n"
+"\tswitch ((pid = fork())) {\n"
+"\tcase -1:\n"
+"\t\twarn(\"fork()\");\n"
+"\t\tgoto err;\n"
+"\tcase 0:\n"
+"\t\t/* child: give up privs and start a shell */\n"
+"\n"
+"\t\t/* set uid and groups */\n"
+"\t\tif (initgroups(pwd-&gt;pw_name, pwd-&gt;pw_gid) == -1) {\n"
+"\t\t\twarn(\"initgroups()\");\n"
+"\t\t\t_exit(1);\n"
+"\t\t}\n"
+"\t\tif (setgid(pwd-&gt;pw_gid) == -1) {\n"
+"\t\t\twarn(\"setgid()\");\n"
+"\t\t\t_exit(1);\n"
+"\t\t}\n"
+"\t\tif (setuid(pwd-&gt;pw_uid) == -1) {\n"
+"\t\t\twarn(\"setuid()\");\n"
+"\t\t\t_exit(1);\n"
+"\t\t}\n"
+"\t\texecve(*args, args, environ);\n"
+"\t\twarn(\"execve()\");\n"
+"\t\t_exit(1);\n"
+"\tdefault:\n"
+"\t\t/* parent: wait for child to exit */\n"
+"\t\twaitpid(pid, &amp;status, 0);\n"
+"\n"
+"\t\t/* close the session and release PAM resources */\n"
+"\t\tpam_err = pam_close_session(pamh, 0);\n"
+"\t\tpam_end(pamh, pam_err);\n"
+"\n"
+"\t\texit(WEXITSTATUS(status));\n"
+"\t}\n"
+"\n"
+"pamerr:\n"
+"\tfprintf(stderr, \"Sorry\\n\");\n"
+"err:\n"
+"\tpam_end(pamh, pam_err);\n"
+"\texit(1);\n"
+"}\n"
+
+#. (itstool) path: appendix/title
+#. (itstool) id: article.translate.xml#pam-sample-module.title
+#: article.translate.xml:1427
+msgid "Sample PAM Module"
+msgstr "Exemplo do módulo PAM"
+
+#. (itstool) path: appendix/para
+#: article.translate.xml:1429
+msgid ""
+"The following is a minimal implementation of "
+"<citerefentry><refentrytitle>pam_unix</refentrytitle><manvolnum>8</"
+"manvolnum></citerefentry>, 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 "
+"<citerefentry><refentrytitle>pam_get_authtok</refentrytitle><manvolnum>3</"
+"manvolnum></citerefentry>, which enormously simplifies prompting the user "
+"for a password."
+msgstr ""
+"Segue-se uma implementação mínima de <citerefentry><refentrytitle>pam_unix</"
+"refentrytitle><manvolnum>8</manvolnum></citerefentry>, oferecendo apenas "
+"serviços de autenticação. Ele deve ser compilado e executado com a maioria "
+"das implementações do PAM, mas aproveita as extensões do OpenPAM, se "
+"disponível: observe o uso de <citerefentry><refentrytitle>pam_get_authtok</"
+"refentrytitle><manvolnum>3</manvolnum></citerefentry>, que simplifica "
+"enormemente solicitando ao usuário uma senha."
+
+#. (itstool) path: appendix/programlisting
+#: article.translate.xml:1436
+#, no-wrap
+msgid ""
+"/*-\n"
+" * Copyright (c) 2002 Networks Associates Technology, Inc.\n"
+" * All rights reserved.\n"
+" *\n"
+" * This software was developed for the FreeBSD Project by ThinkSec AS and\n"
+" * Network Associates Laboratories, the Security Research Division of\n"
+" * Network Associates, Inc. under DARPA/SPAWAR contract N66001-01-C-8035\n"
+" * (\"CBOSS\"), as part of the DARPA CHATS research program.\n"
+" *\n"
+" * Redistribution and use in source and binary forms, with or without\n"
+" * modification, are permitted provided that the following conditions\n"
+" * are met:\n"
+" * 1. Redistributions of source code must retain the above copyright\n"
+" * notice, this list of conditions and the following disclaimer.\n"
+" * 2. Redistributions in binary form must reproduce the above copyright\n"
+" * notice, this list of conditions and the following disclaimer in the\n"
+" * documentation and/or other materials provided with the distribution.\n"
+" * 3. The name of the author may not be used to endorse or promote\n"
+" * products derived from this software without specific prior written\n"
+" * permission.\n"
+" *\n"
+" * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND\n"
+" * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n"
+" * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n"
+" * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE\n"
+" * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\n"
+" * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS\n"
+" * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\n"
+" * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT\n"
+" * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY\n"
+" * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF\n"
+" * SUCH DAMAGE.\n"
+" *\n"
+" * $P4: //depot/projects/openpam/modules/pam_unix/pam_unix.c#3 $\n"
+" * $FreeBSD$\n"
+" */\n"
+"\n"
+"#include &lt;sys/param.h&gt;\n"
+"\n"
+"#include &lt;pwd.h&gt;\n"
+"#include &lt;stdlib.h&gt;\n"
+"#include &lt;stdio.h&gt;\n"
+"#include &lt;string.h&gt;\n"
+"#include &lt;unistd.h&gt;\n"
+"\n"
+"#include &lt;security/pam_modules.h&gt;\n"
+"#include &lt;security/pam_appl.h&gt;\n"
+"\n"
+"#ifndef _OPENPAM\n"
+"static char password_prompt[] = \"Password:\";\n"
+"#endif\n"
+"\n"
+"#ifndef PAM_EXTERN\n"
+"#define PAM_EXTERN\n"
+"#endif\n"
+"\n"
+"PAM_EXTERN int\n"
+"pam_sm_authenticate(pam_handle_t *pamh, int flags,\n"
+"\tint argc, const char *argv[])\n"
+"{\n"
+"#ifndef _OPENPAM\n"
+"\tstruct pam_conv *conv;\n"
+"\tstruct pam_message msg;\n"
+"\tconst struct pam_message *msgp;\n"
+"\tstruct pam_response *resp;\n"
+"#endif\n"
+"\tstruct passwd *pwd;\n"
+"\tconst char *user;\n"
+"\tchar *crypt_password, *password;\n"
+"\tint pam_err, retry;\n"
+"\n"
+"\t/* identify user */\n"
+"\tif ((pam_err = pam_get_user(pamh, &amp;user, NULL)) != PAM_SUCCESS)\n"
+"\t\treturn (pam_err);\n"
+"\tif ((pwd = getpwnam(user)) == NULL)\n"
+"\t\treturn (PAM_USER_UNKNOWN);\n"
+"\n"
+"\t/* get password */\n"
+"#ifndef _OPENPAM\n"
+"\tpam_err = pam_get_item(pamh, PAM_CONV, (const void **)&amp;conv);\n"
+"\tif (pam_err != PAM_SUCCESS)\n"
+"\t\treturn (PAM_SYSTEM_ERR);\n"
+"\tmsg.msg_style = PAM_PROMPT_ECHO_OFF;\n"
+"\tmsg.msg = password_prompt;\n"
+"\tmsgp = &amp;msg;\n"
+"#endif\n"
+"\tfor (retry = 0; retry &lt; 3; ++retry) {\n"
+"#ifdef _OPENPAM\n"
+"\t\tpam_err = pam_get_authtok(pamh, PAM_AUTHTOK,\n"
+"\t\t (const char **)&amp;password, NULL);\n"
+"#else\n"
+"\t\tresp = NULL;\n"
+"\t\tpam_err = (*conv-&gt;conv)(1, &amp;msgp, &amp;resp, conv-&gt;appdata_ptr);\n"
+"\t\tif (resp != NULL) {\n"
+"\t\t\tif (pam_err == PAM_SUCCESS)\n"
+"\t\t\t\tpassword = resp-&gt;resp;\n"
+"\t\t\telse\n"
+"\t\t\t\tfree(resp-&gt;resp);\n"
+"\t\t\tfree(resp);\n"
+"\t\t}\n"
+"#endif\n"
+"\t\tif (pam_err == PAM_SUCCESS)\n"
+"\t\t\tbreak;\n"
+"\t}\n"
+"\tif (pam_err == PAM_CONV_ERR)\n"
+"\t\treturn (pam_err);\n"
+"\tif (pam_err != PAM_SUCCESS)\n"
+"\t\treturn (PAM_AUTH_ERR);\n"
+"\n"
+"\t/* compare passwords */\n"
+"\tif ((!pwd-&gt;pw_passwd[0] &amp;&amp; (flags &amp; PAM_DISALLOW_NULL_AUTHTOK)) ||\n"
+"\t (crypt_password = crypt(password, pwd-&gt;pw_passwd)) == NULL ||\n"
+"\t strcmp(crypt_password, pwd-&gt;pw_passwd) != 0)\n"
+"\t\tpam_err = PAM_AUTH_ERR;\n"
+"\telse\n"
+"\t\tpam_err = PAM_SUCCESS;\n"
+"#ifndef _OPENPAM\n"
+"\tfree(password);\n"
+"#endif\n"
+"\treturn (pam_err);\n"
+"}\n"
+"\n"
+"PAM_EXTERN int\n"
+"pam_sm_setcred(pam_handle_t *pamh, int flags,\n"
+"\tint argc, const char *argv[])\n"
+"{\n"
+"\n"
+"\treturn (PAM_SUCCESS);\n"
+"}\n"
+"\n"
+"PAM_EXTERN int\n"
+"pam_sm_acct_mgmt(pam_handle_t *pamh, int flags,\n"
+"\tint argc, const char *argv[])\n"
+"{\n"
+"\n"
+"\treturn (PAM_SUCCESS);\n"
+"}\n"
+"\n"
+"PAM_EXTERN int\n"
+"pam_sm_open_session(pam_handle_t *pamh, int flags,\n"
+"\tint argc, const char *argv[])\n"
+"{\n"
+"\n"
+"\treturn (PAM_SUCCESS);\n"
+"}\n"
+"\n"
+"PAM_EXTERN int\n"
+"pam_sm_close_session(pam_handle_t *pamh, int flags,\n"
+"\tint argc, const char *argv[])\n"
+"{\n"
+"\n"
+"\treturn (PAM_SUCCESS);\n"
+"}\n"
+"\n"
+"PAM_EXTERN int\n"
+"pam_sm_chauthtok(pam_handle_t *pamh, int flags,\n"
+"\tint argc, const char *argv[])\n"
+"{\n"
+"\n"
+"\treturn (PAM_SERVICE_ERR);\n"
+"}\n"
+"\n"
+"#ifdef PAM_MODULE_ENTRY\n"
+"PAM_MODULE_ENTRY(\"pam_unix\");\n"
+"#endif\n"
+msgstr ""
+"/*-\n"
+" * Copyright (c) 2002 Networks Associates Technology, Inc.\n"
+" * All rights reserved.\n"
+" *\n"
+" * This software was developed for the FreeBSD Project by ThinkSec AS and\n"
+" * Network Associates Laboratories, the Security Research Division of\n"
+" * Network Associates, Inc. under DARPA/SPAWAR contract N66001-01-C-8035\n"
+" * (\"CBOSS\"), as part of the DARPA CHATS research program.\n"
+" *\n"
+" * Redistribution and use in source and binary forms, with or without\n"
+" * modification, are permitted provided that the following conditions\n"
+" * are met:\n"
+" * 1. Redistributions of source code must retain the above copyright\n"
+" * notice, this list of conditions and the following disclaimer.\n"
+" * 2. Redistributions in binary form must reproduce the above copyright\n"
+" * notice, this list of conditions and the following disclaimer in the\n"
+" * documentation and/or other materials provided with the distribution.\n"
+" * 3. The name of the author may not be used to endorse or promote\n"
+" * products derived from this software without specific prior written\n"
+" * permission.\n"
+" *\n"
+" * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND\n"
+" * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n"
+" * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n"
+" * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE\n"
+" * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\n"
+" * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS\n"
+" * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\n"
+" * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT\n"
+" * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY\n"
+" * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF\n"
+" * SUCH DAMAGE.\n"
+" *\n"
+" * $P4: //depot/projects/openpam/modules/pam_unix/pam_unix.c#3 $\n"
+" * $FreeBSD$\n"
+" */\n"
+"\n"
+"#include &lt;sys/param.h&gt;\n"
+"\n"
+"#include &lt;pwd.h&gt;\n"
+"#include &lt;stdlib.h&gt;\n"
+"#include &lt;stdio.h&gt;\n"
+"#include &lt;string.h&gt;\n"
+"#include &lt;unistd.h&gt;\n"
+"\n"
+"#include &lt;security/pam_modules.h&gt;\n"
+"#include &lt;security/pam_appl.h&gt;\n"
+"\n"
+"#ifndef _OPENPAM\n"
+"static char password_prompt[] = \"Password:\";\n"
+"#endif\n"
+"\n"
+"#ifndef PAM_EXTERN\n"
+"#define PAM_EXTERN\n"
+"#endif\n"
+"\n"
+"PAM_EXTERN int\n"
+"pam_sm_authenticate(pam_handle_t *pamh, int flags,\n"
+"\tint argc, const char *argv[])\n"
+"{\n"
+"#ifndef _OPENPAM\n"
+"\tstruct pam_conv *conv;\n"
+"\tstruct pam_message msg;\n"
+"\tconst struct pam_message *msgp;\n"
+"\tstruct pam_response *resp;\n"
+"#endif\n"
+"\tstruct passwd *pwd;\n"
+"\tconst char *user;\n"
+"\tchar *crypt_password, *password;\n"
+"\tint pam_err, retry;\n"
+"\n"
+"\t/* identify user */\n"
+"\tif ((pam_err = pam_get_user(pamh, &amp;user, NULL)) != PAM_SUCCESS)\n"
+"\t\treturn (pam_err);\n"
+"\tif ((pwd = getpwnam(user)) == NULL)\n"
+"\t\treturn (PAM_USER_UNKNOWN);\n"
+"\n"
+"\t/* get password */\n"
+"#ifndef _OPENPAM\n"
+"\tpam_err = pam_get_item(pamh, PAM_CONV, (const void **)&amp;conv);\n"
+"\tif (pam_err != PAM_SUCCESS)\n"
+"\t\treturn (PAM_SYSTEM_ERR);\n"
+"\tmsg.msg_style = PAM_PROMPT_ECHO_OFF;\n"
+"\tmsg.msg = password_prompt;\n"
+"\tmsgp = &amp;msg;\n"
+"#endif\n"
+"\tfor (retry = 0; retry &lt; 3; ++retry) {\n"
+"#ifdef _OPENPAM\n"
+"\t\tpam_err = pam_get_authtok(pamh, PAM_AUTHTOK,\n"
+"\t\t (const char **)&amp;password, NULL);\n"
+"#else\n"
+"\t\tresp = NULL;\n"
+"\t\tpam_err = (*conv-&gt;conv)(1, &amp;msgp, &amp;resp, conv-&gt;appdata_ptr);\n"
+"\t\tif (resp != NULL) {\n"
+"\t\t\tif (pam_err == PAM_SUCCESS)\n"
+"\t\t\t\tpassword = resp-&gt;resp;\n"
+"\t\t\telse\n"
+"\t\t\t\tfree(resp-&gt;resp);\n"
+"\t\t\tfree(resp);\n"
+"\t\t}\n"
+"#endif\n"
+"\t\tif (pam_err == PAM_SUCCESS)\n"
+"\t\t\tbreak;\n"
+"\t}\n"
+"\tif (pam_err == PAM_CONV_ERR)\n"
+"\t\treturn (pam_err);\n"
+"\tif (pam_err != PAM_SUCCESS)\n"
+"\t\treturn (PAM_AUTH_ERR);\n"
+"\n"
+"\t/* compare passwords */\n"
+"\tif ((!pwd-&gt;pw_passwd[0] &amp;&amp; (flags &amp; PAM_DISALLOW_NULL_AUTHTOK)) ||\n"
+"\t (crypt_password = crypt(password, pwd-&gt;pw_passwd)) == NULL ||\n"
+"\t strcmp(crypt_password, pwd-&gt;pw_passwd) != 0)\n"
+"\t\tpam_err = PAM_AUTH_ERR;\n"
+"\telse\n"
+"\t\tpam_err = PAM_SUCCESS;\n"
+"#ifndef _OPENPAM\n"
+"\tfree(password);\n"
+"#endif\n"
+"\treturn (pam_err);\n"
+"}\n"
+"\n"
+"PAM_EXTERN int\n"
+"pam_sm_setcred(pam_handle_t *pamh, int flags,\n"
+"\tint argc, const char *argv[])\n"
+"{\n"
+"\n"
+"\treturn (PAM_SUCCESS);\n"
+"}\n"
+"\n"
+"PAM_EXTERN int\n"
+"pam_sm_acct_mgmt(pam_handle_t *pamh, int flags,\n"
+"\tint argc, const char *argv[])\n"
+"{\n"
+"\n"
+"\treturn (PAM_SUCCESS);\n"
+"}\n"
+"\n"
+"PAM_EXTERN int\n"
+"pam_sm_open_session(pam_handle_t *pamh, int flags,\n"
+"\tint argc, const char *argv[])\n"
+"{\n"
+"\n"
+"\treturn (PAM_SUCCESS);\n"
+"}\n"
+"\n"
+"PAM_EXTERN int\n"
+"pam_sm_close_session(pam_handle_t *pamh, int flags,\n"
+"\tint argc, const char *argv[])\n"
+"{\n"
+"\n"
+"\treturn (PAM_SUCCESS);\n"
+"}\n"
+"\n"
+"PAM_EXTERN int\n"
+"pam_sm_chauthtok(pam_handle_t *pamh, int flags,\n"
+"\tint argc, const char *argv[])\n"
+"{\n"
+"\n"
+"\treturn (PAM_SERVICE_ERR);\n"
+"}\n"
+"\n"
+"#ifdef PAM_MODULE_ENTRY\n"
+"PAM_MODULE_ENTRY(\"pam_unix\");\n"
+"#endif\n"
+
+#. (itstool) path: appendix/title
+#. (itstool) id: article.translate.xml#pam-sample-conv.title
+#: article.translate.xml:1605
+msgid "Sample PAM Conversation Function"
+msgstr "Exemplo de função de conversação PAM"
+
+#. (itstool) path: appendix/para
+#: article.translate.xml:1608
+msgid ""
+"The conversation function presented below is a greatly simplified version of "
+"OpenPAM's <citerefentry><refentrytitle>openpam_ttyconv</"
+"refentrytitle><manvolnum>3</manvolnum></citerefentry>. 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 "
+"<citerefentry><refentrytitle>openpam_ttyconv</refentrytitle><manvolnum>3</"
+"manvolnum></citerefentry> to your uses; we believe it to be as robust as a "
+"tty-oriented conversation function can reasonably get."
+msgstr ""
+"A função de conversação apresentada abaixo é uma versão bastante "
+"simplificada do <citerefentry><refentrytitle>openpam_ttyconv</"
+"refentrytitle><manvolnum></manvolnum></citerefentry> do OpenPAM. Ele é "
+"totalmente funcional e deve dar ao leitor uma boa ideia de como uma função "
+"de conversa deve se comportar, mas é simples demais para uso no mundo real. "
+"Mesmo se você não estiver usando o OpenPAM, sinta-se à vontade para baixar o "
+"código-fonte e adaptar <citerefentry><refentrytitle>openpam_ttyconv</"
+"refentrytitle><manvolnum>3</manvolnum></citerefentry> aos seus usos; "
+"acreditamos que seja tão robusto quanto uma função de conversa orientada "
+"para tty pode razoavelmente ser."
+
+#. (itstool) path: appendix/programlisting
+#: article.translate.xml:1617
+#, no-wrap
+msgid ""
+"/*-\n"
+" * Copyright (c) 2002 Networks Associates Technology, Inc.\n"
+" * All rights reserved.\n"
+" *\n"
+" * This software was developed for the FreeBSD Project by ThinkSec AS and\n"
+" * Network Associates Laboratories, the Security Research Division of\n"
+" * Network Associates, Inc. under DARPA/SPAWAR contract N66001-01-C-8035\n"
+" * (\"CBOSS\"), as part of the DARPA CHATS research program.\n"
+" *\n"
+" * Redistribution and use in source and binary forms, with or without\n"
+" * modification, are permitted provided that the following conditions\n"
+" * are met:\n"
+" * 1. Redistributions of source code must retain the above copyright\n"
+" * notice, this list of conditions and the following disclaimer.\n"
+" * 2. Redistributions in binary form must reproduce the above copyright\n"
+" * notice, this list of conditions and the following disclaimer in the\n"
+" * documentation and/or other materials provided with the distribution.\n"
+" * 3. The name of the author may not be used to endorse or promote\n"
+" * products derived from this software without specific prior written\n"
+" * permission.\n"
+" *\n"
+" * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND\n"
+" * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n"
+" * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n"
+" * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE\n"
+" * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\n"
+" * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS\n"
+" * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\n"
+" * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT\n"
+" * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY\n"
+" * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF\n"
+" * SUCH DAMAGE.\n"
+" *\n"
+" * $FreeBSD$\n"
+" */\n"
+"\n"
+"#include &lt;stdio.h&gt;\n"
+"#include &lt;stdlib.h&gt;\n"
+"#include &lt;string.h&gt;\n"
+"#include &lt;unistd.h&gt;\n"
+"\n"
+"#include &lt;security/pam_appl.h&gt;\n"
+"\n"
+"int\n"
+"converse(int n, const struct pam_message **msg,\n"
+"\tstruct pam_response **resp, void *data)\n"
+"{\n"
+"\tstruct pam_response *aresp;\n"
+"\tchar buf[PAM_MAX_RESP_SIZE];\n"
+"\tint i;\n"
+"\n"
+"\tdata = data;\n"
+"\tif (n &lt;= 0 || n &gt; PAM_MAX_NUM_MSG)\n"
+"\t\treturn (PAM_CONV_ERR);\n"
+"\tif ((aresp = calloc(n, sizeof *aresp)) == NULL)\n"
+"\t\treturn (PAM_BUF_ERR);\n"
+"\tfor (i = 0; i &lt; n; ++i) {\n"
+"\t\taresp[i].resp_retcode = 0;\n"
+"\t\taresp[i].resp = NULL;\n"
+"\t\tswitch (msg[i]-&gt;msg_style) {\n"
+"\t\tcase PAM_PROMPT_ECHO_OFF:\n"
+"\t\t\taresp[i].resp = strdup(getpass(msg[i]-&gt;msg));\n"
+"\t\t\tif (aresp[i].resp == NULL)\n"
+"\t\t\t\tgoto fail;\n"
+"\t\t\tbreak;\n"
+"\t\tcase PAM_PROMPT_ECHO_ON:\n"
+"\t\t\tfputs(msg[i]-&gt;msg, stderr);\n"
+"\t\t\tif (fgets(buf, sizeof buf, stdin) == NULL)\n"
+"\t\t\t\tgoto fail;\n"
+"\t\t\taresp[i].resp = strdup(buf);\n"
+"\t\t\tif (aresp[i].resp == NULL)\n"
+"\t\t\t\tgoto fail;\n"
+"\t\t\tbreak;\n"
+"\t\tcase PAM_ERROR_MSG:\n"
+"\t\t\tfputs(msg[i]-&gt;msg, stderr);\n"
+"\t\t\tif (strlen(msg[i]-&gt;msg) &gt; 0 &amp;&amp;\n"
+"\t\t\t msg[i]-&gt;msg[strlen(msg[i]-&gt;msg) - 1] != '\\n')\n"
+"\t\t\t\tfputc('\\n', stderr);\n"
+"\t\t\tbreak;\n"
+"\t\tcase PAM_TEXT_INFO:\n"
+"\t\t\tfputs(msg[i]-&gt;msg, stdout);\n"
+"\t\t\tif (strlen(msg[i]-&gt;msg) &gt; 0 &amp;&amp;\n"
+"\t\t\t msg[i]-&gt;msg[strlen(msg[i]-&gt;msg) - 1] != '\\n')\n"
+"\t\t\t\tfputc('\\n', stdout);\n"
+"\t\t\tbreak;\n"
+"\t\tdefault:\n"
+"\t\t\tgoto fail;\n"
+"\t\t}\n"
+"\t}\n"
+"\t*resp = aresp;\n"
+"\treturn (PAM_SUCCESS);\n"
+" fail:\n"
+" for (i = 0; i &lt; n; ++i) {\n"
+" if (aresp[i].resp != NULL) {\n"
+" memset(aresp[i].resp, 0, strlen(aresp[i].resp));\n"
+" free(aresp[i].resp);\n"
+" }\n"
+" }\n"
+" memset(aresp, 0, n * sizeof *aresp);\n"
+"\t*resp = NULL;\n"
+"\treturn (PAM_CONV_ERR);\n"
+"}\n"
+msgstr ""
+"/*-\n"
+" * Copyright (c) 2002 Networks Associates Technology, Inc.\n"
+" * All rights reserved.\n"
+" *\n"
+" * This software was developed for the FreeBSD Project by ThinkSec AS and\n"
+" * Network Associates Laboratories, the Security Research Division of\n"
+" * Network Associates, Inc. under DARPA/SPAWAR contract N66001-01-C-8035\n"
+" * (\"CBOSS\"), as part of the DARPA CHATS research program.\n"
+" *\n"
+" * Redistribution and use in source and binary forms, with or without\n"
+" * modification, are permitted provided that the following conditions\n"
+" * are met:\n"
+" * 1. Redistributions of source code must retain the above copyright\n"
+" * notice, this list of conditions and the following disclaimer.\n"
+" * 2. Redistributions in binary form must reproduce the above copyright\n"
+" * notice, this list of conditions and the following disclaimer in the\n"
+" * documentation and/or other materials provided with the distribution.\n"
+" * 3. The name of the author may not be used to endorse or promote\n"
+" * products derived from this software without specific prior written\n"
+" * permission.\n"
+" *\n"
+" * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND\n"
+" * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n"
+" * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n"
+" * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE\n"
+" * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\n"
+" * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS\n"
+" * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\n"
+" * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT\n"
+" * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY\n"
+" * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF\n"
+" * SUCH DAMAGE.\n"
+" *\n"
+" * $FreeBSD$\n"
+" */\n"
+"\n"
+"#include &lt;stdio.h&gt;\n"
+"#include &lt;stdlib.h&gt;\n"
+"#include &lt;string.h&gt;\n"
+"#include &lt;unistd.h&gt;\n"
+"\n"
+"#include &lt;security/pam_appl.h&gt;\n"
+"\n"
+"int\n"
+"converse(int n, const struct pam_message **msg,\n"
+"\tstruct pam_response **resp, void *data)\n"
+"{\n"
+"\tstruct pam_response *aresp;\n"
+"\tchar buf[PAM_MAX_RESP_SIZE];\n"
+"\tint i;\n"
+"\n"
+"\tdata = data;\n"
+"\tif (n &lt;= 0 || n &gt; PAM_MAX_NUM_MSG)\n"
+"\t\treturn (PAM_CONV_ERR);\n"
+"\tif ((aresp = calloc(n, sizeof *aresp)) == NULL)\n"
+"\t\treturn (PAM_BUF_ERR);\n"
+"\tfor (i = 0; i &lt; n; ++i) {\n"
+"\t\taresp[i].resp_retcode = 0;\n"
+"\t\taresp[i].resp = NULL;\n"
+"\t\tswitch (msg[i]-&gt;msg_style) {\n"
+"\t\tcase PAM_PROMPT_ECHO_OFF:\n"
+"\t\t\taresp[i].resp = strdup(getpass(msg[i]-&gt;msg));\n"
+"\t\t\tif (aresp[i].resp == NULL)\n"
+"\t\t\t\tgoto fail;\n"
+"\t\t\tbreak;\n"
+"\t\tcase PAM_PROMPT_ECHO_ON:\n"
+"\t\t\tfputs(msg[i]-&gt;msg, stderr);\n"
+"\t\t\tif (fgets(buf, sizeof buf, stdin) == NULL)\n"
+"\t\t\t\tgoto fail;\n"
+"\t\t\taresp[i].resp = strdup(buf);\n"
+"\t\t\tif (aresp[i].resp == NULL)\n"
+"\t\t\t\tgoto fail;\n"
+"\t\t\tbreak;\n"
+"\t\tcase PAM_ERROR_MSG:\n"
+"\t\t\tfputs(msg[i]-&gt;msg, stderr);\n"
+"\t\t\tif (strlen(msg[i]-&gt;msg) &gt; 0 &amp;&amp;\n"
+"\t\t\t msg[i]-&gt;msg[strlen(msg[i]-&gt;msg) - 1] != '\\n')\n"
+"\t\t\t\tfputc('\\n', stderr);\n"
+"\t\t\tbreak;\n"
+"\t\tcase PAM_TEXT_INFO:\n"
+"\t\t\tfputs(msg[i]-&gt;msg, stdout);\n"
+"\t\t\tif (strlen(msg[i]-&gt;msg) &gt; 0 &amp;&amp;\n"
+"\t\t\t msg[i]-&gt;msg[strlen(msg[i]-&gt;msg) - 1] != '\\n')\n"
+"\t\t\t\tfputc('\\n', stdout);\n"
+"\t\t\tbreak;\n"
+"\t\tdefault:\n"
+"\t\t\tgoto fail;\n"
+"\t\t}\n"
+"\t}\n"
+"\t*resp = aresp;\n"
+"\treturn (PAM_SUCCESS);\n"
+" fail:\n"
+" for (i = 0; i &lt; n; ++i) {\n"
+" if (aresp[i].resp != NULL) {\n"
+" memset(aresp[i].resp, 0, strlen(aresp[i].resp));\n"
+" free(aresp[i].resp);\n"
+" }\n"
+" }\n"
+" memset(aresp, 0, n * sizeof *aresp);\n"
+"\t*resp = NULL;\n"
+"\treturn (PAM_CONV_ERR);\n"
+"}\n"
+
+#. (itstool) path: info/title
+#. (itstool) id: article.translate.xml#pam-further.title
+#: article.translate.xml:1723
+msgid "Further Reading"
+msgstr "Leitura Adicional"
+
+#. (itstool) path: abstract/para
+#: article.translate.xml:1727
+msgid ""
+"This is a list of documents relevant to PAM and related issues. It is by no "
+"means complete."
+msgstr ""
+"Esta é uma lista de documentos relevantes para o PAM e questões "
+"relacionadas. Não está de modo algum completo."
+
+#. (itstool) path: bibliodiv/title
+#: article.translate.xml:1733
+msgid "Papers"
+msgstr "Papers"
+
+#. (itstool) path: biblioentry/citetitle
+#: article.translate.xml:1736
+msgid ""
+"<link xlink:href=\"http://www.sun.com/software/solaris/pam/pam.external.pdf"
+"\"> Making Login Services Independent of Authentication Technologies</link>"
+msgstr ""
+"<link xlink:href=\"http://www.sun.com/software/solaris/pam/pam.external.pdf"
+"\">Tornando os serviços de login independentes das tecnologias de "
+"autenticação</link>"
+
+#. (itstool) path: authorgroup/author
+#: article.translate.xml:1740
+msgid ""
+"<personname><surname>Samar</surname><firstname>Vipin</firstname></personname>"
+msgstr ""
+"<personname><surname>Samar</surname><firstname>Vipin</firstname></personname>"
+
+#. (itstool) path: authorgroup/author
+#: article.translate.xml:1741
+msgid ""
+"<personname><surname>Lai</surname><firstname>Charlie</firstname></personname>"
+msgstr ""
+"<personname><surname>Lai</surname><firstname>Charlie</firstname></personname>"
+
+#. (itstool) path: biblioentry/orgname
+#: article.translate.xml:1743 article.translate.xml:1768
+#: article.translate.xml:1788
+msgid "Sun Microsystems"
+msgstr "Sun Microsystems"
+
+#. (itstool) path: biblioentry/citetitle
+#: article.translate.xml:1747
+msgid ""
+"<link xlink:href=\"http://www.opengroup.org/pubs/catalog/p702.htm\">X/Open "
+"Single Sign-on Preliminary Specification</link>"
+msgstr ""
+"<link xlink:href=\"http://www.opengroup.org/pubs/catalog/p702.htm"
+"\">Especificação Preliminar do X/Open Single Sign-on</link>"
+
+#. (itstool) path: biblioentry/orgname
+#: article.translate.xml:1749
+msgid "The Open Group"
+msgstr "O grupo aberto"
+
+#. (itstool) path: biblioentry/biblioid
+#: article.translate.xml:1750
+msgid "1-85912-144-6"
+msgstr "1-85912-144-6"
+
+#. (itstool) path: biblioentry/pubdate
+#: article.translate.xml:1751
+msgid "June 1997"
+msgstr "Junho de 1997"
+
+#. (itstool) path: biblioentry/citetitle
+#: article.translate.xml:1755
+msgid ""
+"<link xlink:href=\"http://www.kernel.org/pub/linux/libs/pam/pre/doc/current-"
+"draft.txt\"> Pluggable Authentication Modules</link>"
+msgstr ""
+"<link xlink:href=\"http://www.kernel.org/pub/linux/libs/pam/pre/doc/current-"
+"draft.txt\">Módulos de autenticação plugáveis​​</link>"
+
+#. (itstool) path: biblioentry/author
+#: article.translate.xml:1757 article.translate.xml:1783
+msgid ""
+"<personname><surname>Morgan</surname><firstname>Andrew</firstname><othername "
+"role=\"mi\">G.</othername></personname>"
+msgstr ""
+"<personname><surname>Morgan</surname><firstname>Andrew</firstname><othername "
+"role=\"mi\">G.</othername></personname>"
+
+#. (itstool) path: biblioentry/pubdate
+#: article.translate.xml:1758
+msgid "1999-10-06"
+msgstr "06-10-1999"
+
+#. (itstool) path: bibliodiv/title
+#: article.translate.xml:1763
+msgid "User Manuals"
+msgstr "Manuais do usuário"
+
+#. (itstool) path: biblioentry/citetitle
+#: article.translate.xml:1766
+msgid ""
+"<link xlink:href=\"http://www.sun.com/software/solaris/pam/pam.admin.pdf"
+"\">PAM Administration</link>"
+msgstr ""
+"<link xlink:href=\"http://www.sun.com/software/solaris/pam/pam.admin.pdf"
+"\">Administração do PAM</link>"
+
+#. (itstool) path: bibliodiv/title
+#: article.translate.xml:1773
+msgid "Related Web pages"
+msgstr "Páginas Web relacionadas"
+
+#. (itstool) path: biblioentry/citetitle
+#: article.translate.xml:1776
+msgid ""
+"<link xlink:href=\"http://openpam.sourceforge.net/\">OpenPAM homepage</link>"
+msgstr ""
+"<link xlink:href=\"http://openpam.sourceforge.net/\">Homepage do OpenPAM</"
+"link>"
+
+#. (itstool) path: biblioentry/author
+#: article.translate.xml:1777
+msgid ""
+"<personname><surname>Smørgrav</surname><firstname>Dag-Erling</firstname></"
+"personname>"
+msgstr ""
+"<personname><surname>Smørgrav</surname><firstname>Dag-Erling</firstname></"
+"personname>"
+
+#. (itstool) path: biblioentry/orgname
+#: article.translate.xml:1778
+msgid "ThinkSec AS"
+msgstr "ThinkSec AS"
+
+#. (itstool) path: biblioentry/citetitle
+#: article.translate.xml:1782
+msgid ""
+"<link xlink:href=\"http://www.kernel.org/pub/linux/libs/pam/\">Linux-PAM "
+"homepage</link>"
+msgstr ""
+"<link xlink:href=\"http://www.kernel.org/pub/linux/libs/pam/\">Página "
+"inicial do Linux-PAM</link>"
+
+#. (itstool) path: biblioentry/citetitle
+#: article.translate.xml:1787
+msgid ""
+"<link xlink:href=\"http://wwws.sun.com/software/solaris/pam/\">Solaris PAM "
+"homepage</link>"
+msgstr ""
+"<link xlink:href=\"http://wwws.sun.com/software/solaris/pam/\">Página "
+"inicial do Solaris PAM</link>"