<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="es">
	<id>https://manuais.iessanclemente.net/index.php?action=history&amp;feed=atom&amp;title=Introduci%C3%B3n_ao_LDAP._O_servidor_OpenLDAP</id>
	<title>Introdución ao LDAP. O servidor OpenLDAP - Historial de revisiones</title>
	<link rel="self" type="application/atom+xml" href="https://manuais.iessanclemente.net/index.php?action=history&amp;feed=atom&amp;title=Introduci%C3%B3n_ao_LDAP._O_servidor_OpenLDAP"/>
	<link rel="alternate" type="text/html" href="https://manuais.iessanclemente.net/index.php?title=Introduci%C3%B3n_ao_LDAP._O_servidor_OpenLDAP&amp;action=history"/>
	<updated>2026-10-26T07:11:17Z</updated>
	<subtitle>Historial de revisiones de esta página en la wiki</subtitle>
	<generator>MediaWiki 1.46.2</generator>
	<entry>
		<id>https://manuais.iessanclemente.net/index.php?title=Introduci%C3%B3n_ao_LDAP._O_servidor_OpenLDAP&amp;diff=61093&amp;oldid=prev</id>
		<title>Antonio en 00:03 9 ene 2017</title>
		<link rel="alternate" type="text/html" href="https://manuais.iessanclemente.net/index.php?title=Introduci%C3%B3n_ao_LDAP._O_servidor_OpenLDAP&amp;diff=61093&amp;oldid=prev"/>
		<updated>2017-01-09T00:03:50Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Página nueva&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Introdución ao LDAP ==&lt;br /&gt;
