2.5. Adición de un usuario de correo

En esta sección se verá como añadir un usuario de correo al directorio LDAP. En esta ocasión se hará uso de las herramientas de consola que provee el paquete ldap-utils. Para ello, se creará un archivo ldif con la siguiente estructura:

dn:uid=user,ou=people,dc=gsr,dc=pt
uid: user
cn: Nombre
sn: Apellidos
userPassword: {CRYPT}******** 1
loginShell: /bin/false 2
uidNumber: 10001
gidNumber: 10004 3
homeDirectory: /home/vmail/user 4
shadowMin: -1
shadowMax: 999999
shadowWarning: 7
shadowInactive: -1
shadowExpire: -1
shadowFlag: 0
objectClass: top
objectClass: person
objectClass: posixAccount
objectClass: shadowAccount
objectClass: CourierMailAccount 5
mail: usuario@dominio.com 6
mailbox: Maildir/ 7
quota: 0 8
1

Clave del usuario encriptada con el algoritmo de hash CRYPT. La elección del algoritmo es crítica para el funcionamiento global del sistema. Si no se escoge este algoritmo, no se podrá autentificar más tarde en los servicios POP3 e IMAP.

2

La shell para los usuarios destinados al correo será una shell nula, es decir, no tendrán acceso al sistema; sólo podrán obtener y enviar su correo del mismo. Si en el futuro se quisiese dotar a este usuario con acceso shell, sólo habría que cambiar este atributo por una shell válida.

3

GID del grupo principal del usuario de correo. Este ha de ser el GID del grupo vmail (eche un vistazo al valor introducido en GID del grupo vmail).

4

Directorio home del usuario.

5

objectClass que especifica los atributos relacionados con el correo.

6

Correo electrónico del usuario.

8

Atributo que controla la quota del usuario. Como de momento no se va a hacer uso de este parámetro, se utilizará para controlar si una cuenta se encuentra desactivada (valor -1) o no (cualquier otro valor).

7

Ruta relativa al buzón de correo donde se almacenarán los mensajes. Se han de tener en cuenta los siguientes puntos: el directorio almacén será de la forma dominio.com/usuario/; el directorio se ha de crear antes de ser utilizado; el directorio ha de finalizar en “/” para indicar que se está trabajando con el formato Maildir.

A continuación se mostrará un ejemplo sobre como añadir un nuevo usuario al sistema. Para ello se creará un archivo con el siguiente contenido:

# Entry 1: uid=severa,ou=people,dc=gsr,dc=pt
dn:uid=severa,ou=people,dc=gsr,dc=pt
uid: severa
cn: Severa
sn: Sanches Lopes
userPassword: {CRYPT}************ 1
loginShell: /bin/false
uidNumber: 10001
gidNumber: 10004 2
homeDirectory: /home/vmail/severa
shadowMin: -1
shadowMax: 999999
shadowWarning: 7
shadowInactive: -1
shadowExpire: -1
shadowFlag: 0
objectClass: top
objectClass: person
objectClass: posixAccount
objectClass: shadowAccount
objectClass: CourierMailAccount
mail: severa@gsr.pt
mailbox: Maildir/
quota: 0
1

Para encriptar la clave con el algoritmo de hash CRYPT, se ha utilizado la herramienta slappasswd que provee el paquete ldap-utisl. El proceso de generación ha sido el siguiente:

Ejemplo 2.10. Obtención de una clave encriptada con CRYPT

# /usr/sbin/slappasswd -v -u -h {CRYPT}
New password: [clave]
Re-enter new password: [clave]
{CRYPT}u8.2mAF.3QmIQ
2

El número que aparece en esta línea se corresponde con el gid del grupo vmail añadido en el Ejemplo 2.3, “Plantilla LDIF para el grupo vmail”.

Suponiendo que el archivo donde se ha almacenado la información de la captura LDIF para Severa se denomina severa.ldif, ha de ejecutar el siguiente comando para añadir la información al directorio LDAP:

Ejemplo 2.11. Adición de un usuario con el comando ldapadd

$ /usr/bin/ldapadd -x -D "cn=admin,dc=gsr,dc=pt" -W -h  gsr.pt -f severa.ldif
Enter LDAP Password: [clave]
adding new entry "uid=severa,ou=people,dc=gsr,dc=pt"

La siguiente imagen muestra de forma gráfica, gracias a phpLDAPadmin, el nuevo usuario añadido al directorio LDAP:

Figura 2.18. Nuevo usuario: Severa

Nuevo usuario: Severa

Esta captura muestra la nueva entrada bajo la unidad organizacional people: severa, usuario añadido en el Ejemplo 2.11, “Adición de un usuario con el comando ldapadd”.