InicioLinuxInstalacion LDAP (Directorio Activo) sobre Ubuntu Server

Instalacion LDAP (Directorio Activo) sobre Ubuntu Server

Linux9/14/2012
Señores antes de todo un saludo y abrazo a todos, el trimestre anterior en la clase de sistemas operativos de redes en CEUTEC me asignaron el proyecto de instalar un servidor de autenticacion basado en ldap en un servidor linux, y aunque no soy muy seguidor de ubuntu no voy a obiar que es el sistema operativo mas facil de utilizar, asi que me decidi a montar el proyecto en dicho SO.

Sin mas preambulo vamos a la accion.

Para los que no conoscamos mucho del tema les dejo una pequeño introduccion del ldap directamente desde la wikipedia.

LDAP son las siglas de Lightweight Directory Access Protocol (en español Protocolo Ligero de Acceso a Directorios) que hacen referencia a un protocolo a nivel de aplicación el cual permite el acceso a un servicio de directorio ordenado y distribuido para buscar diversa información en un entorno de red. LDAP también es considerado una base de datos (aunque su sistema de almacenamiento puede ser diferente) a la que pueden realizarse consultas.

Un directorio es un conjunto de objetos con atributos organizados en una manera lógica y jerárquica. El ejemplo más común es el directorio telefónico, que consiste en una serie de nombres (personas u organizaciones) que están ordenados alfabéticamente, con cada nombre teniendo una dirección y un número de teléfono adjuntos.

Un árbol de directorio LDAP a veces refleja varios límites políticos, geográficos u organizacionales, dependiendo del modelo elegido. Los despliegues actuales de LDAP tienden a usar nombres de Sistema de Nombres de Dominio (DNS por sus siglas en inglés) para estructurar los niveles más altos de la jerarquía. Conforme se desciende en el directorio pueden aparecer entradas que representan personas, unidades organizacionales, impresoras, documentos, grupos de personas o cualquier cosa que representa una entrada dada en el árbol (o múltiples entradas).

Habitualmente, almacena la información de autenticación (usuario y contraseña) y es utilizado para autenticarse aunque es posible almacenar otra información (datos de contacto del usuario, ubicación de diversos recursos de la red, permisos, certificados, etc). A manera de síntesis, LDAP es un protocolo de acceso unificado a un conjunto de información sobre una red.

La versión actual es LDAPv3, la cual es especificada en una serie de Internet Engineering Task Force (IETF) Standard Track Request for Comments (RFCs) como se detalla en el documento RFC 4510.



INTRODUCCION

En el siguiente manual se mostrara el procedimiento a seguir para instalar un servidor de autenticacion ldap en el sistema operativo Ubuntu Linux y la configuracion en un cliente Ubuntu Linux Desktop.

En primer lugar debemos tener una instalacion limpia de ubuntu server, esta prueba funcional se hizo en ubuntu server 11.10.


PARTE 1 INSTALACION DEL SERVICIO

en primer lugar necesitamos instalamos el software necesario para habilitar ldap en nuestro servidor, para evitar estar ingresando el comando sudo vamos a cambiarnos a usuario root con el siguiente comando


##################
sudo su
##################

al ingresar este comando nos pide ingresar la contraseña de sudo la ingresamos y ya podemos trabajar como usuario root.

una ves como usuario root procedemos a comenzar la instalacion de el software necesario.
###############################################
apt-get install slapd ldap-utils migrationtools
###############################################

nos preguntara cual sera la clave del administrador del ldap, la ingresamos y termina la instalacion

luego ejecutamos el siguiente comando para configurar correctamente con nuestros datos.

######################
dpkg-reconfigure slapd
######################

luego ingresar los datos de tu empresa en este caso usaremos como dominio clase.org
######################################################################
Omit OpenLDAP server configuration? ... No
DNS domain name: ... clase.org
Name of your organization: ... ejemplo de ldap
Admin Password: password
Confirm Password: password
OK
BDB
Do you want your database to be removed when slapd is purged? ... No
Move old database? ... Yes
Allow LDAPv2 Protocol? ... No
######################################################################

PARTE 2 AGREGAR OBJETOS AL DIRECTORIO

cuando instalamos el software necesario incluimos las migration tools que son herramientas que nos ayudaran a agregar los objetos al dominio con plantillas predefinidas, para utilizarlas ejecutaremos los siguientes comandos.

#############################
cd /usr/share/migrationtools/
#############################

luego exportaremos los valores

##############################################
./migrate_group.pl /etc/group ~/group.ldif
./migrate_passwd.pl /etc/passwd ~/passwd.ldif
##############################################


