iinteractif
This commit is contained in:
+97
-83
@@ -516,73 +516,88 @@ createMail() {
|
||||
QUOTA=1
|
||||
TRUE_KAZ=TRUE
|
||||
fait=0
|
||||
# On demande le mail souhaite on regarde si c' est valide et si ça existe déjà
|
||||
while [ $fait -eq 0 ]
|
||||
do
|
||||
clear
|
||||
echo "----------------------------------------------------------------------"
|
||||
printKazMsg "${ACTION_EN_COURS}"
|
||||
echo "----------------------------------------------------------------------"
|
||||
read -p "Mail souhaité (r ou R pour quitter ) : " EMAIL_SOUHAITE
|
||||
[[ ${EMAIL_SOUHAITE} =~ ^[rRqQ]$ ]] && Main
|
||||
EMAIL_SOUHAITE=$(unaccent utf8 ${EMAIL_SOUHAITE})
|
||||
if [[ ${EMAIL_SOUHAITE} =~ ${regexMail} ]]
|
||||
then
|
||||
ldapsearch -H ldap://${LDAP_IP} \
|
||||
-x -D "cn=${LDAP_ADMIN_USERNAME},${ldap_root}" \
|
||||
-w "${LDAP_ADMIN_PASSWORD}" \
|
||||
-b "${ldap_root}" "(&(objectclass=inetOrgPerson)(cn=${EMAIL_SOUHAITE}))" cn | grep ^cn | sed -e 's/^cn: //' >$TFILE_EMAILS
|
||||
if grep -q "^${EMAIL_SOUHAITE}$" "${TFILE_EMAILS}"
|
||||
# si c'est une demande de création non interactive
|
||||
# la valeur de CREATE_AUTO doit être à TRUE
|
||||
CREATE_AUTO=${1}
|
||||
EMAIL_SOUHAITE=${2}
|
||||
EMAIL_SECOURS=${3}
|
||||
# Si on est en interactif, On demande le mail souhaite on regarde si c' est valide et si ça existe déjà
|
||||
if [ "${CREATE_AUTO}" != "TRUE" ]
|
||||
then
|
||||
while [ $fait -eq 0 ]
|
||||
do
|
||||
clear
|
||||
echo "----------------------------------------------------------------------"
|
||||
printKazMsg "${ACTION_EN_COURS}"
|
||||
echo "----------------------------------------------------------------------"
|
||||
read -p "Mail souhaité (r ou R pour quitter ) : " EMAIL_SOUHAITE
|
||||
[[ ${EMAIL_SOUHAITE} =~ ^[rRqQ]$ ]] && Main
|
||||
EMAIL_SOUHAITE=$(unaccent utf8 ${EMAIL_SOUHAITE})
|
||||
if [[ ${EMAIL_SOUHAITE} =~ ${regexMail} ]]
|
||||
then
|
||||
printKazError " - Le mail ${EMAIL_SOUHAITE} existe déjà"
|
||||
fait=0
|
||||
elif ! grep $(echo ${EMAIL_SOUHAITE} | sed -e 's/^.*@//') ${KAZ_CONF_DIR}/autorized-domains.txt >/dev/null
|
||||
then
|
||||
printKazMsg "Le domaine n' est pas dans la liste autorisée"
|
||||
ldapsearch -H ldap://${LDAP_IP} \
|
||||
-x -D "cn=${LDAP_ADMIN_USERNAME},${ldap_root}" \
|
||||
-w "${LDAP_ADMIN_PASSWORD}" \
|
||||
-b "${ldap_root}" "(&(objectclass=inetOrgPerson)(cn=${EMAIL_SOUHAITE}))" cn | grep ^cn | sed -e 's/^cn: //' >$TFILE_EMAILS
|
||||
if grep -q "^${EMAIL_SOUHAITE}$" "${TFILE_EMAILS}"
|
||||
then
|
||||
printKazError " - Le mail ${EMAIL_SOUHAITE} existe déjà"
|
||||
fait=0
|
||||
elif ! grep $(echo ${EMAIL_SOUHAITE} | sed -e 's/^.*@//') ${KAZ_CONF_DIR}/autorized-domains.txt >/dev/null
|
||||
then
|
||||
printKazMsg "Le domaine n' est pas dans la liste autorisée"
|
||||
sleep 2
|
||||
fait=0
|
||||
else
|
||||
fait=1
|
||||
fi
|
||||
else
|
||||
printKazError " - Mail invalide !"
|
||||
sleep 2
|
||||
fait=0
|
||||
else
|
||||
fait=1
|
||||
fi
|
||||
else
|
||||
printKazError " - Mail invalide !"
|
||||
sleep 2
|
||||
fait=0
|
||||
fi
|
||||
done
|
||||
done
|
||||
else
|
||||
echo "on aura fait les tests avant ou la c'est comme on veut"
|
||||
fi
|
||||
# on renseigne le domaine en cours pour les options qui concernent pas le domaine kaz.bzh
|
||||
# ----------------------------------------------------------------------
|
||||
DOMAINE_EN_COURS=$(echo ${EMAIL_SOUHAITE} | sed -e 's/^.*@//')
|
||||
echo " ---- Domaine: " ${DOMAINE_EN_COURS} ----
|
||||
# ----------------------------------------------------------------------
|
||||
# On demande le mail de secours et on teste si c' est un mail valide
|
||||
fait=0
|
||||
while [ $fait -eq 0 ]
|
||||
do
|
||||
read -p "Mail de secours : " EMAIL_SECOURS
|
||||
if [[ ${EMAIL_SECOURS} =~ ${regexMail} ]] && [ "${EMAIL_SECOURS}" != "" ]
|
||||
then
|
||||
fait=1
|
||||
else
|
||||
printKazError "Mail invalide"
|
||||
fait=0
|
||||
fi
|
||||
if [ "${EMAIL_SECOURS}" = "${EMAIL_SOUHAITE}" ]
|
||||
then
|
||||
echo -e "${RED}Le mail de secours ne peut pas etre le meme que le mail demande${NC}"
|
||||
fait=0
|
||||
fi
|
||||
done
|
||||
# On demande le prenom
|
||||
while [ "${PRENOM}" = "" ]
|
||||
do
|
||||
read -p "Prenom : " PRENOM
|
||||
done
|
||||
# On demande le nom
|
||||
while [ "${NOM}" = "" ]
|
||||
do
|
||||
read -p "Nom : " NOM
|
||||
done
|
||||
# Si on est en interactif, On demande le mail de secours, le nom et prenom et on teste si c' est un mail valide
|
||||
if [ "${CREATE_AUTO}" != "TRUE" ]
|
||||
then
|
||||
fait=0
|
||||
while [ $fait -eq 0 ]
|
||||
do
|
||||
read -p "Mail de secours : " EMAIL_SECOURS
|
||||
if [[ ${EMAIL_SECOURS} =~ ${regexMail} ]] && [ "${EMAIL_SECOURS}" != "" ]
|
||||
then
|
||||
fait=1
|
||||
else
|
||||
printKazError "Mail invalide"
|
||||
fait=0
|
||||
fi
|
||||
if [ "${EMAIL_SECOURS}" = "${EMAIL_SOUHAITE}" ]
|
||||
then
|
||||
echo -e "${RED}Le mail de secours ne peut pas etre le meme que le mail demande${NC}"
|
||||
fait=0
|
||||
fi
|
||||
done
|
||||
# On demande le prenom
|
||||
while [ "${PRENOM}" = "" ]
|
||||
do
|
||||
read -p "Prenom : " PRENOM
|
||||
done
|
||||
# On demande le nom
|
||||
while [ "${NOM}" = "" ]
|
||||
do
|
||||
read -p "Nom : " NOM
|
||||
done
|
||||
else
|
||||
echo "on invente un nom et prénom et on aura testé avant si le mail de secours est valide"
|
||||
fi
|
||||
# On constitue l' ident kaz pour le ldap
|
||||
IDENT_KAZ=$(unaccent utf8 "${PRENOM,,}.${NOM,,}")
|
||||
# on créé le mot de passe
|
||||
@@ -591,21 +606,24 @@ createMail() {
|
||||
LDAPUSER=$(echo ${EMAIL_SOUHAITE} | awk -F '@' '{print $1}')
|
||||
LDAPDOMAIN=$(echo ${EMAIL_SOUHAITE} | awk -F '@' '{print $2}')
|
||||
LDAPPASS=$(mkpasswd -m sha512crypt ${PASSWORD})
|
||||
[ "${DOMAINE_EN_COURS}" != "${domain}" ] && TRUE_KAZ=FALSE
|
||||
echo "${GREEN}Mail souhaité : ${NC}${EMAIL_SOUHAITE}"
|
||||
echo "${GREEN}Mail secours : ${NC}${EMAIL_SECOURS}"
|
||||
echo "${GREEN}Prénom : ${NC}${PRENOM}"
|
||||
echo "${GREEN}Nom : ${NC}${NOM}"
|
||||
echo "${GREEN}Mot de passe : ${NC}${PASSWORD}"
|
||||
RCREATION=""
|
||||
repRegEx='^[oOnN]$'
|
||||
while ! [[ ${RCREATION} =~ ${repRegEx} ]]
|
||||
do
|
||||
read -p "Création ? o/n : " RCREATION
|
||||
done
|
||||
if [ ${RCREATION} = "n" ] || [ ${RCREATION} = "N" ]
|
||||
then
|
||||
Main
|
||||
if [ "${CREATE_AUTO}" != "TRUE" ]
|
||||
then
|
||||
[ "${DOMAINE_EN_COURS}" != "${domain}" ] && TRUE_KAZ=FALSE
|
||||
echo "${GREEN}Mail souhaité : ${NC}${EMAIL_SOUHAITE}"
|
||||
echo "${GREEN}Mail secours : ${NC}${EMAIL_SECOURS}"
|
||||
echo "${GREEN}Prénom : ${NC}${PRENOM}"
|
||||
echo "${GREEN}Nom : ${NC}${NOM}"
|
||||
echo "${GREEN}Mot de passe : ${NC}${PASSWORD}"
|
||||
RCREATION=""
|
||||
repRegEx='^[oOnN]$'
|
||||
while ! [[ ${RCREATION} =~ ${repRegEx} ]]
|
||||
do
|
||||
read -p "Création ? o/n : " RCREATION
|
||||
done
|
||||
if [ ${RCREATION} = "n" ] || [ ${RCREATION} = "N" ]
|
||||
then
|
||||
Main
|
||||
fi
|
||||
fi
|
||||
echo "echo -e '\n\ndn: cn=${EMAIL_SOUHAITE},ou=users,${ldap_root}\n\
|
||||
changeType: add\n\
|
||||
@@ -647,16 +665,12 @@ Bonne journée"
|
||||
ExpMail ${EMAIL_SECOURS} "Creation de ${EMAIL_SOUHAITE}" ${MSG_CREATION_MAIL}
|
||||
PostMattermost "création du compte ${EMAIL_SOUHAITE} avec l' adresse de secours ${EMAIL_SECOURS}" "Creation-Comptes"
|
||||
IFS=${OLDIFS}
|
||||
echo " --------------------------------------------------------------------"
|
||||
echo "! INFO : !"
|
||||
echo "! Le Mot de passe !"
|
||||
echo "! Est dans le fichier !"
|
||||
echo "! ${TFILE_CREATE_MAIL} !"
|
||||
echo " --------------------------------------------------------------------"
|
||||
echo
|
||||
read -p " - ENTREE pour continuer - "
|
||||
# Retour au menu principal
|
||||
Main
|
||||
# si non interactif on fait une pause pour afficher une eventuelle erreur
|
||||
if [ "${CREATE_AUTO}" != "TRUE" ]
|
||||
then
|
||||
read -p " - ENTREE pour continuer - "
|
||||
createMail
|
||||
fi
|
||||
}
|
||||
|
||||
createAlias() {
|
||||
|
||||
Reference in New Issue
Block a user