LDAP (parte 3): Añadir usuarios y grupos de forma manual en Ubuntu 14.04 LTS

Publicado por P. Ruiz en

OpenLDAP logoEn los últimos artículos dedicados a esta temática, hemos aprendido a Instalar OpenLDAP en Ubuntu 14.04 LTS y a Iniciar la estructura del directorio.

Hoy aprenderemos a añadir nuevos usuarios y grupos a la estructura del directorio que hemos creado en los artículos anteriores. Y lo haremos de un modo muy parecido al que hemos utilizado en el artículo anterior, cuando creamos la unidad organizativa. Es decir, crearemos un nuevo archivo ldif y, a continuación, lo integraremos en la base de datos con el comando ldapadd.

Como puedes imaginar, comenzaremos por crear un grupo, y luego un usuario que forme parte de dicho grupo. Así, seguiremos el orden que establece la jerarquía de los objetos.

Para tener más información sobre la estructura de los archivos LDIF, te recomiendo consultar el Capítulo 12: Instalar y configurar OpenLDAP en Ubuntu de nuestro libro Sistemas Operativos en Red (2ª edición).

Además, puedes consultar todos los artículos prácticos publicados en SomeBooks.es sobre LDAP. haciendo clic aquí.

Así es que, si estás listo, comencemos…

Añadir un usuario

Para añadir un nuevo usuario, recurriremos, como hasta ahora, al editor gEdit:

sudo gedit usuario.ldif

Abrimos el editor de textos indicándole el nombre del archivo que vamos a crear.

Por supuesto, puedes cambiar el nombre usuario.ldif por el que te resulte más adecuado en tu caso. En el área de trabajo del editor, escribiremos un contenido como este:

dn: uid=jlopez,ou=usuarios,dc=somebooks,dc=local
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: shadowAccount
uid: jlopez
sn: Lopez
givenName: Juan
cn: Juan Lopez
displayName: Juan Lopez
uidNumber: 2000
gidNumber: 10000
userPassword: mi_password
gecos: Juan Lopez
loginShell: /bin/bash
homeDirectory: /home/jlopez 
shadowExpire: -1
shadowFlag: 0
shadowWarning: 7
shadowMin: 8
shadowMax: 999999
shadowLastChange: 10877
mail: juan.lopez@somebooks.com
postalCode: 29000
o: somebooks
initials: JL

Cuando hayamos terminado de escribirlo, sólo nos quedará guardar los cambios y cerrar la ventana del editor.

En el ejemplo, hemos seguido la convención de comenzar los UID de los usuarios a partir del valor 2000 (uidNumber: 2000). Así, los siguientes usuarios que creemos de forma manual, recibirán los valores 2001, 2002, etc. De esta forma, evitamos solaparnos con los UID que asigna el sistema de forma automática, ya que éstos comienzan de forma predeterminada en 1000. Suponemos que ese es un margen suficiente pero, en tu caso, puedes partir de un valor distinto para ampliar o disminuir el intervalo.

Con esto ya estamos listos para cargar el nuevo usuario en el directorio. Sólo tenemos que escribir el siguiente comando:

sudo ldapadd -x -D cn=admin,dc=somebooks,dc=local -W -f usuario.ldif

Después de escribir la contraseña de administración de LDAP, podremos comprobar que el usuario se ha añadido correctamente.

Añadir un grupo

Para añadir el grupo, repetimos de nuevo el proceso anterior:

sudo gedit grupo.ldif

Abrimos el editor de textos indicándole el nombre del archivo que queremos crear.

Una vez abierto el editor, escribiremos este contenido:

dn: cn=SMR2,ou=grupos,dc=somebooks,dc=local
objectClass: posixGroup
cn: SMR2
gidNumber: 10000

Cuando esté listo, guardamos los cambios y cerramos la ventana del editor.

De vuelta en la terminal, usamos de nuevo el comando ldapadd:

sudo ldapadd -x -D cn=admin,dc=somebooks,dc=local -W -f grupo.ldif

Después de escribir la contraseña de administración de LDAP, podremos comprobar que el grupo se ha añadido correctamente.

Con esto, ya tendremos en la base de datos un nuevo usuario y un nuevo grupo.

Cuando añadas nuevos usuarios, recuerda que los valores para los atributos uidNumber y homeDirectory deben ser diferentes para cada usuario. También habrá que sustituir el texto mi_password por la contraseña adecuada para el usuario. Lo mismo ocurre con el atributo gidNumber de los grupos. Además, los valores de los campos uidNumber y gidNumber no deben coincidir con el UID y GID de ningún usuario y grupo local.

Comprobar que todo es correcto

Ahora podemos comprobar que el contenido anterior se ha añadido correctamente. Para lograrlo podemos utilizar, por ejemplo, el comando ldapsearch , que nos permite hacer una búsqueda en el directorio.:

ldapsearch -xLLL -b "dc=somebooks,dc=local" uid=jlopez sn givenName cn

En este ejemplo buscamos un usuario con uid=jlopez y pedimos que nos muestre el contenido de los atributos sn, givenName y cn.

… Y este será el resultado de la consulta.

También podemos volver a usar el comando slapcat para mostrar el contenido completo del directorio, tal y como vimos más arriba.

Y hasta aquí el contenido del artículo. Espero que te resulta útil.