ahora nos cambiamos a el directorio root con el siguiente comando

###
cd
###

luego crearemos un archivo llamado people_group.ldif que nos servira para crear el objeto en el cual agregaremos los usuarios y los grupos, con el siguiente comando.


######################
nano people_group.ldif
######################

este comando nos creara un archivo vacio en el cual ingresaremos los siguientes datos.


####################################
dn: ou=People, dc=clase, dc=org
ou: People
objectclass: organizationalUnit

dn: ou=Group, dc=clase, dc=org
ou: Group
objectclass: organizationalUnit
####################################

ahora es necesario modificar los archivos que agregamos anteriormente para que contengan los datos de nuestro directorio.

######################
nano group.ldif
######################

en este archivo se encuentran los grupos que seran agregados al directorio pero vienen con el directorio por defecto siguiente

ou=Group,dc=dapl,dc=com

el cual sera necesario cambiarlo de acuerdo a tu nombre de dominio en este caso clase.org por lo que sera necesario cambiar a este dominio todos los grupos en dicho archivo.


####################################
dn: cn=root,ou=Group,dc=clase,dc=org
objectClass: posixGroup
objectClass: top
cn: root
userPassword: {crypt}x
gidNumber: 0
####################################

una ves terminado se guarda con control x, indicar salvar con Y si es teclado ingles o S en español luego enter y listo,

luego es necesario modificar el archivo passwd.ldif de la mismo forma

######################
nano passwd.ldif
######################

este archivo es el encargado de crear los usuarios en el directorio en ese archivo vienen integrados los usuarios mas comunes en un sistema linux, auque no es necesario importar este archivo ya que si creas los usuarios manualmente igual funcionara.


en este archivo hay que modificar igual que el anterior el nombre del dominio de la siguiente forma:
######################################
dn: uid=root,ou=People,dc=dapl,dc=org
######################################
por este otro
##########################################
dn: uid=root,ou=People,dc=clase,dc=org
uid: root
cn: root
objectClass: account
objectClass: posixAccount
objectClass: top
objectClass: shadowAccount
userPassword: {crypt}!
shadowLastChange: 15588
shadowMax: 99999
shadowWarning: 7
loginShell: /bin/bash
uidNumber: 0
gidNumber: 0
homeDirectory: /root
gecos: root
###########################################


una ves terminada la edicion de estos archivos procedemos a integrarlos a el directorio con los siguientes comandos.

######################################################################
ldapadd -x -W -D "cn=admin,dc=clase,dc=org" -f ~/people_group.ldif
ldapadd -x -W -D "cn=admin,dc=clase,dc=org" -f ~/group.ldif
ldapadd -x -W -D "cn=admin,dc=clase,dc=org" -f ~/passwd.ldif
######################################################################

(los dos primeros es necesario agregarlos el tercero si genera algun error no es necesario agregarlo)

una ves terminados estos pasos creamos un archivo el cual nos servira para agregar usuarios al directorio de esta forma:

###################
nano usuarios.ldif
###################

se generara un archivo nuevo y en este vamos a agregar el siguiente contenido

###########################################
dn: cn=carola,ou=group,dc=clase,dc=org
cn: carola
gidNumber: 20000
objectClass: top
objectClass: posixGroup

dn: uid=carola,ou=people,dc=clase,dc=org
uid: carola
uidNumber: 20000
gidNumber: 20000
cn: Carola
sn: Carola
objectClass: top
objectClass: person
objectClass: posixAccount
objectClass: shadowAccount
loginShell: /bin/bash
homeDirectory: /home/Carola
###########################################

de esta forma crearemos un grupo llamado carola y un usuario carola que pertenecera a dicho grupo y al final le especificamos que en la carpeta home agregue una carpeta que pertenecera a dicho usuario.

una ves guardado el archivo procedemos a agregarlo al directorio con el siguiente comando.
###############################################################
ldapadd -c -x -D cn=admin,dc=clase,dc=org -W -f usuarios.ldif
###############################################################

algunas veces al agregar este archivo te dice que las credenciales son invalidas prueba de nuevo, pero muchas veces al instalar el software del primer paso de esta guia no crea el usuario admin por lo que tendras que reinstalar el sistema operativo y comenzar de nuevo.

una ves que este comando sea agregado con exito tendras que cambiar la contraseña al usuario ya creado con el siguiente comando:
#####################################################################################
ldappasswd -x -D cn=admin,dc=clase,dc=org -W -S uid=carola,ou=people,dc=clase,dc=org
#####################################################################################

