• Blog
  • Cursos de Linux en Udemy
  • Certificaciones LPIC
  • Servidor de Discord
  • Contacto
Antonio Sánchez CorbalánAntonio Sánchez Corbalán
  • Blog
  • Cursos de Linux en Udemy
  • Certificaciones LPIC
  • Servidor de Discord
  • Contacto

¿Quieres aprender Linux?

¡Mira los mejores cursos de Linux!
  • Inicio
  • Blog
  • Tutoriales
  • Administrar LDAP con ldapscripts

Administrar LDAP con ldapscripts

  • Categorías Tutoriales
  • Fecha agosto 10, 2021

En anteriores tutoriales vimos como administrar los datos de OpenLdap utilizando herramientas visuales, vía web con phpldapadmin o en un entorno de escritorio con Apache Directory Studio. Ahora vamos a estudiar cómo se haría usando solamente el intérprete de comandos. Para ello instalaremos el paquete ldapscript.

Como siempre, utilizaremos aptitude para instalar el paquete:

aptitude install ldapscripts

Ahora tendremos que editar el fichero de configuración para que los script puedan modificar los datos y sepan sobre qué dominio y unidades organizativas tienen que operar. A continuación enumeramos la directivas básicas del fichero /etc/ldapscripts/ldapscripts.conf que deberemos cambiar. Obviamente cada cual tendrá que poner los datos que correspondan con su servidor.

SERVER=localhost
BINDDN=”cn=admin,dc=cursea,dc=me”
BINDPWDFILE=”/etc/ldapscripts/ldapscripts.passwd”
SUFFIX=”dc=cursea,dc=me”
GSUFFIX=”ou=grupos”
USUFFIX=”ou=usuarios”
GIDSTART=10000
UIDSTART=10000

Como vemos, hay una directiva que hace referencia a la contraseña del administrador, para que pueda identificarse en el servidor y tener los permisos necesarios. Dicha clave la guardamos en un fichero, es nuestro caso ldapscripts.passwd. Lo hacemos así:

echo -n 'password-del-administrador'
/etc/ldapscripts/ldapscripts.passwd"
chmod 400 /etc/ldapscripts/ldapscripts.passwd

En este punto ya podríamos empezar los comandos que nos ofrece el paquete ldapscript, pero para que funcionen nos queda una tarea que realizar y es crear las unidades organizativas que le hemos especificado en el fichero de configuración. Podríamos recurrir a una de las herramientas mencionadas en tutoriales anteriores, pero como en este tutorial estamos explicando como crearlo todo mediante consola, seguiremos por este camino. Por lo tanto necesitamos un comando que pueda insertar elementos en el servidor LDAP desde la consola y para ello instalamos el paquete ldap-utils. Además, este paquete es imprescindible para que funcionen los comandos de ldapscript.

Creamos un fichero con las entradas que necesitamos introducir en formato LDIF, este formato puede ser difícil de crear para entradas complejas, pero en el caso de Unidades Organizativas es muy sencillo.
Ejecutamos nano ous.ldif e introducimos el siguiente texto:

dn: ou=grupos,dc=cursea,dc=me
objectClass: organizationalUnit
objectClass: top
ou: grupos

dn: ou=usuarios,dc=cursea,dc=me
objectClass: organizationalUnit
objectClass: top
ou: usuarios

Para insertar los datos en el servidor usamos la orden: ldapadd -f ous.ldif -D ‘cn=admin,dc=cursea,dc=me’ -xW
Nos pedirá la contraseña de administrador y añadirá dos nuevos nodos a nuestra estructura. Como siempre, podemos comprobarlo usando slapcat

Ahora creamos el grupo ‘usuarios’

ldapaddgroup usuarios

Después el usuario

ldapadduser pepito usuarios

Con esta orden creará el usuario con las opciones por defecto configuradas en ldapscript.conf. Es importante prestar atención a la creación del directorio home para que el usuario pueda utilizar el sistema sin problemas. Por defecto no lo crea, tendríamos que especificarle dicha opción. En próximos tutoriales veremos cómo utilizar estas y otras directivas

Otros comandos útiles de ldapscript son:
•    ldapsetpasswd: cambiar contraseña a un usuarios
•    ldapdeleteuser: borra un usuario
•    ldapmodifyuser: añadir, eliminar o modificar atributos de un usuario
•    ldapdeletegroup: borra un grupo
•    ldapaddusertogrupo: añade un usuario a un grupo
•    ldapdeleteuserfromgroup: borra un usuario de un grupo

Hay más scripts en el paquete, para ver la lista entera ejecuta:

dpkg -L ldapscripts | grep bin

Como habréis comprobado, ldapscript nos ahorra trabajo respecto a las herramientas nativas que nos ofrece el paquete ldap-utils. Pero todavía hay otra característica que nos puede resultar interesante, su sistema de plantillas. El directorio /usr/share/doc/ldapscripts/examples/ contiene unos ficheros con extensión .template.sample que se pueden utilizar para organizar la manera en la que se gestiona la información de cada uno de los atributos del elemento que estemos modificando. Por ejemplo el fichero /usr/share/doc/ldapscripts/examples/ldapadduser.template.sample tendrá estas lineas:

dn: uid=<user>,<usuffix>,<suffix>
objectClass: inetOrgPerson
objectClass: posixAccount
cn: <user>
sn: <ask>
uid: <user>
uidNumber: <uid>
gidNumber: <gid>
homeDirectory: <home>
loginShell: <shell>
gecos: <user>
description: User account
title: Employee

Podemos observar que algunas lineas indican que los atributos tendrán siempre el mismo valor, como los objectclass o description, otras utilizan variables que se han establecido en el script y por último está la opción <ask> que provoca que se le pregunte al usuario por el valor de dicho atributo.
Para usar una de estas plantillas tendremos que copiarla al directorio de configuración:

cp /usr/share/doc/ldapscripts/examples/ldapadduser.template.sample /etc/ldapscripts/ldapadduser.template

Y cambiar el ldapscript.conf:
UTEMPLATE=”/etc/ldapscripts/ldapadduser.template”

Explicaciones en video

Si te parece interesante suscríbete a mi canal de Youtube: Aprende Linux

Etiqueta:LDAP, Linux

  • Compartir:
A. Sánchez Corbalán
    Profesor de vocación. Desde hace más de 15 años imparto clases de informática a todo tipo de alumnado. También he trabajado como desarrollador web y administrador de sistemas Linux. Soy socio fundador de dos empresas tecnológicas que me ayudan a seguir evolucionando.

    Publicación anterior

    Colorear la salida de cat en Debian
    agosto 10, 2021

    Siguiente publicación

    Administrar LDAP con Apache Directory Studio
    agosto 11, 2021

    Deja una respuesta Cancelar la respuesta

    Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

    Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

    Categorías

    • Linux
    • Shell Script
    • Soluciones
    • Tutoriales

    Todos los derechos reservados.

    • Contacto
    sanchezcorbalan.es utiliza cookies para mejorar la experiencia de los usuarios, facilitando la navegación por nuestra web. Para saber más sobre el uso que hacemos de las cookies, consulta nuestra Política sobre el uso de cookies.Aceptar
    Privacy & Cookies Policy

    Privacy Overview

    This website uses cookies to improve your experience while you navigate through the website. Out of these cookies, the cookies that are categorized as necessary are stored on your browser as they are as essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may have an effect on your browsing experience.
    Necesarias Siempre activado

    Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.