[Bash] Replication d’une base Kerberos

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

Add a Comment

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *