Ce script permet de répliquer une base de royaume Kerberos d’un master vers un ou plusieurs slave en s’appuyant sur le service kpropd.
#!/bin/bash
#
# Kerberos_Replication
#
# Auteur : Johan
# Contact : johan@slashroot.fr
# Date : 04/07/16
# Version : 1.0
# Description : Ce script permet de repliquer une base de royaume kerberos vers un ou plusieurs serveurs slaves
# Commentaire : A mettre en crontab
print_usage ()
{
echo ""
echo "Utilisation : kerberos_replication ROYAUME SLAVE1 SLAVE2 ..."
echo ""
}
err=0
# Le script prend au moins deux parametres
if [[ $# -lt 2 ]] ; then
echo ""
echo "ERREUR - Il faut au moins renseigner deux parametres"
print_usage
exit 1
fi
# On recupere le royaume
REALM=${1^^}
realm=${1,,}
# On verifie qu'on dispose de la base
if [[ ! -d "/var/kerberos/krb5kdc/$realm" ]] ; then
echo ""
echo "ERREUR - Il semble que la base ne soit pas presente"
echo ""
exit 1
fi
# On dump la base pour la propager
/usr/sbin/kdb5_util -r "$REALM" dump "/var/kerberos/krb5kdc/$realm/slave_datatrans"
# Les parametres apres le premier doivent etre des serveurs fonctionnels
shift
for slave in $@ ; do
if ( sleep 1 | nc -w 1 -v $slave 754 &> /dev/null ) ; then
/usr/sbin/kprop -r $REALM -f "/var/kerberos/krb5kdc/$realm/slave_datatrans" $slave &> /dev/null
else
err=$((err+1))
fi
done
if [[ $err -eq 0 ]] ; then
exit 0
fi
# Affichage du resultat
if [[ $err -eq $# ]] ; then
echo ""
echo "ERREUR - La replication de n'est pas bien passee"
echo ""
exit 1
else
echo ""
echo "WARNING - Il y a $err replication(s) en erreur"
echo ""
exit 1
fi
]]>