#!/bin/bash
## $Id: deploy_mozilla_tb_final.sh 7420 2012-09-24 22:12:04Z keyser $ ##
#### script permettant de ventiler le profil de thunderbird ####
# Si un profil thunderbird a été crée par un utilisateur,
# celui ci sera ignoré par le script.
# franck molle 03/2005
# le script permet desormais de redeployer les profils sans pour autant ecraser s'ils ont ete modifies par l'utilisateur.
# sauf à passer en parametre "force_delete"
# Modifs Stephane Boireau: 11/03/2006
chemin_html="/var/www/se3/tmp"
#Couleurs
# COLTITRE="\033[1;35m" # Rose
# COLPARTIE="\033[1;34m" # Bleu
#
# COLTXT="\033[0;37m" # Gris
# COLCHOIX="\033[1;33m" # Jaune
# COLDEFAUT="\033[0;33m" # Brun-jaune
# COLSAISIE="\033[1;32m" # Vert
#
# COLCMD="\033[1;37m" # Blanc
#
# COLERREUR="\033[1;31m" # Rouge
# COLINFO="\033[0;36m" # Cyan
ERREUR()
{
echo "$COLERREUR"
echo "ERREUR!"
echo "$1"
echo ""
exit 1
}
#echo "Géneration des profils de Mozilla Thunderbird
"
#echo "
"
# echo -e "Les profils deja existants seront ignorés"
# echo -e ""
## $Id: deploy_mozilla_tb_final.sh 7420 2012-09-24 22:12:04Z keyser $ ##
AIDE()
{
echo "Permet de déployer les profils Mozilla Thunderbird sans les répertoires personnels"
echo "Usage : deploy_mozilla_tb_final.sh option1 option2 option3 option4"
echo "option1 et option2 sont obligatoires alors que option3 et option4 sont facultatives"
echo "option1 : le nom du groupe des utilisateurs à générer, all pour tous les utilisateurs de l'annuaire"
echo "option2 : force_move afin de régénérer les profils existants en sauvegardant, no_move pour ne rien toucher"
echo "option3 : nom du serveur pop "
echo "option4 : nom du serveur smtp"
echo "--help ou -h cette aide"
}
if [ "$1" "--help" -o "$1" "-h" -o "$1" "" ]
then
AIDE
fi
if [ -z "$1" ]; then
ERREUR "$0 prend au moins en arguments la liste des utilisateurs à générer, all pour tous les homes"
fi
OPTION="$2"
if [ "$OPTION" != "force_move" -o "$OPTION" "no_move" ]
then
AIDE
fi
POP_SERVEUR="$3"
SMTP_SERVEUR="$4"
WWWPATH="/var/www"
LADATE=$(date +%D_%Hh%M | sed -e "s!/!_!g")
if [ -e $WWWPATH/se3/includes/config.inc.php ]; then
dbhost=`cat $WWWPATH/se3/includes/config.inc.php | grep "dbhost=" | cut -d = -f 2 |cut -d \" -f 2`
dbname=`cat $WWWPATH/se3/includes/config.inc.php | grep "dbname=" | cut -d = -f 2 |cut -d \" -f 2`
dbuser=`cat $WWWPATH/se3/includes/config.inc.php | grep "dbuser=" | cut -d = -f 2 |cut -d \" -f 2`
dbpass=`cat $WWWPATH/se3/includes/config.inc.php | grep "dbpass=" | cut -d = -f 2 |cut -d \" -f 2`
else
ERREUR "Impossible de trouver $WWWPATH/se3/includes/config.inc.php"
fi
path2UserSkel=`echo "SELECT value FROM params WHERE name='path2UserSkel'" | mysql -h $dbhost $dbname -u $dbuser -p$dbpass -N`
if [ -z "$path2UserSkel" ]; then
path2UserSkel="/etc/skel/user"
fi
lcsIp=`echo "SELECT value FROM params WHERE name='lcsIp'" | mysql -h $dbhost $dbname -u $dbuser -p$dbpass -N`
#Seuls les homes deja existants seront complétés
# Les compte crees par les utilisateurs seront ignorés
CHEMIN_TB_SOURCE="${path2UserSkel}/profil/appdata/Thunderbird"
if [ "$1" "all" ]; then
list=$(ls /home | grep -v netlogon | grep -v templates)
else
### recuperation des parametres actuels de l'annuaire dans la base ####
BASEDN=`echo "SELECT value FROM params WHERE name=\"ldap_base_dn\"" | mysql -h $dbhost $dbname -u $dbuser -p$dbpass -N`
TST_GRP=$(ldapsearch -xLLL cn=$1 -b $BASEDN | grep member)
if [ -z "$TST_GRP" ]; then
TST_UID=$(ldapsearch -xLLL uid="$1")
if [ -z "$TST_UID" ]; then
ERREUR "Impossible de trouver le groupe ou l'utilisateur passé en paramètre dans l'annuaire Ldap"
else
list=$1
fi
else
TST_GRP_POSIX=$(ldapsearch -xLLL "cn=$1" | grep memberUid)
if [ -z "$TST_GRP_POSIX" ]; then
list=$(ldapsearch -x -LLL cn=$1 -b $BASEDN | grep uid | cut -d " " -f2 | cut -d "=" -f2 | cut -d "," -f1)
else
list=$(ldapsearch -x -LLL "cn=$1" | grep memberUid | cut -d " " -f2)
fi
fi
fi
# echo "$list"
# read
#======================================================
# Nombre de dossiers à traiter:
nbdossiers=$(echo "$list" | wc -l)
compteur=1
mkdir -p $chemin_html
chown www-se3 $chemin_html
echo "
Le traitement va démarrer...
Traitement de $user...
($compteur/$nbdossiers)
Traitement terminé!
" > $chemin_html/recopie_profils_thunderbird.html #============================================ exit 0