=== Introdución ===&lt;br /&gt;
[http://es.wikipedia.org/wiki/LDAP LDAP] (&amp;#039;&amp;#039;Lightweight Directory Access Protocol&amp;#039;&amp;#039;, Protocolo Lixeiro de Acceso a Directorio) é un protocolo do nivel de aplicación que permite o acceso a un servizo de directorio para buscar diversa información, xa sexan usuarios, grupos, equipos, etc. O directorio é un conxunto de obxectos organizados de forma xerárquica, de forma que o servidor LDAP pode verse como unha base de datos en forma de árbore, que está optimizada para realizar consultas e buscas. O servizo LDAP é moi utilizado para a autenticación de usuarios.&lt;br /&gt;
&lt;br /&gt;
=== Estrutura do LDAP ===&lt;br /&gt;
Para explicar a estrutura dun directorio basearémonos na seguinte imaxe:&lt;br /&gt;
&lt;br /&gt;
[[Imagen:00_Dominios_Linux_LDAP_parte_01_A.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
*Na imaxe obsérvase que hai:&lt;br /&gt;
**Un &amp;#039;&amp;#039;&amp;#039;dominio&amp;#039;&amp;#039;&amp;#039;, cor rosa.&lt;br /&gt;
**&amp;#039;&amp;#039;&amp;#039;Unidades organizativas&amp;#039;&amp;#039;&amp;#039;, cor laranxa. Notar que hai unidades organizativas para albergar distintos tipos de obxectos: usuarios, grupos, máquinas, ...&lt;br /&gt;
**&amp;#039;&amp;#039;&amp;#039;Obxectos finais&amp;#039;&amp;#039;&amp;#039;, cor verde. Tamén hai de distintos tipos, usuarios, grupos, equipos, etc.&lt;br /&gt;
&lt;br /&gt;
*Non confundir a Unidade Organizativa &amp;#039;&amp;#039;&amp;#039;grupos&amp;#039;&amp;#039;&amp;#039; cos grupos aos que van pertencer os usuarios. A Unidade Organizativa serve para organizar obxectos, pois poderíamos ter tódolos obxectos finais nunha soa unidade  organizativa, pero teríamos un LDAP caótico.&lt;br /&gt;
&lt;br /&gt;
*Na seguinte imaxe amósase como se organiza cada elemento da árbore dentro do directorio LDAP.&lt;br /&gt;
*Cada elemento anterior é o valor que toman os distintos atributos que definen un obxecto de LDAP.&lt;br /&gt;
&lt;br /&gt;
[[Imagen:00_Dominios_Linux_LDAP_parte_01_B.jpg|600px]]&lt;br /&gt;
&lt;br /&gt;
*Cada obxecto identifícase inequivocamente usando a notación de cadea de X.500 (http://es.wikipedia.org/wiki/X.500), como se vai amosar a continuación nos seguintes exemplos.&lt;br /&gt;
*Pero antes imos indicar o significado dos atributos:&lt;br /&gt;
**&amp;#039;&amp;#039;&amp;#039;DC&amp;#039;&amp;#039;&amp;#039; = Compoñente de dominio&lt;br /&gt;
**&amp;#039;&amp;#039;&amp;#039;OU&amp;#039;&amp;#039;&amp;#039; = Unidade organizativa&lt;br /&gt;
**&amp;#039;&amp;#039;&amp;#039;CN&amp;#039;&amp;#039;&amp;#039; = Nome común &lt;br /&gt;
*Ademais imos usar os seguintes atributos:&lt;br /&gt;
**&amp;#039;&amp;#039;&amp;#039;DN&amp;#039;&amp;#039;&amp;#039; = Nome distinguido&lt;br /&gt;
**&amp;#039;&amp;#039;&amp;#039;RDN&amp;#039;&amp;#039;&amp;#039; = Nome distinguido relativo. &lt;br /&gt;
&lt;br /&gt;
*A continuación imos ver, dunha forma moi resumida, como se almacenaría parte desa árbore nunha base de datos xerárquica de LDAP.&lt;br /&gt;
**dn: dc=iescalquera,dc=local&lt;br /&gt;
**&lt;br /&gt;
**dn: ou=usuarios,dc=iescalquera,dc=local&lt;br /&gt;
**dn: ou=grupos,dc=iescalquera,dc=local&lt;br /&gt;
**dn: ou=equipos,dc=iescalquera,dc=local&lt;br /&gt;
**&lt;br /&gt;
**dn: ou=profes,ou=usuarios,dc=iescalquera,dc=local&lt;br /&gt;
**dn: ou=alum,ou=usuarios,dc=iescalquera,dc=local&lt;br /&gt;
**...&lt;br /&gt;
**dn: cn=sol,ou=profes,ou=usuarios,dc=iescalquera,dc=local&lt;br /&gt;
**dn: cn=noe,ou=profes,ou=usuarios,dc=iescalquera,dc=local&lt;br /&gt;
**...&lt;br /&gt;
**dn: ou=dam1,ou=alum,ou=usuarios,dc=iescalquera,dc=local&lt;br /&gt;
**...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Observar que cada elemento da árbore ten unha entrada na base de datos. Esas entradas comezan co atributo &amp;#039;&amp;#039;&amp;#039;DN&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
*Toda entrada debe estar &amp;quot;colgada&amp;quot; de outra entrada &amp;quot;pai&amp;quot; que tamén debe existir na base de datos, salvo a primeira entrada que non colga de ninguén.&lt;br /&gt;
*Non pode haber dúas entradas &amp;#039;&amp;#039;&amp;#039;DN&amp;#039;&amp;#039;&amp;#039; iguais.&lt;br /&gt;
*As entradas do ficheiro pódense organizar nunha árbore como a da figura superior. A esa árbore chámaselle &amp;#039;&amp;#039;&amp;#039;DIT (Digital Information Tree)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Cada entrada ten un identificador único, o seu &amp;#039;&amp;#039;&amp;#039;Nome Distinguido&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;Distinguished Name&amp;#039;&amp;#039;, DN). Este consta do seu Nome Distinguido Relativo (&amp;#039;&amp;#039;Relative Distinguished Name&amp;#039;&amp;#039;, RDN) formado por algún ou algúns atributos da entrada, seguidos do DN da entrada pai. Por exemplo,&lt;br /&gt;
**&amp;#039;&amp;#039;&amp;#039;RDN: ou=profes&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
**&amp;#039;&amp;#039;&amp;#039;ou=usuarios,dc=iescalquera,dc=local&amp;#039;&amp;#039;&amp;#039; é o nome distinguido da entrada do pai, onde &amp;#039;&amp;#039;&amp;#039;dc&amp;#039;&amp;#039;&amp;#039; indica compoñente de dominio (&amp;#039;&amp;#039;domain component&amp;#039;&amp;#039;).&lt;br /&gt;
&lt;br /&gt;
===Atributos===&lt;br /&gt;
*Imos ver agora, un pequeno exemplo, de como se descompón e almacena unha das entradas anteriores:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dn: cn=sol,dc=iescalquera,dc=local&lt;br /&gt;
objectClass: inetOrgPerson&lt;br /&gt;
objectClass: organizationalPerson&lt;br /&gt;
objectClass: Person&lt;br /&gt;
objectClass: posixAccount&lt;br /&gt;
objectClass: shadowAccount&lt;br /&gt;
&lt;br /&gt;
cn: sol&lt;br /&gt;
givenName: Sol&lt;br /&gt;
sn: Lúa&lt;br /&gt;
telephoneNumber: +1 888 555 6789&lt;br /&gt;
telephoneNumber: +1 888 555 1232&lt;br /&gt;
mail: sol@iescalquera.local&lt;br /&gt;
uidNumber: 10000&lt;br /&gt;
gidNumber: 10000&lt;br /&gt;
userPassword: abc123.&lt;br /&gt;
gecos: Sol Lua&lt;br /&gt;
loginShell: /bin/bash&lt;br /&gt;
homeDirectory: /home/sol&lt;br /&gt;
shadowExpire: -1&lt;br /&gt;
shadowFlag: 0&lt;br /&gt;
shadowWarning: 7&lt;br /&gt;
shadowMin: 8&lt;br /&gt;
shadowMax: 999999&lt;br /&gt;
shadowLastChange: 10877&lt;br /&gt;
initials: SL&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Como vemos, neste caso, o obxecto &amp;#039;&amp;#039;&amp;#039;dn: cn=sol,dc=iescalquera,dc=local&amp;#039;&amp;#039;&amp;#039; ten unha serie de atributos. Logo veremos de onde saen eses ou outros atributos.&lt;br /&gt;
*A orde dos atributos é indiferente, pero sóense poñer os atributos &amp;#039;&amp;#039;&amp;#039;objectClass&amp;#039;&amp;#039;&amp;#039; ao principio de todo para saber de que tipo de obxecto estamos a falar: a que clase pertence.&lt;br /&gt;
*Segundo o tipo de clase &amp;#039;&amp;#039;&amp;#039;(objectClass)&amp;#039;&amp;#039;&amp;#039; o obxecto terá uns atributos ou outros. Como vemos, este obxecto pertence a varias clases, e por tanto terá os atributos de todas esas clases.&lt;br /&gt;
*Despois veremos que non teñen os mesmos atributos, por exemplo un usuario e un grupo, aínda que poidan compartir algún.&lt;br /&gt;
*Observar, por exemplo:&lt;br /&gt;
**Todos os atributos &amp;#039;&amp;#039;&amp;#039;shadow*&amp;#039;&amp;#039;&amp;#039; proveñen da clase &amp;#039;&amp;#039;&amp;#039;shadowAccount&amp;#039;&amp;#039;&amp;#039;. Co cal, aquel obxecto que non pertenza a esa clase non pode ter eses atributos.&lt;br /&gt;
**Pódense poñer varios teléfonos. Iso é porque ese atributo permite repeticións.&lt;br /&gt;
**&amp;#039;&amp;#039;&amp;#039;sn (surname)&amp;#039;&amp;#039;&amp;#039; serían os apelidos, ese atributo pertence á clase, ... seguro que o usuario é quen de mirar a cal pertence dos ObjectClass. Se non é quen agora, seguro que si o é cando remate este conxunto de apartados introdutorios.&lt;br /&gt;
**&amp;#039;&amp;#039;&amp;#039;homeDirectory&amp;#039;&amp;#039;&amp;#039;: seguro que o usuario sabe para que é ese atributo e a que clase pertence.&lt;br /&gt;
&lt;br /&gt;
=== O formato LDIF ===&lt;br /&gt;
O formato &amp;#039;&amp;#039;&amp;#039;LDIF (LDAP Data Interchange Format&amp;#039;&amp;#039;&amp;#039;) permítenos introducir e extraer as entradas do servidor LDAP mediante arquivos de texto (hai que ter en conta que LDAP por si mesmo é un protocolo binario). Aquí pódese ver un exemplo dun ficheiro LDIF coa información dun usuario (o mesmo que vimos antes):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dn: cn=sol,dc=iescalquera,dc=local&lt;br /&gt;
objectClass: inetOrgPerson&lt;br /&gt;
objectClass: organizationalPerson&lt;br /&gt;
objectClass: Person&lt;br /&gt;
objectClass: posixAccount&lt;br /&gt;
objectClass: shadowAccount&lt;br /&gt;
&lt;br /&gt;
cn: sol&lt;br /&gt;
givenName: Sol&lt;br /&gt;
sn: Lúa&lt;br /&gt;
telephoneNumber: +1 888 555 6789&lt;br /&gt;
telephoneNumber: +1 888 555 1232&lt;br /&gt;
mail: sol@iescalquera.local&lt;br /&gt;
uidNumber: 10000&lt;br /&gt;
gidNumber: 10000&lt;br /&gt;
userPassword: abc123.&lt;br /&gt;
gecos: Sol Lua&lt;br /&gt;
loginShell: /bin/bash&lt;br /&gt;
homeDirectory: /home/sol&lt;br /&gt;
shadowExpire: -1&lt;br /&gt;
shadowFlag: 0&lt;br /&gt;
shadowWarning: 7&lt;br /&gt;
shadowMin: 8&lt;br /&gt;
shadowMax: 999999&lt;br /&gt;
shadowLastChange: 10877&lt;br /&gt;
initials: SL&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
*Este ficheiros pódense facer a man e logo con comandos ser cargados na base de datos de LDAP.&lt;br /&gt;
*Cando extraemos información de LDAP imos extraela nese formato.&lt;br /&gt;
&lt;br /&gt;
===Esquemas===&lt;br /&gt;
*Pero de onde saen os atributos de LDAP?. Pois dos &amp;#039;&amp;#039;&amp;#039;esquemas&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Un &amp;#039;&amp;#039;&amp;#039;esquema&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
**Define unha &amp;#039;&amp;#039;&amp;#039;clase de obxectos&amp;#039;&amp;#039;&amp;#039; sobre a que se desexa gardar información, por exemplo &amp;#039;&amp;#039;libros&amp;#039;&amp;#039;.&lt;br /&gt;
**Define os &amp;#039;&amp;#039;&amp;#039;atributos&amp;#039;&amp;#039;&amp;#039; desa clase e o seu tipo, por exemplo: título, subtítulo, autores, clasificación, páxinas, etc.&lt;br /&gt;
**Defínese cales dos atributos son obrigatorios e cales non.&lt;br /&gt;
**Define as subclases que pode haber deses obxectos e os seus atributos, por exemplo: &amp;#039;&amp;#039;&amp;#039;libros técnicos&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
**Un esquema pode ser creado por calquera.&lt;br /&gt;
**Xa existen un conxunto de esquemas predefinidos e estandarizados que permiten o intercambio de información entre LDAPs instalados en distintos servidores.&lt;br /&gt;
*Por tanto, como xa se indicou, cando se crea un obxecto hai que indicar a que (sub)clase/s pertence e cubrir con valores os atributos obrigatorios de cada una desas (sub)clases. &lt;br /&gt;
*A modo de exemplo amosamos o formato dun esquema, máis alá da sintaxe, podemos concluír como se constrúe unha clase, que atributos ten obrigatorios, cales non e como se define un atributo. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
################ Definición de clases &lt;br /&gt;
objectclass ( 2.5.6.5 NAME &amp;#039;organizationalUnit&amp;#039;&lt;br /&gt;
        DESC &amp;#039;RFC2256: an organizational unit&amp;#039;&lt;br /&gt;
        SUP top STRUCTURAL&lt;br /&gt;
        MUST ou&lt;br /&gt;
        MAY ( userPassword $ searchGuide $ seeAlso $ businessCategory $&lt;br /&gt;
                x121Address $ registeredAddress $ destinationIndicator $&lt;br /&gt;
                preferredDeliveryMethod $ telexNumber $ teletexTerminalIdentifier $&lt;br /&gt;
                telephoneNumber $ internationaliSDNNumber $&lt;br /&gt;
                facsimileTelephoneNumber $ street $ postOfficeBox $ postalCode $&lt;br /&gt;
                postalAddress $ physicalDeliveryOfficeName $ st $ l $ description ) )&lt;br /&gt;
...&lt;br /&gt;
objectclass ( 2.5.6.6 NAME &amp;#039;person&amp;#039;&lt;br /&gt;
        DESC &amp;#039;RFC2256: a person&amp;#039;&lt;br /&gt;
        SUP top STRUCTURAL&lt;br /&gt;
        MUST ( sn $ cn )&lt;br /&gt;
        MAY ( userPassword $ telephoneNumber $ seeAlso $ description ) )&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
################ Exemplo de definición de atributos &lt;br /&gt;
attributetype ( 2.5.4.4 NAME ( &amp;#039;sn&amp;#039; &amp;#039;surname&amp;#039; )&lt;br /&gt;
        DESC &amp;#039;RFC2256: last (family) name(s) for which the entity is known by&amp;#039;&lt;br /&gt;
        SUP name )&lt;br /&gt;
&lt;br /&gt;
attributetype ( 2.5.4.20 NAME &amp;#039;telephoneNumber&amp;#039;&lt;br /&gt;
        DESC &amp;#039;RFC2256: Telephone Number&amp;#039;&lt;br /&gt;
        EQUALITY telephoneNumberMatch&lt;br /&gt;
        SUBSTR telephoneNumberSubstringsMatch&lt;br /&gt;
        SYNTAX 1.3.6.1.4.1.1466.115.121.1.50{32} )&lt;br /&gt;
&lt;br /&gt;
attributetype ( 2.5.4.9 NAME ( &amp;#039;street&amp;#039; &amp;#039;streetAddress&amp;#039; )&lt;br /&gt;
        DESC &amp;#039;RFC2256: street address of this object&amp;#039;&lt;br /&gt;
        EQUALITY caseIgnoreMatch&lt;br /&gt;
        SUBSTR caseIgnoreSubstringsMatch&lt;br /&gt;
        SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{128} )&lt;br /&gt;
&lt;br /&gt;
attributetype ( 2.5.4.17 NAME &amp;#039;postalCode&amp;#039;&lt;br /&gt;
	EQUALITY caseIgnoreMatch&lt;br /&gt;
	SUBSTR caseIgnoreSubstringsMatch&lt;br /&gt;
	SYNTAX 1.3.6.1.4.1.1466.115.121.1.15{40} )&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*A modo de exemplo explícanse algunhas das definicións dos atributos e das clases:&lt;br /&gt;
**&amp;#039;&amp;#039;&amp;#039;MUST&amp;#039;&amp;#039;&amp;#039;: indica que a clase debe conter eses atributos obrigatoriamente.&lt;br /&gt;
**&amp;#039;&amp;#039;&amp;#039;MAY&amp;#039;&amp;#039;&amp;#039;: indica que a clase pode conter os atributos que se relacionan.&lt;br /&gt;
**Observar que hai atributos, como &amp;#039;telephoneNumber&amp;#039;, que están en varias clases.&lt;br /&gt;
**&amp;#039;&amp;#039;&amp;#039;caseIgnoreMatch&amp;#039;&amp;#039;&amp;#039;: indica que a cadea pode conter caracteres tanto en maiúsculas como en minúsculas.&lt;br /&gt;
**&amp;#039;&amp;#039;&amp;#039;1.3.6.1.4.1.1466.115.121.1.15&amp;#039;&amp;#039;&amp;#039;: String de tipo Unicode (UTF-8).&lt;br /&gt;
&lt;br /&gt;
=== Características técnicas do servizo LDAP ===&lt;br /&gt;
* A última versión do protocolo LDAP é a versión 3 (LDAPv3), que ofrece como principais vantaxes con respecto á versión anterior (LDAPv2) o uso de conexións seguras con TLS/SSL e autenticación con SASL, uso do xogo de caracteres Unicode, e unha maior estensibilidade, polo que se recomenda utilizar sempre esta última versión.&lt;br /&gt;
* O protocolo &amp;#039;&amp;#039;&amp;#039;LDAP&amp;#039;&amp;#039;&amp;#039; utiliza o porto &amp;#039;&amp;#039;&amp;#039;TCP 389&amp;#039;&amp;#039;&amp;#039;, &lt;br /&gt;
* e o protocolo &amp;#039;&amp;#039;&amp;#039;LDAPS&amp;#039;&amp;#039;&amp;#039; (versión segura do protocolo que cifra os datos transmitidos) usa o &amp;#039;&amp;#039;&amp;#039;porto 636&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
* No seguinte enlace está a [http://es.wikipedia.org/wiki/Request_For_Comments RFC] que define o protocolo LDAPv3 http://tools.ietf.org/html/rfc2251&lt;br /&gt;
&lt;br /&gt;
== Características de OpenLDAP ==&lt;br /&gt;
[http://es.wikipedia.org/wiki/OpenLDAP OpenLDAP] ([http://www.openldap.org http://www.openldap.org]) é unha implementación libre do protocolo que soporta múltiples esquemas, polo que pode ser usada para conectarse a calquera outro LDAP.&lt;br /&gt;
OpenLDAP ten tres compoñentes principais:&lt;br /&gt;
* [http://www.openldap.org/software/man.cgi?query=slapd slapd (Standalone LDAP Daemon)]: demo de servidor LDAP autónomo.&lt;br /&gt;
* [http://www.openldap.org/software/man.cgi?query=ldap Librerías] que implantan o protocolo LDAP.&lt;br /&gt;
* Utilidades, ferramentas e clientes, como &amp;#039;&amp;#039;ldapsearch&amp;#039;&amp;#039;, &amp;#039;&amp;#039;ldapadd&amp;#039;&amp;#039;, &amp;#039;&amp;#039;ldapdelete&amp;#039;&amp;#039;, etc..&lt;br /&gt;
&lt;br /&gt;
== Configuración básica de OpenLDAP ==&lt;br /&gt;
Ata a versión 2.3 de OpenLDAP, a configuración básica do servidor era almacenada no ficheiro de configuración &amp;#039;&amp;#039;&amp;#039;slapd.conf&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
*En cambio, nas versións actuais a información de configuración do servidor tamén se xestiona co formato LDAP e pode ser modificada usando ficheiros LDIF.&lt;br /&gt;
*Esta información de configuración é almacenada no directorio &amp;#039;&amp;#039;&amp;#039;slapd.d&amp;#039;&amp;#039;&amp;#039;, que no caso de Ubuntu ou Debian atópase dentro de &amp;#039;&amp;#039;&amp;#039;/etc/ldap&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
*Desta forma, teremos un directorio ou unha &amp;#039;&amp;#039;&amp;#039;rama&amp;#039;&amp;#039;&amp;#039; (se vemos a información almacenada como unha árbore) especial no LDAP cun esquema predefinido para almacenar toda a información de configuración, que inclúe:&lt;br /&gt;
**Opcións globais de configuración do servidor. As entradas de configuración comezan co acrónimo &amp;#039;&amp;#039;&amp;#039;olc&amp;#039;&amp;#039;&amp;#039; (OpenLDAP Configuration).&lt;br /&gt;
**Módulos dinámicos que se queren cargar&lt;br /&gt;
**Esquemas&lt;br /&gt;
**Configuración dos distintos &amp;#039;&amp;#039;[http://es.wikipedia.org/wiki/OpenLDAP#Backends backends]&amp;#039;&amp;#039; (esquemas de almacenamento) e bases de datos do LDAP.&lt;br /&gt;
*Este directorio especial comeza na entrada &amp;#039;&amp;#039;&amp;#039;cn=config&amp;#039;&amp;#039;&amp;#039;, e segue a estrutura que se mostra a continuación:&lt;br /&gt;
&lt;br /&gt;
[[Imagen:Config_dit.png]]&lt;br /&gt;
&lt;br /&gt;
Na páxina do OpenLDAP pódese atopar información detallada sobre as distintas directivas que aquí se poden introducir: http://www.openldap.org/doc/admin24/slapdconf2.html#Configuration%20Directives&lt;br /&gt;
&lt;br /&gt;
===Esquemas de OpenLDAP===&lt;br /&gt;
*A continuación expóñense os tres esquemas que imos usar en OpenLdap para crear os obxectos (dominios,  unidades organizativas, usuarios, grupos, equipos, etc) nesta parte II e III.&lt;br /&gt;
*Na parte V introduciremos o esquema para crear obxectos tipo SAMBA, para que clientes Windows poidan facer uso de OpenLdap.&lt;br /&gt;
*Os esquemas que se expoñen teñen unha estrutura &amp;#039;&amp;#039;&amp;#039;enguedellada&amp;#039;&amp;#039;&amp;#039;, pero recomendamos que se lles adiquen uns minutos para familiarizarse só cos atributos e as clases de obxectos. Non hai que aprendelos...!!! pero si familiarizarse co formato e estrutura.&lt;br /&gt;
*No seguinte enlace hai información sobre as especificacións do esquema e como expandilo: http://www.openldap.org/doc/admin23/schema.html&lt;br /&gt;
*En &amp;#039;&amp;#039;&amp;#039;/etc/ldap/schema&amp;#039;&amp;#039;&amp;#039; hai un conxunto de esquemas predefinidos e estandarizados que poden ser cargados dentro da estrutura LDAP coa instrución:&lt;br /&gt;
**&amp;#039;&amp;#039;&amp;#039;ldapadd -Y EXTERNAL -H ldapi:/// -f esquema.ldif&amp;#039;&amp;#039;&amp;#039; (Pronto veremos e explicaremos esta instrución).&lt;br /&gt;
*Unha vez que se instale o paquete LDAP (slapd) pódense ver eses esquemas. Non todos eses esquemas están cargados no LDAP (Pronto instalaremos LDAP).&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@dserver00:~# ls /etc/ldap/schema/&lt;br /&gt;
collective.ldif    cosine.schema	 java.ldif	openldap.schema&lt;br /&gt;
collective.schema  duaconf.ldif		 java.schema	pmi.ldif&lt;br /&gt;
corba.ldif	   duaconf.schema	 misc.ldif	pmi.schema&lt;br /&gt;
corba.schema	   dyngroup.ldif	 misc.schema	ppolicy.ldif&lt;br /&gt;
core.ldif	   dyngroup.schema	 nis.ldif	ppolicy.schema&lt;br /&gt;
core.schema	   inetorgperson.ldif	 nis.schema	README&lt;br /&gt;
cosine.ldif	   inetorgperson.schema  openldap.ldif&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Os ficheiros &amp;#039;&amp;#039;&amp;#039;.schema&amp;#039;&amp;#039;&amp;#039; definen os elementos que conforman o esquema.&lt;br /&gt;
*Os ficheiros &amp;#039;&amp;#039;&amp;#039;.ldif&amp;#039;&amp;#039;&amp;#039; definen eses mesmos elementos pero en formato LDIF para ser cargados no LDAP. &lt;br /&gt;
*Deses esquemas hai catro que se instalan por defecto en Debian cando se instala o paquete (slapd): &amp;#039;&amp;#039;&amp;#039;core&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;cosine&amp;#039;&amp;#039;&amp;#039;, &amp;#039;&amp;#039;&amp;#039;nis&amp;#039;&amp;#039;&amp;#039; e &amp;#039;&amp;#039;&amp;#039;inetOrgPerson&amp;#039;&amp;#039;&amp;#039;. Agora pasamos a dar unhas pinceladas de cada un.&lt;br /&gt;
*Nos SOs que instalen o ldap sen os esquemas é preciso cargalos coa instrución anterior: &amp;#039;&amp;#039;&amp;#039;ldapadd -Y EXTERNAL -H ldapi:/// -f esquema.ldif&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
*Na imaxe amósase onde colgan os esquemas dentro da xerarquía de LDAP. Imaxe obtida do [http://albertomolina.wordpress.com/2010/12/02/anadir-un-nuevo-esquema-en-openldap-2-4/ Blog de Albero Molina Coballes]&lt;br /&gt;
[[Image:Esquema_config1.png|700px]]&lt;br /&gt;
*Os números entre &amp;#039;&amp;#039;&amp;#039;chaves {}&amp;#039;&amp;#039;&amp;#039;, indican a orde na que se cargou cada un dos esquemas.&lt;br /&gt;
*Os números serven para organizar un pouco a orde na que se deben cargar os elementos, por se algún depende de outro, aínda que na organización da base de datos a orde na que están as entradas é irrelevante.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Esquema core==== &lt;br /&gt;
*Aparte de poder ver o seu contido nos ficheiros de /etc/ldap/schema/core.*, pódese ver o contido do ficheiro no seguinte enlace: http://www.opensource.apple.com/source/OpenLDAP/OpenLDAP-108.1/OpenLDAP/servers/slapd/schema/core.ldif&lt;br /&gt;
&lt;br /&gt;
*E o esquema principal que contén as seguintes clases:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@dserver00:~# cat /etc/ldap/schema/core.schema | grep objectclass&lt;br /&gt;
#objectclass ( 2.5.6.0 NAME &amp;#039;top&amp;#039;&lt;br /&gt;
#objectclass ( 2.5.6.1 NAME &amp;#039;alias&amp;#039;&lt;br /&gt;
objectclass ( 2.5.6.2 NAME &amp;#039;country&amp;#039;&lt;br /&gt;
objectclass ( 2.5.6.3 NAME &amp;#039;locality&amp;#039;&lt;br /&gt;
objectclass ( 2.5.6.4 NAME &amp;#039;organization&amp;#039;&lt;br /&gt;
objectclass ( 2.5.6.5 NAME &amp;#039;organizationalUnit&amp;#039;&lt;br /&gt;
objectclass ( 2.5.6.6 NAME &amp;#039;person&amp;#039;&lt;br /&gt;
objectclass ( 2.5.6.7 NAME &amp;#039;organizationalPerson&amp;#039;&lt;br /&gt;
objectclass ( 2.5.6.8 NAME &amp;#039;organizationalRole&amp;#039;&lt;br /&gt;
objectclass ( 2.5.6.9 NAME &amp;#039;groupOfNames&amp;#039;&lt;br /&gt;
objectclass ( 2.5.6.10 NAME &amp;#039;residentialPerson&amp;#039;&lt;br /&gt;
objectclass ( 2.5.6.11 NAME &amp;#039;applicationProcess&amp;#039;&lt;br /&gt;
objectclass ( 2.5.6.12 NAME &amp;#039;applicationEntity&amp;#039;&lt;br /&gt;
objectclass ( 2.5.6.13 NAME &amp;#039;dSA&amp;#039;&lt;br /&gt;
objectclass ( 2.5.6.14 NAME &amp;#039;device&amp;#039;&lt;br /&gt;
objectclass ( 2.5.6.15 NAME &amp;#039;strongAuthenticationUser&amp;#039;&lt;br /&gt;
objectclass ( 2.5.6.16 NAME &amp;#039;certificationAuthority&amp;#039;&lt;br /&gt;
objectclass ( 2.5.6.17 NAME &amp;#039;groupOfUniqueNames&amp;#039;&lt;br /&gt;
objectclass ( 2.5.6.18 NAME &amp;#039;userSecurityInformation&amp;#039;&lt;br /&gt;
objectclass ( 2.5.6.16.2 NAME &amp;#039;certificationAuthority-V2&amp;#039;&lt;br /&gt;
objectclass ( 2.5.6.19 NAME &amp;#039;cRLDistributionPoint&amp;#039;&lt;br /&gt;
objectclass ( 2.5.6.20 NAME &amp;#039;dmd&amp;#039;&lt;br /&gt;
objectclass ( 2.5.6.21 NAME &amp;#039;pkiUser&amp;#039;&lt;br /&gt;
objectclass ( 2.5.6.22 NAME &amp;#039;pkiCA&amp;#039;&lt;br /&gt;
objectclass ( 2.5.6.23 NAME &amp;#039;deltaCRL&amp;#039;&lt;br /&gt;
objectclass ( 1.3.6.1.4.1.250.3.15 NAME &amp;#039;labeledURIObject&amp;#039;&lt;br /&gt;
objectclass ( 0.9.2342.19200300.100.4.19 NAME &amp;#039;simpleSecurityObject&amp;#039;&lt;br /&gt;
objectclass ( 1.3.6.1.4.1.1466.344 NAME &amp;#039;dcObject&amp;#039;&lt;br /&gt;
objectclass ( 1.3.6.1.1.3.1 NAME &amp;#039;uidObject&amp;#039;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Por sinalar algunhas: &amp;#039;organizationalUnit&amp;#039;, &amp;#039;organizationalPerson&amp;#039; e &amp;#039;person&amp;#039;&lt;br /&gt;
*Se se consulta o ficheiro .ldif dese esquema verase que cada entrada anterior comeza con &amp;#039;&amp;#039;&amp;#039;olc&amp;#039;&amp;#039;&amp;#039; (OpenLDAP Configuration)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;Os atributos que define son&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@dserver00:~# cat /etc/ldap/schema/core.schema | grep attributetype&lt;br /&gt;
&lt;br /&gt;
#attributetype ( 2.5.4.0 NAME &amp;#039;objectClass&amp;#039;&lt;br /&gt;
#attributetype ( 2.5.4.1 NAME ( &amp;#039;aliasedObjectName&amp;#039; &amp;#039;aliasedEntryName&amp;#039; )&lt;br /&gt;
attributetype ( 2.5.4.2 NAME &amp;#039;knowledgeInformation&amp;#039;&lt;br /&gt;
#attributetype ( 2.5.4.3 NAME ( &amp;#039;cn&amp;#039; &amp;#039;commonName&amp;#039; )&lt;br /&gt;
attributetype ( 2.5.4.4 NAME ( &amp;#039;sn&amp;#039; &amp;#039;surname&amp;#039; )&lt;br /&gt;
attributetype ( 2.5.4.5 NAME &amp;#039;serialNumber&amp;#039;&lt;br /&gt;
attributetype ( 2.5.4.6 NAME ( &amp;#039;c&amp;#039; &amp;#039;countryName&amp;#039; )&lt;br /&gt;
attributetype ( 2.5.4.7 NAME ( &amp;#039;l&amp;#039; &amp;#039;localityName&amp;#039; )&lt;br /&gt;
attributetype ( 2.5.4.8 NAME ( &amp;#039;st&amp;#039; &amp;#039;stateOrProvinceName&amp;#039; )&lt;br /&gt;
attributetype ( 2.5.4.9 NAME ( &amp;#039;street&amp;#039; &amp;#039;streetAddress&amp;#039; )&lt;br /&gt;
attributetype ( 2.5.4.10 NAME ( &amp;#039;o&amp;#039; &amp;#039;organizationName&amp;#039; )&lt;br /&gt;
attributetype ( 2.5.4.11 NAME ( &amp;#039;ou&amp;#039; &amp;#039;organizationalUnitName&amp;#039; )&lt;br /&gt;
attributetype ( 2.5.4.12 NAME &amp;#039;title&amp;#039;&lt;br /&gt;
#attributetype ( 2.5.4.13 NAME &amp;#039;description&amp;#039;&lt;br /&gt;
attributetype ( 2.5.4.14 NAME &amp;#039;searchGuide&amp;#039;&lt;br /&gt;
attributetype ( 2.5.4.15 NAME &amp;#039;businessCategory&amp;#039;&lt;br /&gt;
attributetype ( 2.5.4.16 NAME &amp;#039;postalAddress&amp;#039;&lt;br /&gt;
attributetype ( 2.5.4.17 NAME &amp;#039;postalCode&amp;#039;&lt;br /&gt;
attributetype ( 2.5.4.18 NAME &amp;#039;postOfficeBox&amp;#039;&lt;br /&gt;
attributetype ( 2.5.4.19 NAME &amp;#039;physicalDeliveryOfficeName&amp;#039;&lt;br /&gt;
attributetype ( 2.5.4.20 NAME &amp;#039;telephoneNumber&amp;#039;&lt;br /&gt;
attributetype ( 2.5.4.21 NAME &amp;#039;telexNumber&amp;#039;&lt;br /&gt;
attributetype ( 2.5.4.22 NAME &amp;#039;teletexTerminalIdentifier&amp;#039;&lt;br /&gt;
attributetype ( 2.5.4.23 NAME ( &amp;#039;facsimileTelephoneNumber&amp;#039; &amp;#039;fax&amp;#039; )&lt;br /&gt;
attributetype ( 2.5.4.24 NAME &amp;#039;x121Address&amp;#039;&lt;br /&gt;
attributetype ( 2.5.4.25 NAME &amp;#039;internationaliSDNNumber&amp;#039;&lt;br /&gt;
attributetype ( 2.5.4.26 NAME &amp;#039;registeredAddress&amp;#039;&lt;br /&gt;
attributetype ( 2.5.4.27 NAME &amp;#039;destinationIndicator&amp;#039;&lt;br /&gt;
attributetype ( 2.5.4.28 NAME &amp;#039;preferredDeliveryMethod&amp;#039;&lt;br /&gt;
attributetype ( 2.5.4.29 NAME &amp;#039;presentationAddress&amp;#039;&lt;br /&gt;
attributetype ( 2.5.4.30 NAME &amp;#039;supportedApplicationContext&amp;#039;&lt;br /&gt;
attributetype ( 2.5.4.31 NAME &amp;#039;member&amp;#039;&lt;br /&gt;
attributetype ( 2.5.4.32 NAME &amp;#039;owner&amp;#039;&lt;br /&gt;
attributetype ( 2.5.4.33 NAME &amp;#039;roleOccupant&amp;#039;&lt;br /&gt;
#attributetype ( 2.5.4.34 NAME &amp;#039;seeAlso&amp;#039;&lt;br /&gt;
#attributetype ( 2.5.4.35 NAME &amp;#039;userPassword&amp;#039;&lt;br /&gt;
attributetype ( 2.5.4.36 NAME &amp;#039;userCertificate&amp;#039;&lt;br /&gt;
attributetype ( 2.5.4.37 NAME &amp;#039;cACertificate&amp;#039;&lt;br /&gt;
attributetype ( 2.5.4.38 NAME &amp;#039;authorityRevocationList&amp;#039;&lt;br /&gt;
attributetype ( 2.5.4.39 NAME &amp;#039;certificateRevocationList&amp;#039;&lt;br /&gt;
attributetype ( 2.5.4.40 NAME &amp;#039;crossCertificatePair&amp;#039;&lt;br /&gt;
#attributetype ( 2.5.4.41 NAME &amp;#039;name&amp;#039;&lt;br /&gt;
attributetype ( 2.5.4.42 NAME ( &amp;#039;givenName&amp;#039; &amp;#039;gn&amp;#039; )&lt;br /&gt;
attributetype ( 2.5.4.43 NAME &amp;#039;initials&amp;#039;&lt;br /&gt;
attributetype ( 2.5.4.44 NAME &amp;#039;generationQualifier&amp;#039;&lt;br /&gt;
attributetype ( 2.5.4.45 NAME &amp;#039;x500UniqueIdentifier&amp;#039;&lt;br /&gt;
attributetype ( 2.5.4.46 NAME &amp;#039;dnQualifier&amp;#039;&lt;br /&gt;
attributetype ( 2.5.4.47 NAME &amp;#039;enhancedSearchGuide&amp;#039;&lt;br /&gt;
attributetype ( 2.5.4.48 NAME &amp;#039;protocolInformation&amp;#039;&lt;br /&gt;
#attributetype ( 2.5.4.49 NAME &amp;#039;distinguishedName&amp;#039;&lt;br /&gt;
attributetype ( 2.5.4.50 NAME &amp;#039;uniqueMember&amp;#039;&lt;br /&gt;
attributetype ( 2.5.4.51 NAME &amp;#039;houseIdentifier&amp;#039;&lt;br /&gt;
attributetype ( 2.5.4.52 NAME &amp;#039;supportedAlgorithms&amp;#039;&lt;br /&gt;
attributetype ( 2.5.4.53 NAME &amp;#039;deltaRevocationList&amp;#039;&lt;br /&gt;
attributetype ( 2.5.4.54 NAME &amp;#039;dmdName&amp;#039;&lt;br /&gt;
attributetype ( 2.5.4.65 NAME &amp;#039;pseudonym&amp;#039;&lt;br /&gt;
#attributetype ( 1.3.6.1.4.1.250.1.57 NAME &amp;#039;labeledURI&amp;#039;&lt;br /&gt;
#attributetype ( 0.9.2342.19200300.100.1.1&lt;br /&gt;
attributetype ( 0.9.2342.19200300.100.1.3 NAME ( &amp;#039;mail&amp;#039; &amp;#039;rfc822Mailbox&amp;#039; )&lt;br /&gt;
attributetype ( 0.9.2342.19200300.100.1.25 NAME ( &amp;#039;dc&amp;#039; &amp;#039;domainComponent&amp;#039; )&lt;br /&gt;
attributetype ( 0.9.2342.19200300.100.1.37 NAME ( &amp;#039;dc&amp;#039; &amp;#039;domainComponent&amp;#039; )&lt;br /&gt;
attributetype ( 1.2.840.113549.1.9.1 NAME ( &amp;#039;email&amp;#039; &amp;#039;emailAddress&amp;#039; &amp;#039;pkcs9email&amp;#039; )&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Botarlle un ollo aos distintos atributos, seguro que moitos son familiares.&lt;br /&gt;
*Se se consulta o ficheiro .ldif dese esquema verase que cada entrada anterior comeza con &amp;#039;&amp;#039;&amp;#039;olc&amp;#039;&amp;#039;&amp;#039; (OpenLDAP Configuration)&lt;br /&gt;
&lt;br /&gt;
====Esquema COSINE====&lt;br /&gt;
*O esquema &amp;#039;&amp;#039;&amp;#039;COSINE (Co-operation and Open Systems Interconnection in Europe)&amp;#039;&amp;#039;&amp;#039; define as seguintes clases.&lt;br /&gt;
*A versión que instalamos de OpenLDAP implanta a versión RFC 1274 (http://tools.ietf.org/html/rfc1274) que está obsoleta. A versión actual é RFC 4524  (http://tools.ietf.org/html/rfc4524).&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#objectclass ( 0.9.2342.19200300.100.4.3 NAME &amp;#039;pilotObject&amp;#039;&lt;br /&gt;
objectclass ( 0.9.2342.19200300.100.4.4 NAME ( &amp;#039;pilotPerson&amp;#039; &amp;#039;newPilotPerson&amp;#039; )&lt;br /&gt;
objectclass ( 0.9.2342.19200300.100.4.5 NAME &amp;#039;account&amp;#039;&lt;br /&gt;
objectclass ( 0.9.2342.19200300.100.4.6 NAME &amp;#039;document&amp;#039;&lt;br /&gt;
objectclass ( 0.9.2342.19200300.100.4.7 NAME &amp;#039;room&amp;#039;&lt;br /&gt;
objectclass ( 0.9.2342.19200300.100.4.9 NAME &amp;#039;documentSeries&amp;#039;&lt;br /&gt;
objectclass ( 0.9.2342.19200300.100.4.13 NAME &amp;#039;domain&amp;#039;&lt;br /&gt;
objectclass ( 0.9.2342.19200300.100.4.14 NAME &amp;#039;RFC822localPart&amp;#039;&lt;br /&gt;
objectclass ( 0.9.2342.19200300.100.4.15 NAME &amp;#039;dNSDomain&amp;#039;&lt;br /&gt;
objectclass ( 0.9.2342.19200300.100.4.17 NAME &amp;#039;domainRelatedObject&amp;#039;&lt;br /&gt;
objectclass ( 0.9.2342.19200300.100.4.18 NAME &amp;#039;friendlyCountry&amp;#039;&lt;br /&gt;
## objectclass ( 0.9.2342.19200300.100.4.19 NAME &amp;#039;simpleSecurityObject&amp;#039;&lt;br /&gt;
objectclass ( 0.9.2342.19200300.100.4.20 NAME &amp;#039;pilotOrganization&amp;#039;&lt;br /&gt;
objectclass ( 0.9.2342.19200300.100.4.21 NAME &amp;#039;pilotDSA&amp;#039;&lt;br /&gt;
objectclass ( 0.9.2342.19200300.100.4.22 NAME &amp;#039;qualityLabelledData&amp;#039;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;Os atributos&amp;#039;&amp;#039;&amp;#039;, entre eles:&lt;br /&gt;
**&amp;#039;&amp;#039;&amp;#039;photo&amp;#039;&amp;#039;&amp;#039;, &lt;br /&gt;
**&amp;#039;&amp;#039;&amp;#039;favoriteDrink&amp;#039;&amp;#039;&amp;#039;, hmmmmm!!!.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
##attributetype ( 0.9.2342.19200300.100.1.1 NAME ( &amp;#039;uid&amp;#039; &amp;#039;userid&amp;#039; )&lt;br /&gt;
attributetype ( 0.9.2342.19200300.100.1.2 NAME &amp;#039;textEncodedORAddress&amp;#039;&lt;br /&gt;
##attributetype ( 0.9.2342.19200300.100.1.3 NAME ( &amp;#039;mail&amp;#039; &amp;#039;rfc822Mailbox&amp;#039; )&lt;br /&gt;
attributetype ( 0.9.2342.19200300.100.1.4 NAME &amp;#039;info&amp;#039;&lt;br /&gt;
attributetype ( 0.9.2342.19200300.100.1.5 NAME ( &amp;#039;drink&amp;#039; &amp;#039;favouriteDrink&amp;#039; )&lt;br /&gt;
attributetype ( 0.9.2342.19200300.100.1.6 NAME &amp;#039;roomNumber&amp;#039;&lt;br /&gt;
attributetype ( 0.9.2342.19200300.100.1.7 NAME &amp;#039;photo&amp;#039;&lt;br /&gt;
attributetype ( 0.9.2342.19200300.100.1.8 NAME &amp;#039;userClass&amp;#039;&lt;br /&gt;
attributetype ( 0.9.2342.19200300.100.1.9 NAME &amp;#039;host&amp;#039;&lt;br /&gt;
attributetype ( 0.9.2342.19200300.100.1.10 NAME &amp;#039;manager&amp;#039;&lt;br /&gt;
attributetype ( 0.9.2342.19200300.100.1.11 NAME &amp;#039;documentIdentifier&amp;#039;&lt;br /&gt;
attributetype ( 0.9.2342.19200300.100.1.12 NAME &amp;#039;documentTitle&amp;#039;&lt;br /&gt;
attributetype ( 0.9.2342.19200300.100.1.13 NAME &amp;#039;documentVersion&amp;#039;&lt;br /&gt;
attributetype ( 0.9.2342.19200300.100.1.14 NAME &amp;#039;documentAuthor&amp;#039;&lt;br /&gt;
attributetype ( 0.9.2342.19200300.100.1.15 NAME &amp;#039;documentLocation&amp;#039;&lt;br /&gt;
attributetype ( 0.9.2342.19200300.100.1.20 NAME ( &amp;#039;homePhone&amp;#039; &amp;#039;homeTelephoneNumber&amp;#039; )&lt;br /&gt;
attributetype ( 0.9.2342.19200300.100.1.21 NAME &amp;#039;secretary&amp;#039;&lt;br /&gt;
attributetype ( 0.9.2342.19200300.100.1.22 NAME &amp;#039;otherMailbox&amp;#039;&lt;br /&gt;
#attributetype ( 0.9.2342.19200300.100.1.23 NAME &amp;#039;lastModifiedTime&amp;#039;&lt;br /&gt;
#attributetype ( 0.9.2342.1920030http://es.wikipedia.org/wiki/Base640.100.1.24 NAME &amp;#039;lastModifiedBy&amp;#039;&lt;br /&gt;
##attributetype ( 0.9.2342.19200300.100.1.25 NAME ( &amp;#039;dc&amp;#039; &amp;#039;domainComponent&amp;#039; )&lt;br /&gt;
attributetype ( 0.9.2342.19200300.100.1.26 NAME &amp;#039;aRecord&amp;#039;&lt;br /&gt;
attributetype ( 0.9.2342.19200300.100.1.27 NAME &amp;#039;mDRecord&amp;#039;&lt;br /&gt;
attributetype ( 0.9.2342.19200300.100.1.28 NAME &amp;#039;mXRecord&amp;#039;&lt;br /&gt;
attributetype ( 0.9.2342.19200300.100.1.29 NAME &amp;#039;nSRecord&amp;#039;&lt;br /&gt;
attributetype ( 0.9.2342.19200300.100.1.30 NAME &amp;#039;sOARecord&amp;#039;&lt;br /&gt;
attributetype ( 0.9.2342.19200300.100.1.31 NAME &amp;#039;cNAMERecord&amp;#039;&lt;br /&gt;
#attributetype ( 0.9.2342.19200300.100.1.37 NAME &amp;#039;associatedDomain&amp;#039;&lt;br /&gt;
attributetype ( 0.9.2342.19200300.100.1.38 NAME &amp;#039;associatedName&amp;#039;&lt;br /&gt;
attributetype ( 0.9.2342.19200300.100.1.39 NAME &amp;#039;homePostalAddress&amp;#039;&lt;br /&gt;
attributetype ( 0.9.2342.19200300.100.1.40 NAME &amp;#039;personalTitle&amp;#039;&lt;br /&gt;
attributetype ( 0.9.2342.19200300.100.1.41 NAME ( &amp;#039;mobile&amp;#039; &amp;#039;mobileTelephoneNumber&amp;#039; )&lt;br /&gt;
attributetype ( 0.9.2342.19200300.100.1.42 NAME ( &amp;#039;pager&amp;#039; &amp;#039;pagerTelephoneNumber&amp;#039; )&lt;br /&gt;
attributetype ( 0.9.2342.19200300.100.1.43 NAME ( &amp;#039;co&amp;#039; &amp;#039;friendlyCountryName&amp;#039; )&lt;br /&gt;
attributetype ( 0.9.2342.19200300.100.1.44 NAME &amp;#039;uniqueIdentifier&amp;#039;&lt;br /&gt;
attributetype ( 0.9.2342.19200300.100.1.45 NAME &amp;#039;organizationalStatus&amp;#039;&lt;br /&gt;
attributetype ( 0.9.2342.19200300.100.1.46 NAME &amp;#039;janetMailbox&amp;#039;&lt;br /&gt;
attributetype ( 0.9.2342.19200300.100.1.47 NAME &amp;#039;mailPreferenceOption&amp;#039;&lt;br /&gt;
attributetype ( 0.9.2342.19200300.100.1.48 NAME &amp;#039;buildingName&amp;#039;&lt;br /&gt;
attributetype ( 0.9.2342.19200300.100.1.49 NAME &amp;#039;dSAQuality&amp;#039;&lt;br /&gt;
attributetype ( 0.9.2342.19200300.100.1.50 NAME &amp;#039;singleLevelQuality&amp;#039;&lt;br /&gt;
attributetype ( 0.9.2342.19200300.100.1.51 NAME &amp;#039;subtreeMinimumQuality&amp;#039;&lt;br /&gt;
attributetype ( 0.9.2342.19200300.100.1.52 NAME &amp;#039;subtreeMaximumQuality&amp;#039;&lt;br /&gt;
attributetype ( 0.9.2342.19200300.100.1.53 NAME &amp;#039;personalSignature&amp;#039;&lt;br /&gt;
attributetype ( 0.9.2342.19200300.100.1.54 NAME &amp;#039;dITRedirect&amp;#039;&lt;br /&gt;
attributetype ( 0.9.2342.19200300.100.1.55 NAME &amp;#039;audio&amp;#039;&lt;br /&gt;
attributetype ( 0.9.2342.19200300.100.1.56 NAME &amp;#039;documentPublisher&amp;#039;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Esquema NIS====&lt;br /&gt;
*O esquema &amp;#039;&amp;#039;&amp;#039;NIS (Network Information System&amp;#039;&amp;#039;&amp;#039; está definido en modo experimental na RFC 2307 (https://tools.ietf.org/html/rfc2307)&lt;br /&gt;
*As clases de obxectos que define son:&lt;br /&gt;
&lt;br /&gt;
*Resaltar as tres primeiras clases, pois son as que nos van permitir crear usuarios e grupos cos que poder entrar nos equipos clientes. Usuarios e grupos tipo Unix.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
objectclass ( 1.3.6.1.1.1.2.0 NAME &amp;#039;posixAccount&amp;#039;&lt;br /&gt;
objectclass ( 1.3.6.1.1.1.2.1 NAME &amp;#039;shadowAccount&amp;#039;&lt;br /&gt;
objectclass ( 1.3.6.1.1.1.2.2 NAME &amp;#039;posixGroup&amp;#039;&lt;br /&gt;
objectclass ( 1.3.6.1.1.1.2.3 NAME &amp;#039;ipService&amp;#039;&lt;br /&gt;
objectclass ( 1.3.6.1.1.1.2.4 NAME &amp;#039;ipProtocol&amp;#039;&lt;br /&gt;
objectclass ( 1.3.6.1.1.1.2.5 NAME &amp;#039;oncRpc&amp;#039;&lt;br /&gt;
objectclass ( 1.3.6.1.1.1.2.6 NAME &amp;#039;ipHost&amp;#039;&lt;br /&gt;
objectclass ( 1.3.6.1.1.1.2.7 NAME &amp;#039;ipNetwork&amp;#039;&lt;br /&gt;
objectclass ( 1.3.6.1.1.1.2.8 NAME &amp;#039;nisNetgroup&amp;#039;&lt;br /&gt;
objectclass ( 1.3.6.1.1.1.2.9 NAME &amp;#039;nisMap&amp;#039;&lt;br /&gt;
objectclass ( 1.3.6.1.1.1.2.10 NAME &amp;#039;nisObject&amp;#039;&lt;br /&gt;
objectclass ( 1.3.6.1.1.1.2.11 NAME &amp;#039;ieee802Device&amp;#039;&lt;br /&gt;
objectclass ( 1.3.6.1.1.1.2.12 NAME &amp;#039;bootableDevice&amp;#039;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;Os atributos&amp;#039;&amp;#039;&amp;#039;: observar até o número 13, pois son familiares para un usuario de Linux.&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;gecos&amp;#039;&amp;#039;&amp;#039; significa &amp;#039;&amp;#039;&amp;#039;General Electric Comprehensive Operating System&amp;#039;&amp;#039;&amp;#039;. &lt;br /&gt;
**É esa información que se almacena separada por comas cando os usuarios se gardan en local en &amp;#039;&amp;#039;&amp;#039;/etc/passwd&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
**Contería a información que se manexaría co comando &amp;#039;&amp;#039;&amp;#039;chfn&amp;#039;&amp;#039;&amp;#039; para modificar os subcampos separados por comas que contería este campo: Nome completo usuario/programa, Número de habitación, persoa de contacto, teléfono, etc.&lt;br /&gt;
**Como se pode ver esa información podémola almacenar en moitos dos atributos vistos en esquemas anteriores.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#attributetype ( 1.3.6.1.1.1.1.0 NAME &amp;#039;uidNumber&amp;#039;&lt;br /&gt;
#attributetype ( 1.3.6.1.1.1.1.1 NAME &amp;#039;gidNumber&amp;#039;&lt;br /&gt;
attributetype ( 1.3.6.1.1.1.1.2 NAME &amp;#039;gecos&amp;#039;&lt;br /&gt;
attributetype ( 1.3.6.1.1.1.1.3 NAME &amp;#039;homeDirectory&amp;#039;&lt;br /&gt;
attributetype ( 1.3.6.1.1.1.1.4 NAME &amp;#039;loginShell&amp;#039;&lt;br /&gt;
attributetype ( 1.3.6.1.1.1.1.5 NAME &amp;#039;shadowLastChange&amp;#039;&lt;br /&gt;
attributetype ( 1.3.6.1.1.1.1.6 NAME &amp;#039;shadowMin&amp;#039;&lt;br /&gt;
attributetype ( 1.3.6.1.1.1.1.7 NAME &amp;#039;shadowMax&amp;#039;&lt;br /&gt;
attributetype ( 1.3.6.1.1.1.1.8 NAME &amp;#039;shadowWarning&amp;#039;&lt;br /&gt;
attributetype ( 1.3.6.1.1.1.1.9 NAME &amp;#039;shadowInactive&amp;#039;&lt;br /&gt;
attributetype ( 1.3.6.1.1.1.1.10 NAME &amp;#039;shadowExpire&amp;#039;&lt;br /&gt;
attributetype ( 1.3.6.1.1.1.1.11 NAME &amp;#039;shadowFlag&amp;#039;&lt;br /&gt;
attributetype ( 1.3.6.1.1.1.1.12 NAME &amp;#039;memberUid&amp;#039;&lt;br /&gt;
attributetype ( 1.3.6.1.1.1.1.13 NAME &amp;#039;memberNisNetgroup&amp;#039;&lt;br /&gt;
attributetype ( 1.3.6.1.1.1.1.14 NAME &amp;#039;nisNetgroupTriple&amp;#039;&lt;br /&gt;
attributetype ( 1.3.6.1.1.1.1.15 NAME &amp;#039;ipServicePort&amp;#039;&lt;br /&gt;
attributetype ( 1.3.6.1.1.1.1.16 NAME &amp;#039;ipServiceProtocol&amp;#039;&lt;br /&gt;
attributetype ( 1.3.6.1.1.1.1.17 NAME &amp;#039;ipProtocolNumber&amp;#039;&lt;br /&gt;
attributetype ( 1.3.6.1.1.1.1.18 NAME &amp;#039;oncRpcNumber&amp;#039;&lt;br /&gt;
attributetype ( 1.3.6.1.1.1.1.19 NAME &amp;#039;ipHostNumber&amp;#039;&lt;br /&gt;
attributetype ( 1.3.6.1.1.1.1.20 NAME &amp;#039;ipNetworkNumber&amp;#039;&lt;br /&gt;
attributetype ( 1.3.6.1.1.1.1.21 NAME &amp;#039;ipNetmaskNumber&amp;#039;&lt;br /&gt;
attributetype ( 1.3.6.1.1.1.1.22 NAME &amp;#039;macAddress&amp;#039;&lt;br /&gt;
attributetype ( 1.3.6.1.1.1.1.23 NAME &amp;#039;bootParameter&amp;#039;&lt;br /&gt;
attributetype ( 1.3.6.1.1.1.1.24 NAME &amp;#039;bootFile&amp;#039;&lt;br /&gt;
attributetype ( 1.3.6.1.1.1.1.26 NAME &amp;#039;nisMapName&amp;#039;&lt;br /&gt;
attributetype ( 1.3.6.1.1.1.1.27 NAME &amp;#039;nisMapEntry&amp;#039;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Esquema InetOrgPerson====&lt;br /&gt;
*O RFC2798 (https://tools.ietf.org/html/rfc2798) indica que o propósito deste esquema é almacenar información xeral sobre as persoas. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Posúe un único obxecto de clase&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
objectclass     ( 2.16.840.1.113730.3.2.2  NAME &amp;#039;inetOrgPerson&amp;#039;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Finalmente &amp;#039;&amp;#039;&amp;#039;os atributos&amp;#039;&amp;#039;&amp;#039;, entre eles:&lt;br /&gt;
**&amp;#039;&amp;#039;&amp;#039;jpegPhoto&amp;#039;&amp;#039;&amp;#039;: almacénase unha imaxe jpeg en formato base64 (http://es.wikipedia.org/wiki/Base64). Ou sexa o valor dese atributo é un valor binario e non ASCII.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
( 2.16.840.1.113730.3.1.1 NAME &amp;#039;carLicense&amp;#039;&lt;br /&gt;
( 2.16.840.1.113730.3.1.2 NAME &amp;#039;departmentNumber&amp;#039;&lt;br /&gt;
( 2.16.840.1.113730.3.1.241 NAME &amp;#039;displayName&amp;#039;&lt;br /&gt;
( 2.16.840.1.113730.3.1.3 NAME &amp;#039;employeeNumber&amp;#039;&lt;br /&gt;
( 2.16.840.1.113730.3.1.4 NAME &amp;#039;employeeType&amp;#039;&lt;br /&gt;
( 0.9.2342.19200300.100.1.60 NAME &amp;#039;jpegPhoto&amp;#039;&lt;br /&gt;
( 2.16.840.1.113730.3.1.39 NAME &amp;#039;preferredLanguage&amp;#039;&lt;br /&gt;
( 2.16.840.1.113730.3.1.40 NAME &amp;#039;userSMIMECertificate&amp;#039;&lt;br /&gt;
( 2.16.840.1.113730.3.1.216 NAME &amp;#039;userPKCS12&amp;#039;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin:0; background:#E6ECFF; font-size:100%; border:1px solid #cccccc; text-align:left; padding:0.2em 0.4em; -moz-border-radius:6px&amp;quot;&amp;gt;[[Imagen:aprende.png|left]]&amp;#039;&amp;#039;&amp;#039;TAMÉN PODES VER...&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
No seguinte documento pódese ver  unha introdución ao LDAP e como estenderon o esquema da universidade Carlos III de Madrid: http://www.rediris.es/ldap/doc/ldap-intro.pdf&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-- [[Usuario:antonio| Antonio de Andrés Lema]] e [[Usuario:Carrion| Carlos Carrión Álvarez]]&lt;/div&gt;</summary>
		<author><name>Antonio</name></author>
	</entry>
</feed>