con este comando te pedira ingresar el password nuevo del usuario y luego comprobarlo y al final te pedira ingresar el password de administrador. una ves terminado ya tendras el usuario agregado en el dominio.


ahora ya tenemos agregado el usuario al ldap ahora tenemos que permitir al sistema que lo pueda leer para comprobar esto lo podemos verificar con el siguiente comando
#######
id root
#######

nos mostratar algo parecido a los siguiente

uid=0(root) gid=0(root) groups=0(root)

pero al buscar el usuario que acabamos de crear en el directorio veremos que no existe con el siguiente comando

#########
id carola
#########

nos mostrar el siguiente comando

id: carola: No such user

esto indica que el sistema no puede encontrar el usuario que acabamos de agregar al directorio




PARTE 3 AUTENTICACION DE USUARIOS DEL DOMINIO(ESTO SIRVE IGUAL PARA SERVIDOR O CLIENTE DE ESCRITORIO)

primero instalamos el software necesario para autenticar usuarios de ldap con el siguiente comando

############################################
apt-get install libnss-ldap libpam-ldap nscd
############################################

vamos a llenar los datos que nos solicita el instalador de la siguiente forma:

################################################################################
LDAP server Uniform Resource Identifier: ldap://192.168.7.12/ (Nota "ldap://", NO "ldapi://"!, si fuera el mismo servidor especificar "ldap://127.0.0.1" de lo contrario especificar la direccion ip del servidor)
Distinguished name of the search base: dc=clase,dc=org
LDAP version to use: 3
Does the LDAP database require login? No
Special LDAP privileges for root? No
Make the configuration file readable/writeable by its owner only? No
Make local root Database admin. No
Does the LDAP database require login? No
Local crypt to use when changing passwords. crypt
################################################################################


nota: en versiones mas nuevas de openldap no son necesarios algunas de estas respuestas asi que no aparecen tranquilos no pasa nada.

una vez terminada esta configuracion ejecutar el siguiente comando

########################################################
id carola
uid=20000(carola) gid=20000(carola) groups=20000(carola)
########################################################

de esta forma ya observamos que el sistema ya reconoce a los usuarios agregados al ldap.


el ultimo paso es integrar la autenticacion de ldap dentro del sistema, la cual la haremos modificando algunos archivos de configuracion del pam.

comenzamos con el primer archivo con el siguiente comando

##############################
nano /etc/pam.d/common-account
##############################

dentro de este archivo copiamos el siguiente texto y guardamos

###################################################################
session required pam_mkhomedir.so umask=0022 skel=/etc/skel/ silent
###################################################################

continuamos con el siguiente

###########################
nano /etc/pam.d/common-auth
###########################

y copiamos el siguiente texto

######################################################
auth sufficient pam_ldap.so
auth required pam_unix.so nullok_secure use_first_pass
######################################################


continuamos con el siguiente


############################
/etc/pam.d/common-password
############################

copiamos el texto

##############################################################
password sufficient pam_ldap.so
password required pam_unix.so nullok obscure min=4 max=8 md5
##############################################################


siguiente archivo

##############################
nano /etc/pam.d/common-session
##############################

y copiamos lo siguiente


######################################
session sufficient pam_ldap.so
session required pam_unix.so
session optional pam_foreground.so
######################################


y por ultimo modificamos la forma en que el sistema buscara los usuarios a autenticar

########################
nano /etc/nsswitch.conf
########################

encontraras las siguientes lineas en el archivo
##################
passwd: compat
group: compat
shadow: compat
##################

debes reemplazarlas por las siguientes lineas

##################
passwd: files ldap
group: files ldap
shadow: files ldap
##################

Reinicias el sistema y listo ya puedes autenticarte con los usuarios creados en el directorio, si es necesario crear mas usuarios puedes hacerlo modificando el mismo archivo de usuarios y agregandolo de la misma forma y luego cambias el password y listo.
Datos archivados del Taringa! original
29puntos
6,816visitas
0comentarios
Actividad nueva en Posteamelo
0puntos
2visitas
0comentarios
Dar puntos:

Dejá tu comentario

0/2000

Autor del Post

k
kzeratul🇦🇷
Usuario
Puntos0
Posts5
Ver perfil →
PosteameloArchivo Histórico de Taringa! (2004-2017). Preservando la inteligencia colectiva de la internet hispanohablante.

CONTACTO

18 de Septiembre 455, Casilla 52

Chillán, Región de Ñuble, Chile

Solo correo postal

© 2026 Posteamelo.com. No afiliado con Taringa! ni sus sucesores.

Contenido preservado con fines históricos y culturales.