La carga de datos se hará con el mismo script de la sección anterior, tanto en el maestro como en los esclavos, con las siguientes diferencias:
En el maestro por ejemplo "DC=CHAOSDIMENSION,DC=ORG" ejecutaremos este script crea_base.sh
para crear la base:
Configuración Crea Base Maestro |
#!/bin/sh |
if [ ${#@} != 1 ] |
then |
echo "Se necesita el parámetro DN base del maestro" |
echo "Por ejemplo crea_base.sh dc=CHAOSDIMENSION,dc=ORG" |
exit |
fi |
DC=`echo $1|cut -d\= -f 2|cut -d\, -f 1` |
slapadd << EOF |
dn: $1 |
objectClass: dcObject |
objectClass: organization |
description: Base object |
dc: $DC |
o: My own Base Organization |
EOF |
Fin |
Además con el script de la sección anterior cargaremos los dominios de ejemplo:
"DC=dominio1,DC=CHAOSDIMENSION,DC=ORG" y "DC=dominio2,DC=CHAOSDIMENSION,DC=ORG".
En el esclavo1 ejecutaremos el script con "DC=dominio1,DC=CHAOSDIMENSION,DC=ORG" y en esclavo2 con "DC=dominio2,DC=CHAOSDIMENSION,DC=ORG".
En ambos casos los dos servidores LDAP esclavos habrán sido configurados para su propio DN.
Lo que nos faltaría seria crear el usuario para la replica, que se podría hacer con el siguiente script usuario_replica.sh
con parámetros nombre del usuario y el DN base:
Configuración Usuario Réplica |
#!/bin/sh |
if [ ${#@} != 2 ] |
then |
echo "Se necesita los parametros nombre de usuario y DN base para replica" |
echo "Por ejemplo usuario_replica.sh replicator dc=dominio1,dc=CHAOSDIMENSION,dc=ORG " |
exit |
fi |
KEY=`makepasswd -crypt -chars=7 \ |
-string="abcdefghijklmnopqrstuvwxyz1234567890"` |
PASS=`echo $KEY|awk '{ print $1 }'` |
CRYPT=`echo $KEY|awk '{ print $2 }'` |
echo "Creando usuario $1 con contraseña: $PASS" |
slapadd << EOF |
dn: cn=$1,ou=people,$2 |
displayName: Debian User,,, |
userPassword: {crypt} $CRYPT |
sambaLMPassword: |
sambaNTPassword: |
sn: $1 |
givenName: $1 |
cn: $1 |
homeDirectory: /home/$1 |
loginShell: /bin/false |
uidNumber: 10000 |
gidNumber: 100 |
gecos: $1 |
shadowMin: 0 |
shadowMax: 99999 |
shadowWarning: 7 |
shadowInactive: 0 |
shadowLastChange: 12438 |
gosaDefaultLanguage: es_ES |
uid: $1 |
objectClass: posixAccount |
objectClass: shadowAccount |
objectClass: person |
objectClass: organizationalPerson |
objectClass: inetOrgPerson |
objectClass: gosaAccount |
objectClass: top |
EOF |
Fin |
aescanero AT gmail.com