Como se puede leer en el capítulo dedicado a dominios Linux "En el contexto de las redes de ordenadores, se denomina directorio a una base de datos especializada que almacena información sobre los recursos, u "objetos", presentes en la red (tales como usuarios, ordenadores, impresoras, etc.) y que pone dicha información a disposición de los usuarios de la red".
En esta sección vamos a definir la estructura (Unidades Organizativas y objetos) del directorio que albergará la información de usuarios, máquinas y servicios que pretendemos ofrecer.
La raíz del directorio será un objeto de clase dc que albergará a las diferentes Unidades Organizativas:
# dsic2, upv, es dn: dc=dsic2,dc=upv,dc=es objectClass: dcObject objectClass: organization o: dsic2,dc=upv dc: dsic2
La unidad organizativa encargada de almacenar la información de usuario se denominará Users y su definición en formato LDIF es la siguiente:
# Users, dsic2, upv, es dn: ou=Users,dc=dsic2,dc=upv,dc=es objectClass: organizationalUnit ou: Users
La unidad organizativa encargada de almacenar la información de grupos se denominará Groups y su definición en formato LDIF es la siguiente:
# Groups, dsic2, upv, es dn: ou=Groups,dc=dsic2,dc=upv,dc=es objectClass: organizationalUnit ou: Groups
La unidad organizativa encargada de almacenar la información de máquinas se denominará Computers y su definición en formato LDIF es la siguiente:
# Computers, dsic2, upv, es dn: ou=Computers,dc=dsic2,dc=upv,dc=es objectClass: organizationalUnit ou: Computers
Un objeto de tipo usuario tendrá la siguiente definición en el Servicio de Directorio:
# usu1, Users, dsic2, upv, es dn: uid=usu1,ou=Users,dc=dsic2,dc=upv,dc=es objectClass: top objectClass: inetOrgPerson objectClass: posixAccount objectClass: shadowAccount objectClass: sambaSAMAccount cn: usu1 sn: usu1 uid: usu1 uidNumber: 1000 gidNumber: 513 homeDirectory: /home/usu1 loginShell: /bin/bash gecos: System User description: System User sambaLogonTime: 0 sambaLogoffTime: 2147483647 sambaKickoffTime: 2147483647 sambaPwdCanChange: 0 displayName: System User sambaSID: S-1-5-21-2758841116-2178560935-410125937-3000 sambaPrimaryGroupSID: S-1-5-21-2758841116-2178560935-410125937-513 sambaHomeDrive: H: sambaAcctFlags: [U] sambaPwdLastSet: 1099149278 sambaPwdMustChange: 1103901278
Como se puede apreciar este tipo de objeto hereda propiedades de varias clases. La clase posixAccount que define los atributos correspondientes a una cuenta de usuario Linux, la clase sambaSAMAccount que define los atributos correspondientes a una cuenta de usuario Windows.
En cambio para definir un objeto tipo grupo se utilizará la siguiente entrada de directorio:
# RRHH, Groups, dsic2, upv, es dn: cn=RRHH,ou=Groups,dc=dsic2,dc=upv,dc=es objectClass: posixGroup objectClass: sambaGroupMapping cn: RRHH gidNumber: 1000 sambaSID: S-1-5-21-2758841116-2178560935-410125937-3001 sambaGroupType: 2 displayName: RRHH
La definición de un grupo hereda las propiedades de dos clases: posixGroup, sambaGroupMapping. Estas clases proporcionaran la información necesaria a los equipos Linux y Windows.