aboutsummaryrefslogtreecommitdiff
path: root/documentation/content/es/articles/ldap-auth/_index.po
diff options
context:
space:
mode:
Diffstat (limited to 'documentation/content/es/articles/ldap-auth/_index.po')
-rw-r--r--documentation/content/es/articles/ldap-auth/_index.po1910
1 files changed, 1910 insertions, 0 deletions
diff --git a/documentation/content/es/articles/ldap-auth/_index.po b/documentation/content/es/articles/ldap-auth/_index.po
new file mode 100644
index 0000000000..2a58d41fc6
--- /dev/null
+++ b/documentation/content/es/articles/ldap-auth/_index.po
@@ -0,0 +1,1910 @@
+# SOME DESCRIPTIVE TITLE
+# Copyright (C) YEAR The FreeBSD Project
+# This file is distributed under the same license as the FreeBSD Documentation package.
+# Fernando Apesteguía <fernando.apesteguia@gmail.com>, 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-08-12 06:38+0000\n"
+"Last-Translator: Fernando Apesteguía <fernando.apesteguia@gmail.com>\n"
+"Language-Team: Spanish <https://translate-dev.freebsd.org/projects/"
+"documentation/articlesldap-auth_index/es/>\n"
+"Language: es\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 ""
+"Guía para la configuración de un servidor de autenticación LDAP en 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 "Autenticación LDAP"
+
+#. type: Plain text
+#: documentation/content/en/articles/ldap-auth/_index.adoc:45
+msgid "Abstract"
+msgstr "Resumen"
+
+#. 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 una guía para la configuración de un servidor "
+"LDAP (principalmente un servidor OpenLDAP) para la autenticación en FreeBSD. "
+"Esto es útil para situaciones en las que muchos servidores necesitan las "
+"mismas cuentas de usuario, por ejemplo, como reemplazo de 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 "Prólogo"
+
+#. 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 está destinado a proporcionar al lector una comprensión "
+"suficiente de LDAP para configurar un servidor LDAP. Este documento "
+"intentará proporcionar una explicación de package:net/nss_ldap[] y package:"
+"security/pam_ldap[] para usarlos con los servicios de la máquina del cliente "
+"para su uso con el 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 ""
+"Cuando termine, el lector debería poder configurar e implementar un servidor "
+"FreeBSD que pueda alojar un directorio LDAP, y configurar e implementar un "
+"servidor FreeBSD que pueda autenticarse en un directorio 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 artículo no pretende ser una explicación exhaustiva de las "
+"consideraciones de seguridad, robustez o mejores prácticas para configurar "
+"LDAP u otros de los servicios que se explican aquí. Aunque el autor tiene "
+"cuidado de hacer todo correctamente, no aborda los problemas de seguridad "
+"más allá del alcance general. Este artículo debe tenerse en cuenta para "
+"sentar las bases teóricas únicamente, y cualquier implementación real debe "
+"ir acompañado de un análisis cuidadoso de los requisitos."
+
+#. type: Title ==
+#: documentation/content/en/articles/ldap-auth/_index.adoc:66
+#, no-wrap
+msgid "Configuring LDAP"
+msgstr "Configurando 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\" (Protocolo Ligero "
+"de Acceso a Directorio) y es un subconjunto del Protocolo de Acceso a "
+"Directorio X.500. Su especificación más reciente se encuentra en http://www."
+"ietf.org/rfc/rfc4510.txt[RFC4510]. En esencia es una base de datos que "
+"espera recibir muchas más consultas que escrituras."
+
+#. 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 ""
+"En los ejemplos de este documento se utilizará el servidor LDAP http://www."
+"openldap.org/[OpenLDAP]; aunque los procedimientos deberían ser aplicables a "
+"los diferentes servidores, la mayor parte de la administración es específica "
+"de OpenLDAP. Hay varias versiones del servidor en la colección de ports, por "
+"ejemplo, package:net/openldap24-server[]. Los clientes necesitarán las "
+"librerías necesarias del paquete package:net/openldap24-client[]."
+
+#. 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 ""
+"Hay (básicamente) dos áreas del servicio LDAP que necesitan configuración. "
+"Lo primero es configurar un servidor para recibir conexiones correctamente, "
+"y lo segundo es añadir entradas al directorio del servidor para que las "
+"herramientas de FreeBSD sepan como interactuar con él."
+
+#. type: Title ===
+#: documentation/content/en/articles/ldap-auth/_index.adoc:80
+#, no-wrap
+msgid "Setting Up the Server for Connections"
+msgstr "Configurar el Servidor para recibir Conexiones"
+
+#. 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 sección es específica de OpenLDAP. Si usas otro servidor, necesitarás "
+"consultar su propia documentación."
+
+#. 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 OpenLDAP"
+
+#. type: Plain text
+#: documentation/content/en/articles/ldap-auth/_index.adoc:92
+msgid "First, install OpenLDAP:"
+msgstr "Primero, instala 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 ""
+"Esto instala los binarios `slapd` y `slurpd`, junto con las librerías "
+"OpenLDAP necesarias."
+
+#. type: Title ====
+#: documentation/content/en/articles/ldap-auth/_index.adoc:109
+#, no-wrap
+msgid "Configuring OpenLDAP"
+msgstr "Configurando OpenLDAP"
+
+#. type: delimited block = 4
+#: documentation/content/en/articles/ldap-auth/_index.adoc:112
+msgid "Next we must configure OpenLDAP."
+msgstr "Después necesitamos configurar 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 ""
+"Es necesario que hagas obligatorio el uso de cifrado en tus conexiones al "
+"servidor LDAP; de lo contrario, las contraseñas de sus usuarios se "
+"transferirán en texto plano, lo que se considera inseguro. Las herramientas "
+"que utilizaremos admiten dos tipos muy similares de encriptación, SSL y 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 \"Seguridad en Capa de Transporte\" (Transportation Layer "
+"Security). Los servicios que utilizan TLS suelen conectarse _a los mismos_ "
+"puertos que los servicios que no utilizan TLS; por lo tanto un servidor SMTP "
+"que soporta TLS escuchará conexiones en el puerto 25 y un servidor LDAP "
+"escuchará conexiones en 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 \"Capa de Sockets Seguros\" (Secure Sockets Layer) y los "
+"servicios que implementan SSL _no_ escuchan en los mismos puertos que sus "
+"equivalentes sin SSL. Por lo tanto SMTPS escucha en el puerto 465 (no en el "
+"25), HTTPS escucha en el 443 y LDAPS en el 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 ""
+"La razón por la que SSL utiliza un puerto diferente a TLS es porque una "
+"conexión TLS empieza como texto plano y cambia al tráfico cifrado después de "
+"la directiva `STARTTLS`. Las conexiones SSL se cifran desde el principio. "
+"Aparte de eso, no hay diferencias sustanciales entre ambos."
+
+#. 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 OpenLDAP para que utilice TLS ya que SSL se considera 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 ""
+"Una vez que hemos instalado OpenLDAP, los siguientes parámetros en [."
+"filename]#/usr/local/etc/openldap/slapd.conf# habilitarán el uso de 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 ""
+"En este caso, `ssf=128` indica a OpenLDAP que solicite una encriptación de "
+"128 bits para todas las conexiones, tanto para búsquedas como para "
+"actualizaciones. Este parámetro se podría configurar según las necesidades "
+"de seguridad de tu sitio web, pero es raro que necesites rebajarlo ya que la "
+"mayoría de las librerías cliente de LDAP soportan encriptación fuerte."
+
+#. 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 ""
+"Los ficheros [.filename]#cert.crt#, [.filename]#cert.key#, y [."
+"filename]#cacert.crt# son necesarios para que los clientes te autentiquen _a "
+"ti_ como el servidor LDAP válido. Si sólo quieres ejecutar un servidor, "
+"puedes crear un certificado auto firmado con OpenSSL:"
+
+#. type: Block title
+#: documentation/content/en/articles/ldap-auth/_index.adoc:149
+#, no-wrap
+msgid "Generating an RSA Key"
+msgstr "Generar una Clave 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 ""
+"En este punto se te deberían preguntar algunos valores. Podrías introducir "
+"los valores que quisieras; sin embargo, es importante que el valor de "
+"\"Common Name\" sea el nombre de dominio del servidor LDAP completamente "
+"cualificado. En nuestro caso, y en los ejemplos, el servidor es "
+"_server.example.org_. Establecer este valor incorrectamente hará que los "
+"clientes no puedan conectar. Esto puede causar una gran frustración así que "
+"asegúrate de que sigues estos pasos con cuidado."
+
+#. type: delimited block = 4
+#: documentation/content/en/articles/ldap-auth/_index.adoc:173
+msgid "Finally, the certificate signing request needs to be signed:"
+msgstr "Finalmente, el certificado debe firmarse:"
+
+#. type: Block title
+#: documentation/content/en/articles/ldap-auth/_index.adoc:175
+#, no-wrap
+msgid "Self-signing the Certificate"
+msgstr "Autofirmar el 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 <<ssl-"
+"ca>> to generate a CA key and use it to sign individual server certificates."
+msgstr ""
+"Esto creará un certificado auto firmado que puede ser usado para las "
+"directivas en [.filename]#slapd.conf#, donde [.filename]#cert.crt# y [."
+"filename]#cacert.crt# son el mismo fichero. Si vas a utilizar muchos "
+"servidores OpenLDA (para replicación vía `slurpd`) querrás echar un vistazo "
+"a <<ssl-ca>> para generar una clave CA y usarla para firmar los certificados "
+"de servidor individuales."
+
+#. 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 "Una vez hecho esto, escribe lo siguiente en [.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 ""
+"Después ejecuta `/usr/local/etc/rc.d/slapd start`. Esto debería arrancar "
+"OpenLDAP. Confirma que está escuchando en el puerto 389 con"
+
+#. 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 "Configurar el 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 ""
+"Instala el port package:net/openldap24-client[] para obtener las librerías "
+"de OpenLDAP. Las máquinas cliente siempre tendrán las librerías de OpenLDAP "
+"pues que eso es lo único que soportan package:security/pam_ldap[] y package:"
+"net/nss_ldap[], al menos por el momento."
+
+#. 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 ""
+"El fichero de configuración para las librerías de OpenLDAP es [.filename]#/"
+"usr/local/etc/openldap/ldap.conf#. Edita este fichero para que contenga los "
+"siguientes 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 ""
+"Es importante que tus clientes tengan acceso a [.filename]#cacert.crt#, de "
+"lo contrario no podrán conectarse."
+
+#. 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 ""
+"Hay dos ficheros que se llaman [.filename]#ldap.conf#. El primero es este "
+"fichero, que es para las librerías OpenLDAP y define cómo hablar con el "
+"servidor. El segundo es [.filename]#/usr/local/etc/ldap.conf# y es 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 ""
+"En este punto deberías ser capaz de ejecutar `ldapsearch -Z` en la maquina "
+"cliente; `-Z` significa \"usa TLS\". Si encuentras un error, entonces algo "
+"está mal configurado; seguramente sean tus certificados. Utiliza los "
+"comandos `s_client` y `s_server` de man:openssl[1] para asegurarte de que "
+"están correctamente configurados y firmados."
+
+#. type: Title ===
+#: documentation/content/en/articles/ldap-auth/_index.adoc:243
+#, no-wrap
+msgid "Entries in the Database"
+msgstr "Entradas en la base de datos"
+
+#. 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 ""
+"La autenticación en un directorio LDAP se logra generalmente al intentar "
+"vincularse al directorio como el usuario que se conecta. Esto se realiza "
+"mediante el establecimiento de un enlace \"simple\" en el directorio con el "
+"nombre de usuario proporcionado. Si hay una entrada con el `uid` igual al "
+"nombre de usuario y el atributo `userPassword` de la entrada coincide con la "
+"contraseña proporcionada, el enlace tiene éxito."
+
+#. 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 ""
+"Lo primero que tenemos que hacer es averiguar en qué parte del directorio "
+"estarán nuestros usuarios."
+
+#. 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 ""
+"La entrada base de nuestra base de datos es `dc=example,dc=org`. La mayoría "
+"de los clientes esperan una localización para los usuarios que sea algo como "
+"`ou=people,_base_` así que es lo que se usará aquí. Sin embargo, ten en "
+"cuenta que esto es configurable."
+
+#. 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 ""
+"Así que la entrada ldif para la unidad organizacional `people` se parecerá 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 los usuarios se crearán como subentradas de esta unidad organizativa."
+
+#. 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 ""
+"Se podría pensar en la clase de objeto a la que pertenecerán sus usuarios. "
+"Por defecto, la mayoría de las herramientas utilizarán `people`, lo cual "
+"está bien si simplemente quieres proporcionar entradas para la "
+"autenticación. Sin embargo, si también vas a almacenar información de "
+"usuario en la base de datos LDAP, probablemente quieras usar `inetOrgPerson`"
+", el cual dispone de muchos atributos útiles. En cualquier caso, los "
+"esquemas relevantes deben introducirse en el archivo [.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 ejemplo utilizaremos la clase de objeto `person`. Si usas "
+"`inetOrgPerson`, los pasos son básicamente iguales, con la excepción de que "
+"se requiere el atributo `sn`."
+
+#. 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 añadir un usuario de pruebas llamado `tuser`, el ldif sería:"
+
+#. 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 ""
+"Yo empiezo los UIDs de mis usuarios de LDAP en el 10000 para evitar "
+"conflictos con las cuentas del sistema; puedes establecer el número que "
+"desees aquí, siempre que sea inferior a 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 ""
+"También necesitamos entradas grupales. Son tan configurables como las "
+"entradas de usuario, pero usaremos los valores predeterminados que se "
+"muestran a continuación:"
+
+#. 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 introducir estos en tu base de datos, puedes utilizar `slapadd` o "
+"`ldapadd` en un fichero que contenga esas entradas. De forma alternativa, "
+"puedes utilizar 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 ""
+"La utilidad `ldapsearch` en la máquina del cliente debería devolver estas "
+"entradas. Si es así, la base de datos está configurada correctamente para "
+"ser utilizada como un servidor de autenticación LDAP."
+
+#. type: Title ==
+#: documentation/content/en/articles/ldap-auth/_index.adoc:318
+#, no-wrap
+msgid "Client Configuration"
+msgstr "Configuración del Cliente"
+
+#. type: Plain text
+#: documentation/content/en/articles/ldap-auth/_index.adoc:321
+msgid ""
+"The client should already have OpenLDAP libraries from <<ldap-connect-"
+"client>>, but if you are installing several client machines you will need to "
+"install package:net/openldap24-client[] on each of them."
+msgstr ""
+"El cliente ya debería tener las librerías de OpenLDAP de <<ldap-connect-"
+"client>>, pero si estás instalando varias máquinas cliente, necesitarás "
+"instalar package:net/openldap24-client[] en cada una de ellas."
+
+#. 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 ""
+"FreeBSD requiere de la instalación de dos ports para autenticarse en un "
+"servidor LDAP, package:security/pam_ldap[] y package:net/nss_ldap[]."
+
+#. type: Title ===
+#: documentation/content/en/articles/ldap-auth/_index.adoc:325
+#, no-wrap
+msgid "Authentication"
+msgstr "Autenticación"
+
+#. 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 ""
+"package:security/pam_ldap[] se configura en el fichero [.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 fichero es _diferente_ del fichero de configuración de las librerías de "
+"OpenLDAP, [.filename]#/usr/local/etc/openldap/ldap.conf#; sin embargo, tiene "
+"muchas de las mismas opciones; de hecho es un superconjunto de ese fichero. "
+"En lo que queda de sección, referencias a [.filename]#ldap.conf# se refieren "
+"a [.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 ""
+"Por lo tanto, queremos copiar todos nuestros parámetros de configuración "
+"originales de [.filename]#openldap/ldap.conf# al nuevo [.filename]#ldap.conf#"
+". Una vez hecho esto, le indicaremos a package:security/pam_ldap[] qué "
+"buscar en el servidor de directorio."
+
+#. 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 nuestros usuarios mediante el atributo `uid`. Para "
+"configurarlo (aunque es el valor por defecto), establece la directiva "
+"`pam_login_attribute` en [.filename]#ldap.conf#:"
+
+#. type: Block title
+#: documentation/content/en/articles/ldap-auth/_index.adoc:342
+#, no-wrap
+msgid "Setting `pam_login_attribute`"
+msgstr "Estableciendo `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 ""
+"Con esto ya establecido, package:security/pam_ldap[] buscará el valor "
+"`uid=_username_` en todo el directorio LDAP bajo `base`. Si encuentra una "
+"sola entrada, intentará vincular a ese usuario con la contraseña que se le "
+"ha pasado. Se vincula correctamente, entonces permitirá el acceso. En "
+"cualquier otro caso fallará."
+
+#. 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 ""
+"Los usuarios cuyo shell no esté en [.filename]#/etc/shells# no podrán "
+"iniciar sesión. Esto es muy importante cuando se configura Bash como la "
+"shell de usuario en el servidor LDAP. Bash no está incluido en la "
+"instalación estándar de FreeBSD. Cuando se instala desde un paquete o port, "
+"se encuentra en el directorio [.filename]#/usr/local/bin/bash#. Comprueba "
+"que la ruta a la shell en el servidor esté configurada correctamente:"
+
+#. 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 ""
+"Hay dos opciones cuando en la salida se muestra `/bin/bash` en la última "
+"columna. La primera es cambiar en el servidor LDAP la entrada del usuario "
+"para que apunte a [.filename]#/usr/local/bin/bash#. La segunda es crear un "
+"enlace simbólico en la máquina LDAP cliente de forma que se pueda encontrar "
+"Bash en el lugar correcto:"
+
+#. 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 ""
+"Asegúrate de que [.filename]#/etc/shells# contiene las entradas tanto para `/"
+"usr/local/bin/bash` como para `/bin/bash`. El usuario ya será capaz de "
+"logearse en el sistema utilizando Bash como 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\", es el método por el "
+"cual FreeBSD autentica la mayoría de sus sesiones. Para decirle a FreeBSD "
+"que queremos usar un servidor LDAP, tendremos que añadir una línea al "
+"archivo PAM apropiado."
+
+#. 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 ""
+"La mayoría de las veces el fichero PAM apropiado es [.filename]#/etc/pam.d/"
+"sshd#, si quieres usar SSH (recuerda establecer las opciones "
+"correspondientes en [.filename]#/etc/ssh/sshd_config#, de lo contrario SSH "
+"no usará 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 PAM para la autenticación, añade la línea"
+
+#. 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 ""
+"El lugar exacto en el que aparece esta línea en el fichero y las opciones "
+"que aparecen en la cuarta columna determinan el comportamiento exacto del "
+"mecanismo de autenticación; lee man:pam[d]"
+
+#. 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 ""
+"Con esta configuración deberías ser capaz de autenticar un usuario contra un "
+"directorio LDAP. PAM realizará un vínculo con tus credenciales, y si tiene "
+"éxito le dirá a SSH que permita el acceso."
+
+#. 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 ""
+"Sin embargo, no es buena idea permitir que _cada_ usuario del directorio "
+"pueda acceder a _todos_ las máquinas clientes. Con la configuración actual, "
+"todo lo que necesita un usuario para iniciar sesión en una máquina es una "
+"entrada LDAP. Afortunadamente, hay algunas formas de restringir el acceso de "
+"los usuarios."
+
+#. 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 ""
+"[.filename]#ldap.conf# admite la directiva `pam_groupdn`; cada cuenta que se "
+"conecta a esta máquina debe ser miembro del grupo especificado aquí. Por "
+"ejemplo, si tienes"
+
+#. 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 ""
+"en [.filename]#ldap.conf#, solo los miembros de este grupo podrán iniciar "
+"sesión. Sin embargo hay algunas cosas a tener en cuenta."
+
+#. 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 ""
+"Los miembros de este grupo se especifican en uno o más atributos `memberUid` "
+"y cada atributo debe tener el nombre completamente unívoco del miembro. "
+"Entonces `memberUid: someuser` no funcionará; debe 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 ""
+"Además, esta directiva no se verifica en PAM durante la autenticación, se "
+"verifica durante la administración de la cuenta, por lo que necesitarás "
+"añadir más configuraciones en tus archivos de PAM en la sección de `account`"
+". Esto, a su vez, requerirá que _cada_ usuario se incluya en el grupo, lo "
+"cual no es necesariamente lo que queremos. Para evitar bloquear usuarios que "
+"no están en LDAP, debes habilitar el atributo `ignore_unknown_user`. "
+"Finalmente, debes configurar la opción `ignore_authinfo_unavail` para que el "
+"usuario no quede bloqueado en todos los ordenadores cuando el servidor LDAP "
+"no esté disponible."
+
+#. 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 "Tu [.filename]#pam.d/sshd# podría parecerse a esto:"
+
+#. type: Block title
+#: documentation/content/en/articles/ldap-auth/_index.adoc:432
+#, no-wrap
+msgid "Sample [.filename]#pam.d/sshd#"
+msgstr "Ejemplo de [.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 añadiendo estas líneas específicamente a [.filename]#pam.d/sshd#"
+", esto solo tendrá efecto en las sesiones SSH. Los usuarios de LDAP no "
+"podrán iniciar sesión por consola. Para cambiar este comportamiento, examina "
+"los otros archivos en [.filename]#/etc/pam.d# y modifícalos como corresponda."
+
+#. type: Title ===
+#: documentation/content/en/articles/ldap-auth/_index.adoc:458
+#, no-wrap
+msgid "Name Service Switch"
+msgstr "Name Service Switch"
+
+#. 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 es el servicio que mapea atributos a nombres. Por ejemplo, si un fichero "
+"es propiedad del usuario `1001`, una aplicación preguntará a NSS por el "
+"nombre de `1001` y podría obtener `bob` o `ted` o el cualquiera que sea el "
+"nombre del usuario."
+
+#. 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 ""
+"Ahora que tenemos nuestra información en LDAP, necesitamos decirle a NSS que "
+"mire ahí cuando se le hagan preguntas."
+
+#. 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 ""
+"Est es lo que hace el port package:net/nss_ldap[]. Utiliza el mismo archivo "
+"de configuración que package:security/pam_ldap[], y no debería necesitar "
+"ningún parámetro adicional después de su instalación. En cambio, solo "
+"quedaría editar el archivo [.filename]#/etc/nsswitch.conf# para aprovechar "
+"el directorio. Simplemente cambia las siguientes líneas:"
+
+#. 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 "por"
+
+#. 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 ""
+"Esto te permitirá asignar nombres de usuario a UIDs y UIDs a nombres de "
+"usuario."
+
+#. type: Plain text
+#: documentation/content/en/articles/ldap-auth/_index.adoc:487
+msgid "Congratulations! You should now have working LDAP authentication."
+msgstr ""
+"¡Felicidades! Ahora deberías tener la autenticación de LDAP en "
+"funcionamiento."
+
+#. type: Title ===
+#: documentation/content/en/articles/ldap-auth/_index.adoc:489
+#, no-wrap
+msgid "Caveats"
+msgstr "Advertencias"
+
+#. 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 <<security-"
+"passwd>>"
+msgstr ""
+"Desafortunadamente, en el momento de escribir esto FreeBSD no soportaba "
+"cambiar las contraseñas de usuario con man:passwd[1]. Como resultado, la "
+"mayoría de los administradores tienen que implementar una solución por ellos "
+"mismos. Aquí proporciono algunos ejemplos. Observa que si escribes tu propio "
+"script de cambio de contraseñas deberías tener en cuenta algunas "
+"consideraciones de seguridad; lee <<security-passwd>>"
+
+#. type: Block title
+#: documentation/content/en/articles/ldap-auth/_index.adoc:497
+#, no-wrap
+msgid "Shell Script for Changing Passwords"
+msgstr "Shell Script para Cambiar Contraseñas"
+
+#. 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 ""
+"Este script apenas verifica errores, pero lo más importante es el poco "
+"cuidado con el que almacena sus contraseñas. Si haces algo como esto, "
+"establece al menos el valor de `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 ""
+"Se puede utilizar un enfoque más flexible (y probablemente más seguro) "
+"escribiendo un programa personalizado o incluso una interfaz web. Lo "
+"siguiente es parte de una librería de Ruby que puede cambiar las contraseñas "
+"LDAP. Se puede usar por línea de comandos y en la web."
+
+#. type: Block title
+#: documentation/content/en/articles/ldap-auth/_index.adoc:542
+#, no-wrap
+msgid "Ruby Script for Changing Passwords"
+msgstr "Script en Ruby para Cambiar las Contraseñas"
+
+#. 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 ""
+"Aunque no se garantiza que esté a salvo de agujeros de seguridad (la "
+"contraseña se guarda en memoria, por ejemplo), esto es más limpio y más "
+"flexible que un simple script `sh`."
+
+#. type: Title ==
+#: documentation/content/en/articles/ldap-auth/_index.adoc:591
+#, no-wrap
+msgid "Security Considerations"
+msgstr "Consideraciones de Seguridad"
+
+#. 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 ""
+"Ahora que tus máquinas (y posiblemente otros servicios) se están "
+"autenticando contra su servidor LDAP, este servidor tiene que estar "
+"protegido, así como [.filename]#/etc/master.passwd# estaría en un servidor "
+"normal, y posiblemente aún más puesto que un servidor LDAP corrupto o "
+"comprometido rompería todos los servicios del 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 ""
+"Recuerda, esta sección no es exhaustiva. Debes revisar continuamente tu "
+"configuración y procedimientos para mejorarlos."
+
+#. type: Title ===
+#: documentation/content/en/articles/ldap-auth/_index.adoc:599
+#, no-wrap
+msgid "Setting Attributes Read-only"
+msgstr "Establecer Atributos de Solo Lectura"
+
+#. 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 ""
+"Varios atributos en LDAP deberían ser de sólo lectura. Si el usuario pudiera "
+"escribirlos, por ejemplo, un usuario podría cambiar su `uidNumber` a `0` ¡y "
+"obtener acceso `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 empezar, el atributo `userPassword` no debe ser legible por todo el "
+"mundo. Por defecto, cualquiera que pueda conectarse al servidor LDAP puede "
+"leer este atributo. Para deshabilitar esto, usa la siguiente configuración "
+"en el archivo [.filename]#slapd.conf#:"
+
+#. type: Block title
+#: documentation/content/en/articles/ldap-auth/_index.adoc:609
+#, no-wrap
+msgid "Hide Passwords"
+msgstr "Ocultar Contraseñas"
+
+#. 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 ""
+"Esto evitará que se pueda leer el atributo `userPassword`, a la vez que "
+"seguirá permitiendo a los usuarios cambiar sus propias contraseñas."
+
+#. 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 ""
+"Además, querrás evitar que los usuarios cambien algunos de sus atributos. De "
+"forma predeterminada, los usuarios pueden cambiar cualquier atributo ("
+"excepto aquellos en los que los esquemas LDAP mismos niegan cambios), como "
+"`uidNumber`. Para cerrar este agujero, modifica lo anterior a"
+
+#. type: Block title
+#: documentation/content/en/articles/ldap-auth/_index.adoc:635
+#, no-wrap
+msgid "Read-only Attributes"
+msgstr "Atributos de Solo Lectura"
+
+#. 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 "Esto evitará que los usuarios puedan hacerse pasar por otros usuarios."
+
+#. type: Title ===
+#: documentation/content/en/articles/ldap-auth/_index.adoc:660
+#, no-wrap
+msgid "`root` Account Definition"
+msgstr "Definición de la Cuenta `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 ""
+"Habitualmente la cuenta `root` o la cuenta del gestor para el servicio de "
+"LDAP estará definida en el fichero de configuración. Por ejemplo, OpenLDAP "
+"soporta esto y funciona, pero puede dar lugar a problemas si [."
+"filename]#slapd.conf# se ve comprometido. Sería mejor usar esto sólo para "
+"entrar en LDAP y después definir ahí una cuenta `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 ""
+"Es incluso mejor definir cuentas que tengan permisos limitados y omitir "
+"completamente la cuenta `root`. Por ejemplo, los usuarios que pueden crear o "
+"eliminar cuentas de usuario se añaden a un grupo, pero ellos mismos no "
+"pueden cambiar la pertenencia a este grupo. Esta política de seguridad "
+"ayudaría a mitigar los efectos de una contraseña que se haya podido filtrar."
+
+#. 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 "Crear un Grupo de Mantenimiento"
+
+#. 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 ""
+"Supongamos que quieres que tu departamento de TI pueda cambiar los "
+"directorios home de los usuarios, pero no quieres que todos puedan añadir o "
+"eliminar usuarios. La forma de hacerlo es agregar un grupo para estos "
+"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 ""
+"Y luego cambia los atributos de los permisos en [.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 el Grupo de Administración del Directorio Home"
+
+#. 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 ""
+"Ahora el usuario `tuser` y el `user2` pueden cambiar los directorios home "
+"del otro."
+
+#. 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 ""
+"En este ejemplo hemos concedido un subconjunto de poderes administrativos a "
+"algunos usuarios sin darles poder en otros dominios. La idea es que pronto "
+"ninguna cuenta de usuario tenga el poder de la cuenta de `root`, pero cada "
+"poder que tenga root lo tiene como mínimo algún otro usuario. Entonces la "
+"cuenta `root` se hace innecesaria y se puede eliminar."
+
+#. type: Title ===
+#: documentation/content/en/articles/ldap-auth/_index.adoc:718
+#, no-wrap
+msgid "Password Storage"
+msgstr "Almacenamiento de Contraseña"
+
+#. 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 ""
+"OpenLDAP almacenará por defecto el valor del atributo `userPssword` de la "
+"misma forma que cualquier otro dato: en plano. La mayoría de las veces está "
+"codificado en base 64 lo que proporciona suficiente protección para evitar "
+"que un administrador honesto conozca tu contraseña, pero poco más."
+
+#. 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 ""
+"Por lo tanto, es buena idea almacenar las contraseñas en un formato más "
+"seguro, como SSHA (salted SHA). Esto lo hace cualquier programa que uses "
+"para cambiar las contraseñas de los usuarios."
+
+#. type: Title ==
+#: documentation/content/en/articles/ldap-auth/_index.adoc:730
+#, no-wrap
+msgid "Useful Aids"
+msgstr "Consideraciones Útiles"
+
+#. 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 ""
+"Hay otros programas que pueden ser útiles, especialmente si tienes muchos "
+"usuarios y no quieres configurarlo todo 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 ""
+"package:security/pam_mkhomedir[] es un módulo de PAM que siempre funciona; "
+"su propósito es crear directorios home para los usuarios que no los tienen. "
+"Si tienes docenas de servidores cliente y cientos de usuarios, es mucho más "
+"fácil usarlo y configurar un directorio tipo plantilla para cada directorio "
+"home."
+
+#. 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 ""
+"package:sysutils/cpu[] es una utilidad tipo man:pw[8] que se puede usar para "
+"gestionar usuarios en el directorio LDAP. Puedes llamarlo directamente o "
+"envolverlo en un script. Puede gestionar tanto TLS (con el flag `-x`) como "
+"SSL (directamente)."
+
+#. 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 ""
+"package:sysutils/ldapvi[] es una utilidad de gran ayuda para editar valores "
+"LDAP en una sintaxis similar a LDIF. El directorio (o subsección del "
+"directorio) se muestra en el editor elegido por la variable de entorno "
+"`EDITOR`. Esto facilita la realización de cambios de directorio a gran "
+"escala sin escribir una herramienta 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 ""
+"package:security/openssh-portable[] tienen la capacidad de contactar con un "
+"servidor LDAP para verificar claves SSH. Esto es realmente útil si tienes "
+"muchos servidores y no quieres copiar tus claves públicas a todos ellos."
+
+#. type: Title ==
+#: documentation/content/en/articles/ldap-auth/_index.adoc:752
+#, no-wrap
+msgid "OpenSSL Certificates for LDAP"
+msgstr "Certificados OpenSSL para 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 ""
+"Si alojas dos o más servidores LDAP, probablemente no quieras utilizar "
+"certificados autofirmados, ya que cada cliente deberá estar configurado para "
+"funcionar con cada certificado. Si bien esto es posible, no es tan simple "
+"como crear tu propia autoridad de certificación y firmar con ella los "
+"certificados de tus servidores."
+
+#. 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 ""
+"Los pasos se muestran aquí tal cual, sin ninguna intención de explicar lo "
+"que hacen - se puede encontrar más información en man:openssl[1] y amigos."
+
+#. 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 crear una autoridad de certificación, simplemente necesitamos un "
+"certificado autofirmado y una clave. De nuevo, las instrucciones son"
+
+#. type: Block title
+#: documentation/content/en/articles/ldap-auth/_index.adoc:763
+#, no-wrap
+msgid "Creating a Certificate"
+msgstr "Crear un 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 ""
+"Estos serán tu clave CA y certificado root. Probablemente quieras cifrar la "
+"clave y almacenarla en un lugar freso y seco; cualquier persona con acceso a "
+"ella puede hacerse pasar por uno de tus 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 ""
+"A continuación, utilizando los dos pasos anteriores, crea la clave [."
+"filename]#ldap-server-one.key# y la solicitud de firma de certificado [."
+"filename]#ldap-server-one.csr#. Una vez que firmes la solicitud con la clave "
+"[.filename]#root.key#, podrás usar [.filename]#ldap-server-one.*# en tus "
+"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 ""
+"No olvides utilizar un fully qualified domain name (nombre de dominio "
+"completamente cualificado) para el atributo \"common name\" al generar la "
+"solicitud de firma del certificado; de lo contrario, los clientes rechazarán "
+"la conexión y esto puede ser muy difícil de 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 firmar la clave utiliza `-CA` y `_CAkey` en lugar de `-signkey`:"
+
+#. type: Block title
+#: documentation/content/en/articles/ldap-auth/_index.adoc:790
+#, no-wrap
+msgid "Signing as a Certificate Authority"
+msgstr "Firmar como Autoridad Certificadora"
+
+#. 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 ""
+"El archivo resultante será el certificado que puedes utilizar en sus "
+"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 ""
+"Por último, para que los clientes confíen en todos tus servidores, "
+"distribuye [.filename]#root.crt# (el __certificado__, ¡no la clave!) a cada "
+"cliente y especifícalo en la directiva `TLSCACertificateFile` de [."
+"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[]\n"
+#~ "include::shared/{{% lang %}}/teams.adoc[]\n"
+#~ "include::shared/{{% lang %}}/mailing-lists.adoc[]\n"
+#~ "include::shared/{{% lang %}}/urls.adoc[]"