# SOME DESCRIPTIVE TITLE # Copyright (C) YEAR The FreeBSD Project # This file is distributed under the same license as the FreeBSD Documentation package. # Danilo G. Baio , 2021, 2022. msgid "" msgstr "" "Project-Id-Version: FreeBSD Documentation VERSION\n" "POT-Creation-Date: 2022-02-01 09:21-0300\n" "PO-Revision-Date: 2022-02-07 02:21+0000\n" "Last-Translator: Danilo G. Baio \n" "Language-Team: Portuguese (Brazil) \n" "Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" "X-Generator: Weblate 4.10.1\n" #. type: YAML Front Matter: description #: documentation/content/en/articles/ldap-auth/_index.adoc:1 #, no-wrap msgid "Guide for the configuration of an LDAP server for authentication on FreeBSD" msgstr "" "Guia para a configuração de um servidor LDAP para autenticação no FreeBSD" #. type: Title = #: documentation/content/en/articles/ldap-auth/_index.adoc:1 #: documentation/content/en/articles/ldap-auth/_index.adoc:12 #, no-wrap msgid "LDAP Authentication" msgstr "Autenticação LDAP" #. type: Plain text #: documentation/content/en/articles/ldap-auth/_index.adoc:45 msgid "Abstract" msgstr "Resumo" #. type: Plain text #: documentation/content/en/articles/ldap-auth/_index.adoc:48 msgid "" "This document is intended as a guide for the configuration of an LDAP server " "(principally an OpenLDAP server) for authentication on FreeBSD. This is " "useful for situations where many servers need the same user accounts, for " "example as a replacement for NIS." msgstr "" "Este documento pretende ser um guia para a configuração de um servidor LDAP (" "principalmente um servidor OpenLDAP) para autenticação no FreeBSD. Isso é " "útil para situações em que muitos servidores precisam das mesmas contas de " "usuário, por exemplo, como substituto do NIS." #. type: Plain text #: documentation/content/en/articles/ldap-auth/_index.adoc:50 msgid "'''" msgstr "'''" #. type: Title == #: documentation/content/en/articles/ldap-auth/_index.adoc:54 #, no-wrap msgid "Preface" msgstr "Prefácio" #. type: Plain text #: documentation/content/en/articles/ldap-auth/_index.adoc:58 msgid "" "This document is intended to give the reader enough of an understanding of " "LDAP to configure an LDAP server. This document will attempt to provide an " "explanation of package:net/nss_ldap[] and package:security/pam_ldap[] for " "use with client machines services for use with the LDAP server." msgstr "" "Este documento destina-se a fornecer ao leitor uma compreensão suficiente do " "LDAP para configurar um servidor LDAP. Este documento tentará fornecer uma " "explicação de package:net/nss_ldap[] e package:security/pam_ldap[] para uso " "com serviços de máquinas cliente para uso com o servidor LDAP." #. type: Plain text #: documentation/content/en/articles/ldap-auth/_index.adoc:60 msgid "" "When finished, the reader should be able to configure and deploy a FreeBSD " "server that can host an LDAP directory, and to configure and deploy a " "FreeBSD server which can authenticate against an LDAP directory." msgstr "" "Quando terminar, o leitor deve ser capaz de configurar e implantar um " "servidor FreeBSD que possa hospedar um diretório LDAP e configurar e " "implantar um servidor FreeBSD que possa autenticar em um diretório LDAP." #. type: Plain text #: documentation/content/en/articles/ldap-auth/_index.adoc:64 msgid "" "This article is not intended to be an exhaustive account of the security, " "robustness, or best practice considerations for configuring LDAP or the " "other services discussed herein. While the author takes care to do " "everything correctly, they do not address security issues beyond a general " "scope. This article should be considered to lay the theoretical groundwork " "only, and any actual implementation should be accompanied by careful " "requirement analysis." msgstr "" "Este artigo não pretende ser um relato exaustivo da segurança, robustez ou " "considerações sobre práticas recomendadas para configurar o LDAP ou os " "outros serviços discutidos aqui. Embora o autor tenha o cuidado de fazer " "tudo corretamente, ele não aborda problemas de segurança além do escopo " "geral. Este artigo deve ser considerado para estabelecer as bases teóricas " "somente, e qualquer implementação real deve ser acompanhada por uma análise " "cuidadosa dos requisitos." #. type: Title == #: documentation/content/en/articles/ldap-auth/_index.adoc:66 #, no-wrap msgid "Configuring LDAP" msgstr "Configurando o LDAP" #. type: Plain text #: documentation/content/en/articles/ldap-auth/_index.adoc:71 msgid "" "LDAP stands for \"Lightweight Directory Access Protocol\" and is a subset of " "the X.500 Directory Access Protocol. Its most recent specifications are in " "http://www.ietf.org/rfc/rfc4510.txt[RFC4510] and friends. Essentially it is " "a database that expects to be read from more often than it is written to." msgstr "" "LDAP significa \"Lightweight Directory Access Protocol\" e é um subconjunto " "do X.500 Directory Access Protocol. Suas especificações mais recentes estão " "na http://www.ietf.org/rfc/rfc4510.txt[RFC4510] e documentos amigáveis. " "Essencialmente, é um banco de dados que espera ser lido com mais frequência " "do que é escrito." #. type: Plain text #: documentation/content/en/articles/ldap-auth/_index.adoc:75 msgid "" "The LDAP server http://www.openldap.org/[OpenLDAP] will be used in the " "examples in this document; while the principles here should be generally " "applicable to many different servers, most of the concrete administration is " "OpenLDAP-specific. There are several server versions in ports, for example " "package:net/openldap24-server[]. Client servers will need the corresponding " "package:net/openldap24-client[] libraries." msgstr "" "O servidor LDAP http://www.openldap.org/[OpenLDAP] será usado nos exemplos " "deste documento; embora os princípios aqui devam ser geralmente aplicáveis a " "muitos servidores diferentes, a maior parte da administração concreta é " "especificamente para OpenLDAP. Existem várias versões de servidor nos ports, " "por exemplo package:net/openldap24-server[]. Os servidores clientes " "precisarão das bibliotecas package:net/openldap24-client[] correspondentes." #. type: Plain text #: documentation/content/en/articles/ldap-auth/_index.adoc:78 msgid "" "There are (basically) two areas of the LDAP service which need " "configuration. The first is setting up a server to receive connections " "properly, and the second is adding entries to the server's directory so that " "FreeBSD tools know how to interact with it." msgstr "" "Existem (basicamente) duas áreas do serviço LDAP que precisam de " "configuração. A primeira é a configuração de um servidor para receber as " "conexões corretamente, e o segundo é adicionar entradas ao diretório do " "servidor para que as ferramentas do FreeBSD saibam como interagir com ele." #. type: Title === #: documentation/content/en/articles/ldap-auth/_index.adoc:80 #, no-wrap msgid "Setting Up the Server for Connections" msgstr "Configurando o servidor para conexões" #. type: delimited block = 4 #: documentation/content/en/articles/ldap-auth/_index.adoc:86 msgid "" "This section is specific to OpenLDAP. If you are using another server, you " "will need to consult that server's documentation." msgstr "" "Esta seção é específica do OpenLDAP. Se você estiver usando outro servidor, " "precisará consultar a documentação desse servidor." #. type: Block title #: documentation/content/en/articles/ldap-auth/_index.adoc:89 #: documentation/content/en/articles/ldap-auth/_index.adoc:94 #, no-wrap msgid "Installing OpenLDAP" msgstr "Instalando o OpenLDAP" #. type: Plain text #: documentation/content/en/articles/ldap-auth/_index.adoc:92 msgid "First, install OpenLDAP:" msgstr "Primeiro, instale o OpenLDAP:" #. type: delimited block . 4 #: documentation/content/en/articles/ldap-auth/_index.adoc:102 #, no-wrap msgid "" "# cd /usr/ports/net/openldap24-server\n" "# make install clean\n" msgstr "" "# cd /usr/ports/net/openldap24-server\n" "# make install clean\n" #. type: delimited block = 4 #: documentation/content/en/articles/ldap-auth/_index.adoc:107 msgid "" "This installs the `slapd` and `slurpd` binaries, along with the required " "OpenLDAP libraries." msgstr "" "Isso instala os binários `slapd` e `slurpd`, juntamente com as bibliotecas " "OpenLDAP requeridas." #. type: Title ==== #: documentation/content/en/articles/ldap-auth/_index.adoc:109 #, no-wrap msgid "Configuring OpenLDAP" msgstr "Configurando o OpenLDAP" #. type: delimited block = 4 #: documentation/content/en/articles/ldap-auth/_index.adoc:112 msgid "Next we must configure OpenLDAP." msgstr "Em seguida, devemos configurar o OpenLDAP." #. type: delimited block = 4 #: documentation/content/en/articles/ldap-auth/_index.adoc:115 msgid "" "You will want to require encryption in your connections to the LDAP server; " "otherwise your users' passwords will be transferred in plain text, which is " "considered insecure. The tools we will be using support two very similar " "kinds of encryption, SSL and TLS." msgstr "" "Você desejará exigir criptografia em suas conexões com o servidor LDAP; caso " "contrário, as senhas de seus usuários serão transferidas em texto simples, o " "que é considerado inseguro. As ferramentas que usaremos suportam dois tipos " "muito semelhantes de criptografia, SSL e TLS." #. type: delimited block = 4 #: documentation/content/en/articles/ldap-auth/_index.adoc:118 msgid "" "TLS stands for \"Transportation Layer Security\". Services that employ TLS " "tend to connect on the _same_ ports as the same services without TLS; thus " "an SMTP server which supports TLS will listen for connections on port 25, " "and an LDAP server will listen on 389." msgstr "" "TLS significa \"Segurança da Camada de Transporte\". Serviços que empregam " "TLS tendem a se conectar nas _mesmas_ portas que os mesmos serviços sem TLS; " "assim, um servidor SMTP que suporte o TLS escutará as conexões na porta 25 e " "um servidor LDAP escutará no 389." #. type: delimited block = 4 #: documentation/content/en/articles/ldap-auth/_index.adoc:121 msgid "" "SSL stands for \"Secure Sockets Layer\", and services that implement SSL do " "_not_ listen on the same ports as their non-SSL counterparts. Thus SMTPS " "listens on port 465 (not 25), HTTPS listens on 443, and LDAPS on 636." msgstr "" "SSL significa \"Secure Sockets Layer\", e serviços que implementam SSL _não_ " "escutam nas mesmas portas que seus equivalentes não-SSL. Assim, o SMTPS " "atende na porta 465 (não 25), HTTPS escuta na 443 e LDAPS na 636." #. type: delimited block = 4 #: documentation/content/en/articles/ldap-auth/_index.adoc:125 msgid "" "The reason SSL uses a different port than TLS is because a TLS connection " "begins as plain text, and switches to encrypted traffic after the `STARTTLS` " "directive. SSL connections are encrypted from the beginning. Other than " "that there are no substantial differences between the two." msgstr "" "A razão pela qual o SSL usa uma porta diferente do TLS é porque uma conexão " "TLS começa como texto simples e alterna para o tráfego criptografado após a " "diretiva `STARTTLS`. As conexões SSL são criptografadas desde o início. Além " "disso, não há diferenças substanciais entre os dois." #. type: Plain text #: documentation/content/en/articles/ldap-auth/_index.adoc:129 msgid "We will adjust OpenLDAP to use TLS, as SSL is considered deprecated." msgstr "" "Ajustaremos o OpenLDAP para usar o TLS, já que o SSL é considerado obsoleto." #. type: delimited block = 4 #: documentation/content/en/articles/ldap-auth/_index.adoc:132 msgid "" "Once OpenLDAP is installed via ports, the following configuration parameters " "in [.filename]#/usr/local/etc/openldap/slapd.conf# will enable TLS:" msgstr "" "Uma vez que o OpenLDAP esteja instalado via ports, os seguintes parâmetros " "de configuração em [.filename]#/usr/local/etc/openldap/slapd.conf# irão " "ativar o TLS:" #. type: delimited block . 4 #: documentation/content/en/articles/ldap-auth/_index.adoc:136 #, no-wrap msgid "security ssf=128\n" msgstr "security ssf=128\n" #. type: delimited block . 4 #: documentation/content/en/articles/ldap-auth/_index.adoc:140 #, no-wrap msgid "" "TLSCertificateFile /path/to/your/cert.crt\n" "TLSCertificateKeyFile /path/to/your/cert.key\n" "TLSCACertificateFile /path/to/your/cacert.crt\n" msgstr "" "TLSCertificateFile /path/to/your/cert.crt\n" "TLSCertificateKeyFile /path/to/your/cert.key\n" "TLSCACertificateFile /path/to/your/cacert.crt\n" #. type: Plain text #: documentation/content/en/articles/ldap-auth/_index.adoc:144 msgid "" "Here, `ssf=128` tells OpenLDAP to require 128-bit encryption for all " "connections, both search and update. This parameter may be configured based " "on the security needs of your site, but rarely you need to weaken it, as " "most LDAP client libraries support strong encryption." msgstr "" "Aqui, `ssf=128` diz ao OpenLDAP para exigir criptografia de 128 bits para " "todas as conexões, tanto de pesquisa quanto de atualização. Esse parâmetro " "pode ser configurado com base nas necessidades de segurança do seu site, mas " "raramente é necessário enfraquecê-la, pois a maioria das bibliotecas de " "clientes LDAP oferece suporte à criptografia forte." #. type: Plain text #: documentation/content/en/articles/ldap-auth/_index.adoc:147 msgid "" "The [.filename]#cert.crt#, [.filename]#cert.key#, and [.filename]#cacert." "crt# files are necessary for clients to authenticate _you_ as the valid LDAP " "server. If you simply want a server that runs, you can create a self-signed " "certificate with OpenSSL:" msgstr "" "Os arquivos [.filename]#cert.crt#, [.filename]#cert.key# e [.filename]#cacert" ".crt# são necessários para que os clientes autentiquem _você_ como o " "servidor LDAP válido. Se você simplesmente quiser um servidor que seja " "executado, poderá criar um certificado auto-assinado com o OpenSSL:" #. type: Block title #: documentation/content/en/articles/ldap-auth/_index.adoc:149 #, no-wrap msgid "Generating an RSA Key" msgstr "Gerando uma chave RSA" #. type: delimited block . 4 #: documentation/content/en/articles/ldap-auth/_index.adoc:160 #, no-wrap msgid "" "% openssl genrsa -out cert.key 1024\n" "Generating RSA private key, 1024 bit long modulus\n" "....................++++++\n" "...++++++\n" "e is 65537 (0x10001)\n" msgstr "" "% openssl genrsa -out cert.key 1024\n" "Generating RSA private key, 1024 bit long modulus\n" "....................++++++\n" "...++++++\n" "e is 65537 (0x10001)\n" #. type: delimited block . 4 #: documentation/content/en/articles/ldap-auth/_index.adoc:162 #, no-wrap msgid "% openssl req -new -key cert.key -out cert.csr\n" msgstr "% openssl req -new -key cert.key -out cert.csr\n" #. type: delimited block = 4 #: documentation/content/en/articles/ldap-auth/_index.adoc:171 msgid "" "At this point you should be prompted for some values. You may enter " "whatever values you like; however, it is important the \"Common Name\" value " "be the fully qualified domain name of the OpenLDAP server. In our case, and " "the examples here, the server is _server.example.org_. Incorrectly setting " "this value will cause clients to fail when making connections. This can the " "cause of great frustration, so ensure that you follow these steps closely." msgstr "" "Neste ponto, você deve ser solicitado para digitar alguns valores. Você pode " "inserir os valores que quiser; no entanto, é importante que o valor \"Common " "Name\" seja o nome de domínio totalmente qualificado do servidor OpenLDAP. " "No nosso caso, e os exemplos aqui, o servidor é _server.example.org_. " "Definir incorretamente esse valor fará com que os clientes falhem ao fazer " "conexões. Isso pode causar uma grande frustração, portanto, certifique-se de " "seguir atentamente estas etapas." #. type: delimited block = 4 #: documentation/content/en/articles/ldap-auth/_index.adoc:173 msgid "Finally, the certificate signing request needs to be signed:" msgstr "" "Por fim, a requisição de assinatura de certificado precisa ser assinada:" #. type: Block title #: documentation/content/en/articles/ldap-auth/_index.adoc:175 #, no-wrap msgid "Self-signing the Certificate" msgstr "Auto-assinando o certificado" #. type: delimited block . 4 #: documentation/content/en/articles/ldap-auth/_index.adoc:185 #, no-wrap msgid "" "% openssl x509 -req -in cert.csr -days 365 -signkey cert.key -out cert.crt\n" "Signature ok\n" "subject=/C=AU/ST=Some-State/O=Internet Widgits Pty Ltd\n" "Getting Private key\n" msgstr "" "% openssl x509 -req -in cert.csr -days 365 -signkey cert.key -out cert.crt\n" "Signature ok\n" "subject=/C=AU/ST=Some-State/O=Internet Widgits Pty Ltd\n" "Getting Private key\n" #. type: delimited block = 4 #: documentation/content/en/articles/ldap-auth/_index.adoc:191 msgid "" "This will create a self-signed certificate that can be used for the " "directives in [.filename]#slapd.conf#, where [.filename]#cert.crt# and [." "filename]#cacert.crt# are the same file. If you are going to use many " "OpenLDAP servers (for replication via `slurpd`) you will want to see <> to generate a CA key and use it to sign individual server certificates." msgstr "" "Isso criará um certificado auto-assinado que pode ser usado para as " "diretivas em [.filename]#slapd.conf#, onde [.filename]#cert.crt# e [." "filename]#cacert.crt# são o mesmo arquivo. Se você for usar muitos " "servidores OpenLDAP (para replicação via `slurpd`), você vai querer ver " "<> para gerar uma chave CA e usá-la para assinar certificados de " "servidor individuais." #. type: delimited block = 4 #: documentation/content/en/articles/ldap-auth/_index.adoc:193 msgid "Once this is done, put the following in [.filename]#/etc/rc.conf#:" msgstr "Feito isso, coloque o seguinte em [.filename]#/etc/rc.conf#:" #. type: delimited block . 4 #: documentation/content/en/articles/ldap-auth/_index.adoc:197 #, no-wrap msgid "slapd_enable=\"YES\"\n" msgstr "slapd_enable=\"YES\"\n" #. type: Plain text #: documentation/content/en/articles/ldap-auth/_index.adoc:202 msgid "" "Then run `/usr/local/etc/rc.d/slapd start`. This should start OpenLDAP. " "Confirm that it is listening on 389 with" msgstr "" "Em seguida, execute `/usr/local/etc/rc.d/slapd start`. Isso deve iniciar o " "OpenLDAP. Confirme que está escutando em 389 com" #. type: delimited block . 4 #: documentation/content/en/articles/ldap-auth/_index.adoc:207 #, no-wrap msgid "" "% sockstat -4 -p 389\n" "ldap slapd 3261 7 tcp4 *:389 *:*\n" msgstr "" "% sockstat -4 -p 389\n" "ldap slapd 3261 7 tcp4 *:389 *:*\n" #. type: Title ==== #: documentation/content/en/articles/ldap-auth/_index.adoc:210 #, no-wrap msgid "Configuring the Client" msgstr "Configurando o Cliente" #. type: Plain text #: documentation/content/en/articles/ldap-auth/_index.adoc:214 msgid "" "Install the package:net/openldap24-client[] port for the OpenLDAP " "libraries. The client machines will always have OpenLDAP libraries since " "that is all package:security/pam_ldap[] and package:net/nss_ldap[] support, " "at least for the moment." msgstr "" "Instale o port package:net/openldap24-client[] para as bibliotecas do " "OpenLDAP. As máquinas cliente sempre terão bibliotecas OpenLDAP, já que é " "todo o suporte a package:security/pam_ldap[] e package:net/nss_ldap[], pelo " "menos por enquanto." #. type: Plain text #: documentation/content/en/articles/ldap-auth/_index.adoc:217 msgid "" "The configuration file for the OpenLDAP libraries is [.filename]#/usr/local/" "etc/openldap/ldap.conf#. Edit this file to contain the following values:" msgstr "" "O arquivo de configuração para as bibliotecas OpenLDAP é [.filename]#/usr/" "local/etc/openldap/ldap.conf#. Edite este arquivo para conter os seguintes " "valores:" #. type: delimited block . 4 #: documentation/content/en/articles/ldap-auth/_index.adoc:224 #, no-wrap msgid "" "base dc=example,dc=org\n" "uri ldap://server.example.org/\n" "ssl start_tls\n" "tls_cacert /path/to/your/cacert.crt\n" msgstr "" "base dc=example,dc=org\n" "uri ldap://server.example.org/\n" "ssl start_tls\n" "tls_cacert /path/to/your/cacert.crt\n" #. type: delimited block = 4 #: documentation/content/en/articles/ldap-auth/_index.adoc:229 msgid "" "It is important that your clients have access to [.filename]#cacert.crt#, " "otherwise they will not be able to connect." msgstr "" "É importante que seus clientes tenham acesso ao [.filename]#cacert.crt#, " "caso contrário, eles não poderão se conectar." #. type: delimited block = 4 #: documentation/content/en/articles/ldap-auth/_index.adoc:236 msgid "" "There are two files called [.filename]#ldap.conf#. The first is this file, " "which is for the OpenLDAP libraries and defines how to talk to the server. " "The second is [.filename]#/usr/local/etc/ldap.conf#, and is for pam_ldap." msgstr "" "Existem dois arquivos chamados [.filename]#ldap.conf#. O primeiro é este " "arquivo, que é para as bibliotecas OpenLDAP e define como falar com o " "servidor. O segundo é [.filename]#/usr/local/etc/ldap.conf# e é para " "pam_ldap." #. type: Plain text #: documentation/content/en/articles/ldap-auth/_index.adoc:241 msgid "" "At this point you should be able to run `ldapsearch -Z` on the client " "machine; `-Z` means \"use TLS\". If you encounter an error, then something " "is configured wrong; most likely it is your certificates. Use man:" "openssl[1]'s `s_client` and `s_server` to ensure you have them configured " "and signed properly." msgstr "" "Neste ponto, você deve conseguir executar `ldapsearch -Z` na máquina cliente;" " `-Z` significa \"usar o TLS\". Se você encontrar um erro, então algo está " "configurado errado; muito provavelmente são seus certificados. Use os " "comandos `s_client` e `s_server` do man:openssl[1] para assegurar que você " "os tenha configurado e assinado corretamente." #. type: Title === #: documentation/content/en/articles/ldap-auth/_index.adoc:243 #, no-wrap msgid "Entries in the Database" msgstr "Entradas no banco de dados" #. type: Plain text #: documentation/content/en/articles/ldap-auth/_index.adoc:248 msgid "" "Authentication against an LDAP directory is generally accomplished by " "attempting to bind to the directory as the connecting user. This is done by " "establishing a \"simple\" bind on the directory with the user name " "supplied. If there is an entry with the `uid` equal to the user name and " "that entry's `userPassword` attribute matches the password supplied, then " "the bind is successful." msgstr "" "A autenticação em um diretório LDAP geralmente é realizada pela tentativa de " "vincular ao diretório como o usuário de conexão. Isso é feito estabelecendo " "um vinculo \"simples\" no diretório com o nome de usuário fornecido. Se " "houver uma entrada com o `uid` igual ao nome do usuário e o atributo " "`userPassword` da entrada corresponder à senha fornecida, o vinculo será bem-" "sucedido." #. type: Plain text #: documentation/content/en/articles/ldap-auth/_index.adoc:250 msgid "" "The first thing we have to do is figure out is where in the directory our " "users will live." msgstr "" "A primeira coisa que temos que fazer é descobrir onde no diretório os nossos " "usuários irão estar." #. type: Plain text #: documentation/content/en/articles/ldap-auth/_index.adoc:254 msgid "" "The base entry for our database is `dc=example,dc=org`. The default " "location for users that most clients seem to expect is something like " "`ou=people,_base_`, so that is what will be used here. However keep in mind " "that this is configurable." msgstr "" "A entrada de base para nosso banco de dados é `dc=example,dc=org`. O local " "padrão para usuários que a maioria dos clientes parece esperar é algo como `" "ou=people, _base_`, então é isso que será usado aqui. No entanto, tenha em " "mente que isso é configurável." #. type: Plain text #: documentation/content/en/articles/ldap-auth/_index.adoc:256 msgid "So the ldif entry for the `people` organizational unit will look like:" msgstr "" "Assim, a entrada ldif para a unidade organizacional `people` será semelhante " "a:" #. type: delimited block . 4 #: documentation/content/en/articles/ldap-auth/_index.adoc:263 #, no-wrap msgid "" "dn: ou=people,dc=example,dc=org\n" "objectClass: top\n" "objectClass: organizationalUnit\n" "ou: people\n" msgstr "" "dn: ou=people,dc=example,dc=org\n" "objectClass: top\n" "objectClass: organizationalUnit\n" "ou: people\n" #. type: Plain text #: documentation/content/en/articles/ldap-auth/_index.adoc:266 msgid "All users will be created as subentries of this organizational unit." msgstr "" "Todos os usuários serão criados como subentradas dessa unidade " "organizacional." #. type: Plain text #: documentation/content/en/articles/ldap-auth/_index.adoc:271 msgid "" "Some thought might be given to the object class your users will belong to. " "Most tools by default will use `people`, which is fine if you simply want to " "provide entries against which to authenticate. However, if you are going to " "store user information in the LDAP database as well, you will probably want " "to use `inetOrgPerson`, which has many useful attributes. In either case, " "the relevant schemas need to be loaded in [.filename]#slapd.conf#." msgstr "" "Alguma consideração pode ser dada à classe de objeto a que seus usuários " "pertencerão. A maioria das ferramentas, por padrão, usará `people`, o que é " "bom se você quiser simplesmente fornecer entradas para autenticar. No " "entanto, se você for armazenar informações do usuário no banco de dados " "LDAP, provavelmente usará `inetOrgPerson`, que possui muitos atributos " "úteis. Em ambos os casos, os esquemas relevantes precisam ser carregados em [" ".filename]#slapd.conf#." #. type: Plain text #: documentation/content/en/articles/ldap-auth/_index.adoc:274 msgid "" "For this example we will use the `person` object class. If you are using " "`inetOrgPerson`, the steps are basically identical, except that the `sn` " "attribute is required." msgstr "" "Para este exemplo, usaremos a classe de objeto `person`. Se você estiver " "usando `inetOrgPerson`, as etapas são basicamente idênticas, exceto que o " "atributo `sn` é necessário." #. type: Plain text #: documentation/content/en/articles/ldap-auth/_index.adoc:276 msgid "To add a test-user named `tuser`, the ldif would be:" msgstr "Para adicionar um usuário de teste chamado `tuser`, o ldif seria:" #. type: delimited block . 4 #: documentation/content/en/articles/ldap-auth/_index.adoc:290 #, no-wrap msgid "" "dn: uid=tuser,ou=people,dc=example,dc=org\n" "objectClass: person\n" "objectClass: posixAccount\n" "objectClass: shadowAccount\n" "objectClass: top\n" "uidNumber: 10000\n" "gidNumber: 10000\n" "homeDirectory: /home/tuser\n" "loginShell: /bin/csh\n" "uid: tuser\n" "cn: tuser\n" msgstr "" "dn: uid=tuser,ou=people,dc=example,dc=org\n" "objectClass: person\n" "objectClass: posixAccount\n" "objectClass: shadowAccount\n" "objectClass: top\n" "uidNumber: 10000\n" "gidNumber: 10000\n" "homeDirectory: /home/tuser\n" "loginShell: /bin/csh\n" "uid: tuser\n" "cn: tuser\n" #. type: Plain text #: documentation/content/en/articles/ldap-auth/_index.adoc:293 msgid "" "I start my LDAP users' UIDs at 10000 to avoid collisions with system " "accounts; you can configure whatever number you wish here, as long as it is " "less than 65536." msgstr "" "Eu inicio os UIDs dos meus usuários LDAP em 10000 para evitar colisões com " "contas do sistema; você pode configurar o número que desejar aqui, desde que " "seja menor que 65536." #. type: Plain text #: documentation/content/en/articles/ldap-auth/_index.adoc:296 msgid "" "We also need group entries. They are as configurable as user entries, but " "we will use the defaults below:" msgstr "" "Também precisamos de entradas de grupo. Eles são configuráveis como entradas " "do usuário, mas usaremos os padrões abaixo:" #. type: delimited block . 4 #: documentation/content/en/articles/ldap-auth/_index.adoc:303 #, no-wrap msgid "" "dn: ou=groups,dc=example,dc=org\n" "objectClass: top\n" "objectClass: organizationalUnit\n" "ou: groups\n" msgstr "" "dn: ou=people,dc=example,dc=org\n" "objectClass: top\n" "objectClass: organizationalUnit\n" "ou: people\n" #. type: delimited block . 4 #: documentation/content/en/articles/ldap-auth/_index.adoc:309 #, no-wrap msgid "" "dn: cn=tuser,ou=groups,dc=example,dc=org\n" "objectClass: posixGroup\n" "objectClass: top\n" "gidNumber: 10000\n" "cn: tuser\n" msgstr "" "dn: cn=tuser,ou=groups,dc=example,dc=org\n" "objectClass: posixGroup\n" "objectClass: top\n" "gidNumber: 10000\n" "cn: tuser\n" #. type: Plain text #: documentation/content/en/articles/ldap-auth/_index.adoc:313 msgid "" "To enter these into your database, you can use `slapadd` or `ldapadd` on a " "file containing these entries. Alternatively, you can use package:sysutils/" "ldapvi[]." msgstr "" "Para inseri-los em seu banco de dados, você pode usar `slapadd` ou `ldapadd` " "em um arquivo contendo essas entradas. Alternativamente, você pode usar o " "package:sysutils/ldapvi[]." #. type: Plain text #: documentation/content/en/articles/ldap-auth/_index.adoc:316 msgid "" "The `ldapsearch` utility on the client machine should now return these " "entries. If it does, your database is properly configured to be used as an " "LDAP authentication server." msgstr "" "O utilitário `ldapsearch` na máquina cliente deve agora retornar essas " "entradas. Em caso afirmativo, o banco de dados está configurado corretamente " "para ser usado como um servidor de autenticação LDAP." #. type: Title == #: documentation/content/en/articles/ldap-auth/_index.adoc:318 #, no-wrap msgid "Client Configuration" msgstr "Configuração do Cliente" #. type: Plain text #: documentation/content/en/articles/ldap-auth/_index.adoc:321 msgid "" "The client should already have OpenLDAP libraries from <>, but if you are installing several client machines you will need to " "install package:net/openldap24-client[] on each of them." msgstr "" "O cliente já deve ter bibliotecas do OpenLDAP do <>, " "mas se você estiver instalando várias máquinas clientes, precisará instalar " "o package:net/openldap24-client[] em cada um deles." #. type: Plain text #: documentation/content/en/articles/ldap-auth/_index.adoc:323 msgid "" "FreeBSD requires two ports to be installed to authenticate against an LDAP " "server, package:security/pam_ldap[] and package:net/nss_ldap[]." msgstr "" "O FreeBSD requer que dois ports sejam instalados para autenticação em um " "servidor LDAP, package:security/pam_ldap[] e package:net/nss_ldap[]." #. type: Title === #: documentation/content/en/articles/ldap-auth/_index.adoc:325 #, no-wrap msgid "Authentication" msgstr "Autenticação" #. type: Plain text #: documentation/content/en/articles/ldap-auth/_index.adoc:328 msgid "" "package:security/pam_ldap[] is configured via [.filename]#/usr/local/etc/" "ldap.conf#." msgstr "" "O package:security/pam_ldap[] é configurado através do [.filename]#/usr/" "local/etc/ldap.conf#." #. type: delimited block = 4 #: documentation/content/en/articles/ldap-auth/_index.adoc:333 msgid "" "This is a _different file_ than the OpenLDAP library functions' " "configuration file, [.filename]#/usr/local/etc/openldap/ldap.conf#; however, " "it takes many of the same options; in fact it is a superset of that file. " "For the rest of this section, references to [.filename]#ldap.conf# will mean " "[.filename]#/usr/local/etc/ldap.conf#." msgstr "" "Este é um _arquivo diferente_ que o arquivo de configuração das funções da " "biblioteca OpenLDAP, [.filename]#/usr/local/etc/openldap/ldap.conf#; no " "entanto, são necessárias muitas das mesmas opções; na verdade, é um " "superconjunto desse arquivo. Para o resto desta seção, referências a [." "filename]#ldap.conf# irão significar o arquivo [.filename]#/usr/local/etc/" "ldap.conf#." #. type: Plain text #: documentation/content/en/articles/ldap-auth/_index.adoc:337 msgid "" "Thus, we will want to copy all of our original configuration parameters from " "[.filename]#openldap/ldap.conf# to the new [.filename]#ldap.conf#. Once " "this is done, we want to tell package:security/pam_ldap[] what to look for " "on the directory server." msgstr "" "Assim, vamos querer copiar todos os nossos parâmetros de configuração " "originais do [.filename]#openldap/ldap.conf# para o novo [.filename]#ldap." "conf#. Feito isso, queremos informar ao package:security/pam_ldap[] o que " "procurar no servidor de diretório." #. type: Plain text #: documentation/content/en/articles/ldap-auth/_index.adoc:340 msgid "" "We are identifying our users with the `uid` attribute. To configure this " "(though it is the default), set the `pam_login_attribute` directive in [." "filename]#ldap.conf#:" msgstr "" "Estamos identificando nossos usuários com o atributo `uid`. Para configurar " "isso (embora seja o padrão), defina a diretiva `pam_login_attribute` no [." "filename]#ldap.conf#:" #. type: Block title #: documentation/content/en/articles/ldap-auth/_index.adoc:342 #, no-wrap msgid "Setting `pam_login_attribute`" msgstr "Definindo `pam_login_attribute`" #. type: delimited block . 4 #: documentation/content/en/articles/ldap-auth/_index.adoc:349 #, no-wrap msgid "pam_login_attribute uid\n" msgstr "pam_login_attribute uid\n" #. type: delimited block = 4 #: documentation/content/en/articles/ldap-auth/_index.adoc:357 msgid "" "With this set, package:security/pam_ldap[] will search the entire LDAP " "directory under `base` for the value `uid=_username_`. If it finds one and " "only one entry, it will attempt to bind as that user with the password it " "was given. If it binds correctly, then it will allow access. Otherwise it " "will fail." msgstr "" "Com esta definição, o package:security/pam_ldap[] pesquisará todo o " "diretório LDAP na `base` para o valor `uid=_username_`. Se encontrar uma e " "apenas uma entrada, ela tentará se vincular como aquele usuário com a senha " "que foi fornecida. Se vincular corretamente, então permitirá o acesso. Caso " "contrário, falhará." #. type: delimited block = 4 #: documentation/content/en/articles/ldap-auth/_index.adoc:363 msgid "" "Users whose shell is not in [.filename]#/etc/shells# will not be able to log " "in. This is particularly important when Bash is set as the user shell on " "the LDAP server. Bash is not included with a default installation of " "FreeBSD. When installed from a package or port, it is located at [." "filename]#/usr/local/bin/bash#. Verify that the path to the shell on the " "server is set correctly:" msgstr "" "Os usuários cujo shell não está em [.filename]#/etc/shells# não poderão " "efetuar login. Isto é particularmente importante quando o Bash é definido " "como o shell do usuário no servidor LDAP. O Bash não está incluído em uma " "instalação padrão do FreeBSD. Quando instalado a partir de um pacote ou " "port, ele está localizado em [.filename]#/usr/local/bin/bash#. Verifique se " "o caminho para o shell no servidor está definido corretamente:" #. type: delimited block . 4 #: documentation/content/en/articles/ldap-auth/_index.adoc:367 #, no-wrap msgid "% getent passwd username\n" msgstr "% getent passwd username\n" #. type: Plain text #: documentation/content/en/articles/ldap-auth/_index.adoc:372 msgid "" "There are two choices when the output shows `/bin/bash` in the last column. " "The first is to change the user's entry on the LDAP server to [.filename]#/" "usr/local/bin/bash#. The second option is to create a symlink on the LDAP " "client computer so Bash is found at the correct location:" msgstr "" "Existem duas opções quando a saída mostra `/bin/bash` na última coluna. A " "primeira é alterar a entrada do usuário no servidor LDAP para [.filename]#/" "usr/local/bin/bash#. A segunda opção é criar um link simbólico no computador " "cliente LDAP para que o Bash seja encontrado no local correto:" #. type: delimited block . 4 #: documentation/content/en/articles/ldap-auth/_index.adoc:376 #, no-wrap msgid "# ln -s /usr/local/bin/bash /bin/bash\n" msgstr "# ln -s /usr/local/bin/bash /bin/bash\n" #. type: Plain text #: documentation/content/en/articles/ldap-auth/_index.adoc:380 msgid "" "Make sure that [.filename]#/etc/shells# contains entries for both `/usr/" "local/bin/bash` and `/bin/bash`. The user will then be able to log in to " "the system with Bash as their shell." msgstr "" "Certifique-se de que [.filename]#/etc/shells# contenha entradas para ambos `/" "usr/local/bin/bash` e `/bin/bash`. O usuário poderá então efetuar login no " "sistema com Bash como seu shell." #. type: Title ==== #: documentation/content/en/articles/ldap-auth/_index.adoc:382 #, no-wrap msgid "PAM" msgstr "PAM" #. type: Plain text #: documentation/content/en/articles/ldap-auth/_index.adoc:386 msgid "" "PAM, which stands for \"Pluggable Authentication Modules\", is the method by " "which FreeBSD authenticates most of its sessions. To tell FreeBSD we wish " "to use an LDAP server, we will have to add a line to the appropriate PAM " "file." msgstr "" "PAM, que significa \"Pluggable Authentication Modules\", é o método pelo " "qual o FreeBSD autentica a maioria de suas sessões. Para dizer ao FreeBSD " "que desejamos usar um servidor LDAP, teremos que adicionar uma linha ao " "arquivo PAM apropriado." #. type: Plain text #: documentation/content/en/articles/ldap-auth/_index.adoc:388 msgid "" "Most of the time the appropriate PAM file is [.filename]#/etc/pam.d/sshd#, " "if you want to use SSH (remember to set the relevant options in [.filename]#/" "etc/ssh/sshd_config#, otherwise SSH will not use PAM)." msgstr "" "Na maioria das vezes o arquivo PAM apropriado é [.filename]#/etc/pam.d/sshd#" ", se você quiser usar SSH (lembre-se de definir as opções relevantes em [." "filename]#/etc/ssh/sshd_config#, caso contrário o SSH não usará o PAM)." #. type: Plain text #: documentation/content/en/articles/ldap-auth/_index.adoc:390 msgid "To use PAM for authentication, add the line" msgstr "Para usar o PAM para autenticação, adicione a linha" #. type: delimited block . 4 #: documentation/content/en/articles/ldap-auth/_index.adoc:394 #, no-wrap msgid "auth sufficient /usr/local/lib/pam_ldap.so no_warn\n" msgstr "auth sufficient /usr/local/lib/pam_ldap.so no_warn\n" #. type: Plain text #: documentation/content/en/articles/ldap-auth/_index.adoc:397 msgid "" "Exactly where this line shows up in the file and which options appear in the " "fourth column determine the exact behavior of the authentication mechanism; " "see man:pam[d]" msgstr "" "Exatamente onde essa linha aparece no arquivo e quais opções aparecem na " "quarta coluna, determine o comportamento exato do mecanismo de autenticação; " "veja man:pam.d[5]" #. type: Plain text #: documentation/content/en/articles/ldap-auth/_index.adoc:400 msgid "" "With this configuration you should be able to authenticate a user against an " "LDAP directory. PAM will perform a bind with your credentials, and if " "successful will tell SSH to allow access." msgstr "" "Com essa configuração, você deve conseguir autenticar um usuário em um " "diretório LDAP. O PAM executará uma ligação com suas credenciais e, se for " "bem-sucedido, informará ao SSH para permitir o acesso." #. type: Plain text #: documentation/content/en/articles/ldap-auth/_index.adoc:404 msgid "" "However it is not a good idea to allow _every_ user in the directory into " "_every_ client machine. With the current configuration, all that a user " "needs to log into a machine is an LDAP entry. Fortunately there are a few " "ways to restrict user access." msgstr "" "No entanto, não é uma boa idéia permitir que _todo_ usuário no diretório " "dentro de _todo_ computador cliente. Com a configuração atual, tudo o que um " "usuário precisa para efetuar login em uma máquina é uma entrada LDAP. " "Felizmente, existem algumas maneiras de restringir o acesso do usuário." #. type: Plain text #: documentation/content/en/articles/ldap-auth/_index.adoc:407 msgid "" "[.filename]#ldap.conf# supports a `pam_groupdn` directive; every account " "that connects to this machine needs to be a member of the group specified " "here. For example, if you have" msgstr "" "O [.filename]#ldap.conf# suporta uma diretiva `pam_groupdn`; Cada conta que " "se conecta a essa máquina precisa ser membro do grupo especificado aqui. Por " "exemplo, se você tem" #. type: delimited block . 4 #: documentation/content/en/articles/ldap-auth/_index.adoc:411 #, no-wrap msgid "pam_groupdn cn=servername,ou=accessgroups,dc=example,dc=org\n" msgstr "pam_groupdn cn=servername,ou=accessgroups,dc=example,dc=org\n" #. type: Plain text #: documentation/content/en/articles/ldap-auth/_index.adoc:415 msgid "" "in [.filename]#ldap.conf#, then only members of that group will be able to " "log in. There are a few things to bear in mind, however." msgstr "" "em [.filename]#ldap.conf#, somente os membros desse grupo poderão efetuar " "login. Entretanto, há algumas coisas a serem lembradas." #. type: Plain text #: documentation/content/en/articles/ldap-auth/_index.adoc:418 msgid "" "Members of this group are specified in one or more `memberUid` attributes, " "and each attribute must have the full distinguished name of the member. So " "`memberUid: someuser` will not work; it must be:" msgstr "" "Os membros desse grupo são especificados em um ou mais atributos `memberUid` " "e cada atributo deve ter o nome distinto completo do membro. Então " "`memberUid:someuser` não funcionará; deve ser:" #. type: delimited block . 4 #: documentation/content/en/articles/ldap-auth/_index.adoc:422 #, no-wrap msgid "memberUid: uid=someuser,ou=people,dc=example,dc=org\n" msgstr "memberUid: uid=someuser,ou=people,dc=example,dc=org\n" #. type: Plain text #: documentation/content/en/articles/ldap-auth/_index.adoc:428 msgid "" "Additionally, this directive is not checked in PAM during authentication, it " "is checked during account management, so you will need a second line in your " "PAM files under `account`. This will require, in turn, _every_ user to be " "listed in the group, which is not necessarily what we want. To avoid " "blocking users that are not in LDAP, you should enable the " "`ignore_unknown_user` attribute. Finally, you should set the " "`ignore_authinfo_unavail` option so that you are not locked out of every " "computer when the LDAP server is unavailable." msgstr "" "Além disso, essa diretiva não é verificada no PAM durante a autenticação, " "ela é verificada durante o gerenciamento de contas, portanto, você precisará " "de uma segunda linha em seus arquivos PAM sob `account`. Isso exigirá, por " "sua vez, que _todo_ usuário seja listado no grupo, o que não é " "necessariamente o que queremos. Para evitar o bloqueio de usuários que não " "estão no LDAP, você deve ativar o atributo `ignore_unknown_user`. " "Finalmente, você deve definir a opção `ignore_authinfo_unavail` para que " "você não fique bloqueado em todos os computadores quando o servidor LDAP " "estiver indisponível." #. type: Plain text #: documentation/content/en/articles/ldap-auth/_index.adoc:430 msgid "Your [.filename]#pam.d/sshd# might then end up looking like this:" msgstr "Seu [.filename]#pam.d/sshd# pode acabar ficando assim:" #. type: Block title #: documentation/content/en/articles/ldap-auth/_index.adoc:432 #, no-wrap msgid "Sample [.filename]#pam.d/sshd#" msgstr "Exemplo [.filename]#pam.d/sshd#" #. type: delimited block . 4 #: documentation/content/en/articles/ldap-auth/_index.adoc:443 #, no-wrap msgid "" "auth required pam_nologin.so no_warn\n" "auth sufficient pam_opie.so no_warn no_fake_prompts\n" "auth requisite pam_opieaccess.so no_warn allow_local\n" "auth sufficient /usr/local/lib/pam_ldap.so no_warn\n" "auth required pam_unix.so no_warn try_first_pass\n" msgstr "" "auth required pam_nologin.so no_warn\n" "auth sufficient pam_opie.so no_warn " "no_fake_prompts\n" "auth requisite pam_opieaccess.so no_warn allow_local\n" "auth sufficient /usr/local/lib/pam_ldap.so no_warn\n" "auth required pam_unix.so no_warn " "try_first_pass\n" #. type: delimited block . 4 #: documentation/content/en/articles/ldap-auth/_index.adoc:446 #, no-wrap msgid "" "account required pam_login_access.so\n" "account required /usr/local/lib/pam_ldap.so no_warn ignore_authinfo_unavail ignore_unknown_user\n" msgstr "" "account required pam_login_access.so\n" "account required /usr/local/lib/pam_ldap.so no_warn " "ignore_authinfo_unavail ignore_unknown_user\n" #. type: Plain text #: documentation/content/en/articles/ldap-auth/_index.adoc:455 msgid "" "Since we are adding these lines specifically to [.filename]#pam.d/sshd#, " "this will only have an effect on SSH sessions. LDAP users will be unable to " "log in at the console. To change this behavior, examine the other files in " "[.filename]#/etc/pam.d# and modify them accordingly." msgstr "" "Como estamos adicionando essas linhas especificamente para [.filename]#pam.d/" "sshd#, isso só terá um efeito nas sessões SSH. Os usuários LDAP não poderão " "efetuar login no console. Para mudar este comportamento, examine os outros " "arquivos em [.filename]#/etc/pam.d# e modifique-os de acordo." #. type: Title === #: documentation/content/en/articles/ldap-auth/_index.adoc:458 #, no-wrap msgid "Name Service Switch" msgstr "Switch de serviço de nome" #. type: delimited block = 4 #: documentation/content/en/articles/ldap-auth/_index.adoc:462 msgid "" "NSS is the service that maps attributes to names. So, for example, if a " "file is owned by user `1001`, an application will query NSS for the name of " "`1001`, and it might get `bob` or `ted` or whatever the user's name is." msgstr "" "NSS é o serviço que mapeia atributos para nomes. Assim, por exemplo, se um " "arquivo é de propriedade do usuário `1001`, um aplicativo consultará o NSS " "para o nome de `1001`, e ele pode obter `bob` ou `ted` ou qualquer que seja " "o nome do usuário." #. type: delimited block = 4 #: documentation/content/en/articles/ldap-auth/_index.adoc:464 msgid "" "Now that our user information is kept in LDAP, we need to tell NSS to look " "there when queried." msgstr "" "Agora que nossas informações sobre o usuário são mantidas no LDAP, " "precisamos dizer ao NSS para procurar lá quando perguntado." #. type: delimited block = 4 #: documentation/content/en/articles/ldap-auth/_index.adoc:469 msgid "" "The package:net/nss_ldap[] port does this. It uses the same configuration " "file as package:security/pam_ldap[], and should not need any extra " "parameters once it is installed. Instead, what is left is simply to edit [." "filename]#/etc/nsswitch.conf# to take advantage of the directory. Simply " "replace the following lines:" msgstr "" "O port package:net/nss_ldap[] faz isso. Ele usa o mesmo arquivo de " "configuração como package:security/pam_ldap[] e não deve precisar de nenhum " "parâmetro extra depois de instalado. Em vez disso, o que resta é " "simplesmente editar é [.filename]#/etc/nsswitch.conf# para aproveitar o " "diretório. Simplesmente substitua as seguintes linhas:" #. type: delimited block . 4 #: documentation/content/en/articles/ldap-auth/_index.adoc:474 #, no-wrap msgid "" "group: compat\n" "passwd: compat\n" msgstr "" "group: compat\n" "passwd: compat\n" #. type: Plain text #: documentation/content/en/articles/ldap-auth/_index.adoc:477 msgid "with" msgstr "com" #. type: delimited block . 4 #: documentation/content/en/articles/ldap-auth/_index.adoc:482 #, no-wrap msgid "" "group: files ldap\n" "passwd: files ldap\n" msgstr "" "group: files ldap\n" "passwd: files ldap\n" #. type: Plain text #: documentation/content/en/articles/ldap-auth/_index.adoc:485 msgid "This will allow you to map usernames to UIDs and UIDs to usernames." msgstr "" "Isso permitirá que você mapeie nomes de usuários para UIDs e UIDs para nomes " "de usuários." #. type: Plain text #: documentation/content/en/articles/ldap-auth/_index.adoc:487 msgid "Congratulations! You should now have working LDAP authentication." msgstr "Parabéns! Agora você deve ter autenticação LDAP em funcionamento." #. type: Title === #: documentation/content/en/articles/ldap-auth/_index.adoc:489 #, no-wrap msgid "Caveats" msgstr "Ressalvas" #. type: Plain text #: documentation/content/en/articles/ldap-auth/_index.adoc:495 msgid "" "Unfortunately, as of the time this was written FreeBSD did not support " "changing user passwords with man:passwd[1]. As a result of this, most " "administrators are left to implement a solution themselves. I provide some " "examples here. Note that if you write your own password change script, " "there are some security issues you should be made aware of; see <>" msgstr "" "Infelizmente, a partir do momento em que isso foi escrito, o FreeBSD não " "suportava a mudança de senhas de usuário com man:passwd[1]. Por causa disso, " "a maioria dos administradores estão deixando para implementar uma solução " "por conta própria. Eu forneço alguns exemplos aqui. Observe que, se você " "escrever seu próprio script de alteração de senha, há alguns problemas de " "segurança dos quais você deve estar ciente; veja <>" #. type: Block title #: documentation/content/en/articles/ldap-auth/_index.adoc:497 #, no-wrap msgid "Shell Script for Changing Passwords" msgstr "Script de shell para alteração de senhas" #. type: delimited block . 4 #: documentation/content/en/articles/ldap-auth/_index.adoc:504 #, no-wrap msgid "#!/bin/sh\n" msgstr "#!/bin/sh\n" #. type: delimited block . 4 #: documentation/content/en/articles/ldap-auth/_index.adoc:510 #, no-wrap msgid "" "stty -echo\n" "read -p \"Old Password: \" oldp; echo\n" "read -p \"New Password: \" np1; echo\n" "read -p \"Retype New Password: \" np2; echo\n" "stty echo\n" msgstr "" "stty -echo\n" "read -p \"Old Password: \" oldp; echo\n" "read -p \"New Password: \" np1; echo\n" "read -p \"Retype New Password: \" np2; echo\n" "stty echo\n" #. type: delimited block . 4 #: documentation/content/en/articles/ldap-auth/_index.adoc:515 #, no-wrap msgid "" "if [ \"$np1\" != \"$np2\" ]; then\n" " echo \"Passwords do not match.\"\n" " exit 1\n" "fi\n" msgstr "" "if [ \"$np1\" != \"$np2\" ]; then\n" " echo \"Passwords do not match.\"\n" " exit 1\n" "fi\n" #. type: delimited block . 4 #: documentation/content/en/articles/ldap-auth/_index.adoc:520 #, no-wrap msgid "" "ldappasswd -D uid=\"$USER\",ou=people,dc=example,dc=org \\\n" " -w \"$oldp\" \\\n" " -a \"$oldp\" \\\n" " -s \"$np1\"\n" msgstr "" "ldappasswd -D uid=\"$USER\",ou=people,dc=example,dc=org \\\n" " -w \"$oldp\" \\\n" " -a \"$oldp\" \\\n" " -s \"$np1\"\n" #. type: Plain text #: documentation/content/en/articles/ldap-auth/_index.adoc:529 msgid "" "This script does hardly any error checking, but more important it is very " "cavalier about how it stores your passwords. If you do anything like this, " "at least adjust the `security.bsd.see_other_uids` sysctl value:" msgstr "" "Esse script dificilmente faz qualquer verificação de erros, mas, o mais " "importante, é muito indiferente sobre como ele armazena suas senhas. Se você " "fizer algo assim, ajuste pelo menos o valor de sysctl `security.bsd." "see_other_uids`:" #. type: delimited block . 4 #: documentation/content/en/articles/ldap-auth/_index.adoc:533 #, no-wrap msgid "# sysctl security.bsd.see_other_uids=0\n" msgstr "# sysctl security.bsd.see_other_uids=0\n" #. type: delimited block = 4 #: documentation/content/en/articles/ldap-auth/_index.adoc:540 msgid "" "A more flexible (and probably more secure) approach can be used by writing a " "custom program, or even a web interface. The following is part of a Ruby " "library that can change LDAP passwords. It sees use both on the command " "line, and on the web." msgstr "" "Uma abordagem mais flexível (e provavelmente mais segura) pode ser usada " "escrevendo um programa personalizado, ou até mesmo uma interface web. A " "seguir, parte de uma biblioteca Ruby que pode alterar senhas LDAP. Ele vê o " "uso na linha de comando e na web." #. type: Block title #: documentation/content/en/articles/ldap-auth/_index.adoc:542 #, no-wrap msgid "Ruby Script for Changing Passwords" msgstr "Script Ruby para Alterar Senhas" #. type: delimited block . 4 #: documentation/content/en/articles/ldap-auth/_index.adoc:552 #, no-wrap msgid "" "require 'ldap'\n" "require 'base64'\n" "require 'digest'\n" "require 'password' # ruby-password\n" msgstr "" "require 'ldap'\n" "require 'base64'\n" "require 'digest'\n" "require 'password' # ruby-password\n" #. type: delimited block . 4 #: documentation/content/en/articles/ldap-auth/_index.adoc:555 #, no-wrap msgid "" "ldap_server = \"ldap.example.org\"\n" "luser = \"uid=#{ENV['USER']},ou=people,dc=example,dc=org\"\n" msgstr "" "ldap_server = \"ldap.example.org\"\n" "luser = \"uid=#{ENV['USER']},ou=people,dc=example,dc=org\"\n" #. type: delimited block . 4 #: documentation/content/en/articles/ldap-auth/_index.adoc:560 #, no-wrap msgid "" "# get the new password, check it, and create a salted hash from it\n" "def get_password\n" " pwd1 = Password.get(\"New Password: \")\n" " pwd2 = Password.get(\"Retype New Password: \")\n" msgstr "" "# get the new password, check it, and create a salted hash from it\n" "def get_password\n" " pwd1 = Password.get(\"New Password: \")\n" " pwd2 = Password.get(\"Retype New Password: \")\n" #. type: delimited block . 4 #: documentation/content/en/articles/ldap-auth/_index.adoc:563 #, no-wrap msgid "" " raise if pwd1 != pwd2\n" " pwd1.check # check password strength\n" msgstr "" " raise if pwd1 != pwd2\n" " pwd1.check # check password strength\n" #. type: delimited block . 4 #: documentation/content/en/articles/ldap-auth/_index.adoc:569 #, no-wrap msgid "" " salt = rand.to_s.gsub(/0\\./, '')\n" " pass = pwd1.to_s\n" " hash = \"{SSHA}\"+Base64.encode64(Digest::SHA1.digest(\"#{pass}#{salt}\")+salt).chomp!\n" " return hash\n" "end\n" msgstr "" " salt = rand.to_s.gsub(/0\\./, '')\n" " pass = pwd1.to_s\n" " hash = \"{SSHA}\"+Base64.encode64(Digest::SHA1.digest(\"#{pass}#{salt}\"" ")+salt).chomp!\n" " return hash\n" "end\n" #. type: delimited block . 4 #: documentation/content/en/articles/ldap-auth/_index.adoc:572 #, no-wrap msgid "" "oldp = Password.get(\"Old Password: \")\n" "newp = get_password\n" msgstr "" "oldp = Password.get(\"Old Password: \")\n" "newp = get_password\n" #. type: delimited block . 4 #: documentation/content/en/articles/ldap-auth/_index.adoc:575 #, no-wrap msgid "" "# We'll just replace it. That we can bind proves that we either know\n" "# the old password or are an admin.\n" msgstr "" "# We'll just replace it. That we can bind proves that we either know\n" "# the old password or are an admin.\n" #. type: delimited block . 4 #: documentation/content/en/articles/ldap-auth/_index.adoc:579 #, no-wrap msgid "" "replace = LDAP::Mod.new(LDAP::LDAP_MOD_REPLACE | LDAP::LDAP_MOD_BVALUES,\n" " \"userPassword\",\n" " [newp])\n" msgstr "" "replace = LDAP::Mod.new(LDAP::LDAP_MOD_REPLACE | LDAP::LDAP_MOD_BVALUES,\n" " \"userPassword\",\n" " [newp])\n" #. type: delimited block . 4 #: documentation/content/en/articles/ldap-auth/_index.adoc:584 #, no-wrap msgid "" "conn = LDAP::SSLConn.new(ldap_server, 389, true)\n" "conn.set_option(LDAP::LDAP_OPT_PROTOCOL_VERSION, 3)\n" "conn.bind(luser, oldp)\n" "conn.modify(luser, [replace])\n" msgstr "" "conn = LDAP::SSLConn.new(ldap_server, 389, true)\n" "conn.set_option(LDAP::LDAP_OPT_PROTOCOL_VERSION, 3)\n" "conn.bind(luser, oldp)\n" "conn.modify(luser, [replace])\n" #. type: delimited block = 4 #: documentation/content/en/articles/ldap-auth/_index.adoc:589 msgid "" "Although not guaranteed to be free of security holes (the password is kept " "in memory, for example) this is cleaner and more flexible than a simple `sh` " "script." msgstr "" "Apesar de não ter a garantia de estar livre de falhas de segurança (a senha " "é mantida na memória, por exemplo), isso é mais limpo e mais flexível do que " "um simples script `sh`." #. type: Title == #: documentation/content/en/articles/ldap-auth/_index.adoc:591 #, no-wrap msgid "Security Considerations" msgstr "Considerações de segurança" #. type: delimited block = 4 #: documentation/content/en/articles/ldap-auth/_index.adoc:594 msgid "" "Now that your machines (and possibly other services) are authenticating " "against your LDAP server, this server needs to be protected at least as well " "as [.filename]#/etc/master.passwd# would be on a regular server, and " "possibly even more so since a broken or cracked LDAP server would break " "every client service." msgstr "" "Agora que suas máquinas (e possivelmente outros serviços) estão autenticando " "em seu servidor LDAP, este servidor precisa ser protegido pelo menos tão bem " "quanto [.filename]#/etc/master.passwd# seria em um servidor regular, e " "possivelmente mais ainda, uma vez que um servidor LDAP corrompido quebraria " "todos os serviços do cliente." #. type: delimited block = 4 #: documentation/content/en/articles/ldap-auth/_index.adoc:597 msgid "" "Remember, this section is not exhaustive. You should continually review " "your configuration and procedures for improvements." msgstr "" "Lembre-se, esta seção não é exaustiva. Você deve revisar continuamente sua " "configuração e procedimentos para melhorias." #. type: Title === #: documentation/content/en/articles/ldap-auth/_index.adoc:599 #, no-wrap msgid "Setting Attributes Read-only" msgstr "Definindo atributos somente leitura" #. type: delimited block = 4 #: documentation/content/en/articles/ldap-auth/_index.adoc:603 msgid "" "Several attributes in LDAP should be read-only. If left writable by the " "user, for example, a user could change his `uidNumber` attribute to `0` and " "get `root` access!" msgstr "" "Vários atributos no LDAP devem ser somente leitura. Se deixado gravável pelo " "usuário, por exemplo, um usuário poderia alterar seu atributo `uidNumber` " "para `0` e obter acesso ao `root`!" #. type: delimited block = 4 #: documentation/content/en/articles/ldap-auth/_index.adoc:607 msgid "" "To begin with, the `userPassword` attribute should not be world-readable. " "By default, anyone who can connect to the LDAP server can read this " "attribute. To disable this, put the following in [.filename]#slapd.conf#:" msgstr "" "Para começar, o atributo `userPassword` não deve ser legível por todos. Por " "padrão, qualquer pessoa que possa se conectar ao servidor LDAP pode ler esse " "atributo. Para desabilitar isso, coloque o seguinte em [.filename]#slapd." "conf#:" #. type: Block title #: documentation/content/en/articles/ldap-auth/_index.adoc:609 #, no-wrap msgid "Hide Passwords" msgstr "Ocultar senhas" #. type: delimited block . 4 #: documentation/content/en/articles/ldap-auth/_index.adoc:620 #: documentation/content/en/articles/ldap-auth/_index.adoc:646 #, no-wrap msgid "" "access to dn.subtree=\"ou=people,dc=example,dc=org\"\n" " attrs=userPassword\n" " by self write\n" " by anonymous auth\n" " by * none\n" msgstr "" "access to dn.subtree=\"ou=people,dc=example,dc=org\"\n" " attrs=userPassword\n" " by self write\n" " by anonymous auth\n" " by * none\n" #. type: delimited block . 4 #: documentation/content/en/articles/ldap-auth/_index.adoc:624 #: documentation/content/en/articles/ldap-auth/_index.adoc:653 #, no-wrap msgid "" "access to *\n" " by self write\n" " by * read\n" msgstr "" "access to *\n" " by self write\n" " by * read\n" #. type: delimited block = 4 #: documentation/content/en/articles/ldap-auth/_index.adoc:629 msgid "" "This will disallow reading of the `userPassword` attribute, while still " "allowing users to change their own passwords." msgstr "" "Isso não permitirá a leitura do atributo `userPassword`, enquanto ainda " "permite que os usuários alterem suas próprias senhas." #. type: delimited block = 4 #: documentation/content/en/articles/ldap-auth/_index.adoc:633 msgid "" "Additionally, you'll want to keep users from changing some of their own " "attributes. By default, users can change any attribute (except for those " "which the LDAP schemas themselves deny changes), such as `uidNumber`. To " "close this hole, modify the above to" msgstr "" "Além disso, você desejará impedir que os usuários alterem alguns de seus " "próprios atributos. Por padrão, os usuários podem alterar qualquer atributo (" "exceto aqueles que os próprios esquemas LDAP negam alterações), como " "`uidNumber`. Para fechar este buraco, modifique o acima para" #. type: Block title #: documentation/content/en/articles/ldap-auth/_index.adoc:635 #, no-wrap msgid "Read-only Attributes" msgstr "Atributos somente leitura" #. type: delimited block . 4 #: documentation/content/en/articles/ldap-auth/_index.adoc:649 #, no-wrap msgid "" "access to attrs=homeDirectory,uidNumber,gidNumber\n" " by * read\n" msgstr "" "access to attrs=homeDirectory,uidNumber,gidNumber\n" " by * read\n" #. type: delimited block = 4 #: documentation/content/en/articles/ldap-auth/_index.adoc:658 msgid "This will stop users from being able to masquerade as other users." msgstr "Isso impedirá que os usuários se disfarçam como outros usuários." #. type: Title === #: documentation/content/en/articles/ldap-auth/_index.adoc:660 #, no-wrap msgid "`root` Account Definition" msgstr "Definição da conta `root`" #. type: delimited block = 4 #: documentation/content/en/articles/ldap-auth/_index.adoc:665 msgid "" "Often the `root` or manager account for the LDAP service will be defined in " "the configuration file. OpenLDAP supports this, for example, and it works, " "but it can lead to trouble if [.filename]#slapd.conf# is compromised. It " "may be better to use this only to bootstrap yourself into LDAP, and then " "define a `root` account there." msgstr "" "Geralmente, a conta `root` ou a conta de administrador para o serviço LDAP " "será definida no arquivo de configuração. O OpenLDAP suporta isso, por " "exemplo, e funciona, mas pode causar problemas se o [.filename]#slapd.conf# " "estiver comprometido. Pode ser melhor usar isto apenas para se " "autoinicializar no LDAP, e então definir uma conta `root`." #. type: delimited block = 4 #: documentation/content/en/articles/ldap-auth/_index.adoc:669 msgid "" "Even better is to define accounts that have limited permissions, and omit a " "`root` account entirely. For example, users that can add or remove user " "accounts are added to one group, but they cannot themselves change the " "membership of this group. Such a security policy would help mitigate the " "effects of a leaked password." msgstr "" "Melhor ainda é definir contas com permissões limitadas e omitir totalmente " "uma conta `root`. Por exemplo, os usuários que podem adicionar ou remover " "contas de usuário são adicionados a um grupo, mas não podem alterar a " "participação desse grupo. Essa política de segurança ajudaria a mitigar os " "efeitos de uma senha perdida." #. type: Block title #: documentation/content/en/articles/ldap-auth/_index.adoc:671 #: documentation/content/en/articles/ldap-auth/_index.adoc:677 #, no-wrap msgid "Creating a Management Group" msgstr "Criando um grupo de gerenciamento" #. type: delimited block = 4 #: documentation/content/en/articles/ldap-auth/_index.adoc:675 msgid "" "Say you want your IT department to be able to change home directories for " "users, but you do not want all of them to be able to add or remove users. " "The way to do this is to add a group for these admins:" msgstr "" "Digamos que você queira que seu departamento de TI possa alterar os " "diretórios pessoais dos usuários, mas não deseja que todos eles possam " "adicionar ou remover usuários. A maneira de fazer isso é adicionar um grupo " "para esses administradores:" #. type: delimited block . 4 #: documentation/content/en/articles/ldap-auth/_index.adoc:690 #, no-wrap msgid "" "dn: cn=homemanagement,dc=example,dc=org\n" "objectClass: top\n" "objectClass: posixGroup\n" "cn: homemanagement\n" "gidNumber: 121 # required for posixGroup\n" "memberUid: uid=tuser,ou=people,dc=example,dc=org\n" "memberUid: uid=user2,ou=people,dc=example,dc=org\n" msgstr "" "dn: cn=homemanagement,dc=example,dc=org\n" "objectClass: top\n" "objectClass: posixGroup\n" "cn: homemanagement\n" "gidNumber: 121 # required for posixGroup\n" "memberUid: uid=tuser,ou=people,dc=example,dc=org\n" "memberUid: uid=user2,ou=people,dc=example,dc=org\n" #. type: delimited block = 4 #: documentation/content/en/articles/ldap-auth/_index.adoc:695 msgid "And then change the permissions attributes in [.filename]#slapd.conf#:" msgstr "E então mude os atributos de permissões em [.filename]#slapd.conf#:" #. type: Block title #: documentation/content/en/articles/ldap-auth/_index.adoc:697 #, no-wrap msgid "ACLs for a Home Directory Management Group" msgstr "ACLs para um grupo de gerenciamento de diretório inicial" #. type: delimited block . 4 #: documentation/content/en/articles/ldap-auth/_index.adoc:707 #, no-wrap msgid "" "access to dn.subtree=\"ou=people,dc=example,dc=org\"\n" " attr=homeDirectory\n" " by dn=\"cn=homemanagement,dc=example,dc=org\"\n" " dnattr=memberUid write\n" msgstr "" "access to dn.subtree=\"ou=people,dc=example,dc=org\"\n" " attr=homeDirectory\n" " by dn=\"cn=homemanagement,dc=example,dc=org\"\n" " dnattr=memberUid write\n" #. type: delimited block = 4 #: documentation/content/en/articles/ldap-auth/_index.adoc:712 msgid "Now `tuser` and `user2` can change other users' home directories." msgstr "" "Agora `tuser` e `user2` podem alterar os diretórios home de outros usuários." #. type: delimited block = 4 #: documentation/content/en/articles/ldap-auth/_index.adoc:716 msgid "" "In this example we have given a subset of administrative power to certain " "users without giving them power in other domains. The idea is that soon no " "single user account has the power of a `root` account, but every power root " "had is had by at least one user. The `root` account then becomes " "unnecessary and can be removed." msgstr "" "Neste exemplo, demos um subconjunto de poder administrativo a certos " "usuários sem dar a eles poder em outros domínios. A idéia é que em breve " "nenhuma conta de usuário tenha o poder de uma conta `root`, mas todo poder " "que root tem seja tido por pelo menos um usuário. A conta `root` torna-se " "desnecessária e pode ser removida." #. type: Title === #: documentation/content/en/articles/ldap-auth/_index.adoc:718 #, no-wrap msgid "Password Storage" msgstr "Armazenamento de Senha" #. type: delimited block = 4 #: documentation/content/en/articles/ldap-auth/_index.adoc:722 msgid "" "By default OpenLDAP will store the value of the `userPassword` attribute as " "it stores any other data: in the clear. Most of the time it is base 64 " "encoded, which provides enough protection to keep an honest administrator " "from knowing your password, but little else." msgstr "" "Por padrão, OpenLDAP armazenará o valor do atributo `userPassword` conforme " "ele armazena quaisquer outros dados: puro texto. Na maioria das vezes, ele é " "codificado na base 64, o que fornece proteção suficiente para impedir que um " "administrador honesto conheça sua senha, mas pouco ainda." #. type: delimited block = 4 #: documentation/content/en/articles/ldap-auth/_index.adoc:725 msgid "" "It is a good idea, then, to store passwords in a more secure format, such as " "SSHA (salted SHA). This is done by whatever program you use to change " "users' passwords." msgstr "" "É uma boa idéia, então, armazenar senhas em um formato mais seguro, como o " "SSHA (salted SHA). Isso é feito por qualquer programa que você use para " "alterar as senhas dos usuários." #. type: Title == #: documentation/content/en/articles/ldap-auth/_index.adoc:730 #, no-wrap msgid "Useful Aids" msgstr "Ajudas Úteis" #. type: delimited block = 4 #: documentation/content/en/articles/ldap-auth/_index.adoc:733 msgid "" "There are a few other programs that might be useful, particularly if you " "have many users and do not want to configure everything manually." msgstr "" "Existem alguns outros programas que podem ser úteis, especialmente se você " "tiver muitos usuários e não quiser configurar tudo manualmente." #. type: delimited block = 4 #: documentation/content/en/articles/ldap-auth/_index.adoc:736 msgid "" "package:security/pam_mkhomedir[] is a PAM module that always succeeds; its " "purpose is to create home directories for users which do not have them. If " "you have dozens of client servers and hundreds of users, it is much easier " "to use this and set up skeleton directories than to prepare every home " "directory." msgstr "" "O package:security/pam_mkhomedir[] é um módulo PAM que sempre é bem-sucedido;" " Sua finalidade é criar diretórios pessoais para usuários que não os " "possuem. Se você tiver dezenas de servidores clientes e centenas de " "usuários, é muito mais fácil usar isso e configurar diretórios esqueletos do " "que preparar cada diretório inicial." #. type: delimited block = 4 #: documentation/content/en/articles/ldap-auth/_index.adoc:740 msgid "" "package:sysutils/cpu[] is a man:pw[8]-like utility that can be used to " "manage users in the LDAP directory. You can call it directly, or wrap " "scripts around it. It can handle both TLS (with the `-x` flag) and SSL " "(directly)." msgstr "" "O package:sysutils/cpu[] é um utilitário do tipo man:pw[8] que pode ser " "usado para gerenciar usuários no diretório LDAP. Você pode chamá-lo " "diretamente ou encapsular os scripts em torno dele. Ele pode manipular tanto " "o TLS (com o sinalizador `-x`) quanto o SSL (diretamente)." #. type: delimited block = 4 #: documentation/content/en/articles/ldap-auth/_index.adoc:744 msgid "" "package:sysutils/ldapvi[] is a great utility for editing LDAP values in an " "LDIF-like syntax. The directory (or subsection of the directory) is " "presented in the editor chosen by the `EDITOR` environment variable. This " "makes it easy to enable large-scale changes in the directory without having " "to write a custom tool." msgstr "" "O package:sysutils/ldapvi[] é um ótimo utilitário para editar valores LDAP " "em uma sintaxe semelhante a LDIF. O diretório (ou subseção do diretório) é " "apresentado no editor escolhido pela variável de ambiente `EDITOR`. Isso " "facilita a ativação de alterações em grande escala no diretório sem a " "necessidade de escrever uma ferramenta personalizada." #. type: delimited block = 4 #: documentation/content/en/articles/ldap-auth/_index.adoc:747 msgid "" "package:security/openssh-portable[] has the ability to contact an LDAP " "server to verify SSH keys. This is extremely nice if you have many servers " "and do not want to copy your public keys across all of them." msgstr "" "O package:security/openssh-portable[] tem a capacidade de contatar um " "servidor LDAP para verificar as chaves SSH. Isso é extremamente bom se você " "tiver muitos servidores e não quiser copiar suas chaves públicas em todos " "eles." #. type: Title == #: documentation/content/en/articles/ldap-auth/_index.adoc:752 #, no-wrap msgid "OpenSSL Certificates for LDAP" msgstr "Certificados OpenSSL para o LDAP" #. type: delimited block = 4 #: documentation/content/en/articles/ldap-auth/_index.adoc:756 msgid "" "If you are hosting two or more LDAP servers, you will probably not want to " "use self-signed certificates, since each client will have to be configured " "to work with each certificate. While this is possible, it is not nearly as " "simple as creating your own certificate authority, and signing your servers' " "certificates with that." msgstr "" "Se você estiver hospedando dois ou mais servidores LDAP, provavelmente não " "desejará usar certificados auto-assinados, já que cada cliente precisará ser " "configurado para trabalhar com cada certificado. Embora isso seja possível, " "não é tão simples quanto criar sua própria autoridade de certificação e " "assinar os certificados de seus servidores com isso." #. type: delimited block = 4 #: documentation/content/en/articles/ldap-auth/_index.adoc:758 msgid "" "The steps here are presented as they are with very little attempt at " "explaining what is going on-further explanation can be found in man:" "openssl[1] and its friends." msgstr "" "Os passos aqui são apresentados como eles são, com muito pouca tentativa de " "explicar o que está acontecendo - mais explicações podem ser encontradas em " "man:openssl[1] e aplicações iguais." #. type: delimited block = 4 #: documentation/content/en/articles/ldap-auth/_index.adoc:761 msgid "" "To create a certificate authority, we simply need a self-signed certificate " "and key. The steps for this again are" msgstr "" "Para criar uma autoridade de certificação, simplesmente precisamos de um " "certificado e chave auto-assinados. As etapas para isso novamente são" #. type: Block title #: documentation/content/en/articles/ldap-auth/_index.adoc:763 #, no-wrap msgid "Creating a Certificate" msgstr "Criando um Certificado" #. type: delimited block . 4 #: documentation/content/en/articles/ldap-auth/_index.adoc:772 #, no-wrap msgid "" "% openssl genrsa -out root.key 1024\n" "% openssl req -new -key root.key -out root.csr\n" "% openssl x509 -req -days 1024 -in root.csr -signkey root.key -out root.crt\n" msgstr "" "% openssl genrsa -out root.key 1024\n" "% openssl req -new -key root.key -out root.csr\n" "% openssl x509 -req -days 1024 -in root.csr -signkey root.key -out root.crt\n" #. type: delimited block = 4 #: documentation/content/en/articles/ldap-auth/_index.adoc:778 msgid "" "These will be your root CA key and certificate. You will probably want to " "encrypt the key and store it in a cool, dry place; anyone with access to it " "can masquerade as one of your LDAP servers." msgstr "" "Estas serão sua chave e certificado de CA raiz. Você provavelmente desejará " "criptografar a chave e armazená-la em um local seguro; qualquer pessoa com " "acesso a ele pode se passar por um dos seus servidores LDAP." #. type: delimited block = 4 #: documentation/content/en/articles/ldap-auth/_index.adoc:781 msgid "" "Next, using the first two steps above create a key [.filename]#ldap-server-" "one.key# and certificate signing request [.filename]#ldap-server-one.csr#. " "Once you sign the signing request with [.filename]#root.key#, you will be " "able to use [.filename]#ldap-server-one.*# on your LDAP servers." msgstr "" "Em seguida, usando as duas primeiras etapas acima, crie uma chave [.filename" "]#ldap-server-one.key# e a solicitação de assinatura de certificado [." "filename]#ldap-server-one.csr#. Depois de assinar o pedido de assinatura com " "[.filename]#root.key#, você poderá usar o [.filename]#ldap-server-one.*# nos " "servidores LDAP." #. type: Plain text #: documentation/content/en/articles/ldap-auth/_index.adoc:785 msgid "" "Do not forget to use the fully qualified domain name for the \"common name\" " "attribute when generating the certificate signing request; otherwise clients " "will reject a connection with you, and it can be very tricky to diagnose." msgstr "" "Não se esqueça de usar o nome de domínio totalmente qualificado para o " "atributo \"common name\" ao gerar a solicitação de assinatura de certificado;" " caso contrário, os clientes rejeitarão uma conexão com você e poderá ser " "muito complicado diagnosticar." #. type: delimited block = 4 #: documentation/content/en/articles/ldap-auth/_index.adoc:788 msgid "To sign the key, use `-CA` and `-CAkey` instead of `-signkey`:" msgstr "Para assinar a chave, use `-CA` e `-CAkey` em vez de `-signkey`:" #. type: Block title #: documentation/content/en/articles/ldap-auth/_index.adoc:790 #, no-wrap msgid "Signing as a Certificate Authority" msgstr "Assinando como uma autoridade de certificação" #. type: delimited block . 4 #: documentation/content/en/articles/ldap-auth/_index.adoc:799 #, no-wrap msgid "" "% openssl x509 -req -days 1024 \\\n" "-in ldap-server-one.csr -CA root.crt -CAkey root.key \\\n" "-out ldap-server-one.crt\n" msgstr "" "% openssl x509 -req -days 1024 \\\n" "-in ldap-server-one.csr -CA root.crt -CAkey root.key \\\n" "-out ldap-server-one.crt\n" #. type: delimited block = 4 #: documentation/content/en/articles/ldap-auth/_index.adoc:804 msgid "" "The resulting file will be the certificate that you can use on your LDAP " "servers." msgstr "" "O arquivo resultante será o certificado que você pode usar em seus " "servidores LDAP." #. type: delimited block = 4 #: documentation/content/en/articles/ldap-auth/_index.adoc:805 msgid "" "Finally, for clients to trust all your servers, distribute [.filename]#root." "crt# (the __certificate__, not the key!) to each client, and specify it in " "the `TLSCACertificateFile` directive in [.filename]#ldap.conf#." msgstr "" "Finalmente, para os clientes confiarem em todos os seus servidores, " "distribua [.filename]#root.crt# (o _certificado_, não a chave!) para cada " "cliente, e especifique-o na directiva `TLSCACertificateFile` no [." "filename]#ldap.conf#." #~ msgid "" #~ "include::shared/attributes/attributes-{{% lang %}}.adoc[] include::shared/" #~ "{{% lang %}}/teams.adoc[] include::shared/{{% lang %}}/mailing-lists." #~ "adoc[] include::shared/{{% lang %}}/urls.adoc[]" #~ msgstr "" #~ "include::shared/attributes/attributes-{{% lang %}}.adoc[] include::shared/" #~ "{{% lang %}}/teams.adoc[] include::shared/{{% lang %}}/mailing-lists." #~ "adoc[] include::shared/{{% lang %}}/urls.adoc[]"