remplace mmctl par api MM et maj du ail de réponse

This commit is contained in:
fab
2026-09-10 16:53:15 +02:00
parent a3ccc94a0f
commit d4dc1ae9db
+55 -15
View File
@@ -393,10 +393,8 @@ searchDestroy() {
} }
gestPassword() { gestPassword() {
ACTION_EN_COURS="Gestion du mot de passe d' un compte" ACTION_EN_COURS="Gestion du mot de passe d'un compte"
searchEmail searchEmail
#cree un mdp acceptable par postfix/nc/mattermost
PASSWORD=_`apg -n 1 -m 10 -M NCL -d`_
COMPTE_A_MODIFIER=${CHOIX_MAIL} COMPTE_A_MODIFIER=${CHOIX_MAIL}
# On considère le mot de passe de secours de ldap # On considère le mot de passe de secours de ldap
MAIL_SECOURS=$(ldapsearch -H ldap://${LDAP_IP} \ MAIL_SECOURS=$(ldapsearch -H ldap://${LDAP_IP} \
@@ -417,7 +415,7 @@ gestPassword() {
EMAIL_ORGA_TROUVE=$(curl -s ${URL_PAHEKO}/api/sql -d "SELECT id FROM users where emails_Rattaches like '%$CHOIX_MAIL%' ;" | jq .results[].id | wc -l) EMAIL_ORGA_TROUVE=$(curl -s ${URL_PAHEKO}/api/sql -d "SELECT id FROM users where emails_Rattaches like '%$CHOIX_MAIL%' ;" | jq .results[].id | wc -l)
if [ $EMAIL_ORGA_TROUVE -ge 1 ] if [ $EMAIL_ORGA_TROUVE -ge 1 ]
then then
printKazError "L' adresse apparait dans plusieurs orga comme mails rattaché IL EST PREFERABLE DE REPONDRE NON !!!" printKazError "L'adresse apparait dans plusieurs orga comme mails rattaché IL EST PREFERABLE DE REPONDRE NON !!!"
fi fi
########################################################################## ##########################################################################
read -p "ON CONTINUE ? [ o / n ]: " SEARCH_RESET_INPUT read -p "ON CONTINUE ? [ o / n ]: " SEARCH_RESET_INPUT
@@ -434,7 +432,40 @@ gestPassword() {
echo -e "$GREEN Compte $RED $(searchMattermost $COMPTE_A_MODIFIER) ${NC}" echo -e "$GREEN Compte $RED $(searchMattermost $COMPTE_A_MODIFIER) ${NC}"
echo -e "$GREEN Compte Nextcloud $RED ${USER_NEXTCLOUD_MODIF} ${NC}" echo -e "$GREEN Compte Nextcloud $RED ${USER_NEXTCLOUD_MODIF} ${NC}"
echo -e "$GREEN Le mot de passe sera = $RED ${PASSWORD} ${NC}" echo -e "$GREEN Le mot de passe sera = $RED ${PASSWORD} ${NC}"
docker exec -ti mattermostServ bin/mmctl user change-password $(searchMattermost ${COMPTE_A_MODIFIER}) -p ${PASSWORD} >/dev/null 2>&1
#maj du mdp sur mattermost avec l'api et non plus avec mmctl
#docker exec -ti mattermostServ bin/mmctl user change-password $(searchMattermost ${COMPTE_A_MODIFIER}) -p ${PASSWORD} >/dev/null 2>&1
USER_ID=$(searchMattermost "${COMPTE_A_MODIFIER}")
echo "user_id = "$USER_ID
. "$KAZ_KEY_DIR/env-mattermostAdmin"
#il arrive que l'api MM sorte un 401, je boucle
while true
do
HTTP_CODE=$(curl -sS -o /dev/null -w "%{http_code}" \
-X PUT \
-H "Authorization: Bearer ${mattermost_token}" \
-H "Content-Type: application/json" \
"${URL_AGORA_API}/users/${USER_ID}/password" \
-d "{\"new_password\":\"${PASSWORD}\"}")
echo "Mattermost : HTTP <${HTTP_CODE}>"
if [ "${HTTP_CODE}" = "200" ]
then
break
fi
if [ "${HTTP_CODE}" = "401" ]
then
echo "Authentification Mattermost refusée, nouvelle tentative dans 2 secondes..."
sleep 2
else
echo "ERREUR : changement du mot de passe Mattermost : HTTP ${HTTP_CODE}"
return 1
fi
done
curl -H 'OCS-APIREQUEST: true' -X PUT $httpProto://admin:$NEXTCLOUD_ADMIN_PASSWORD@$URL_NC/ocs/v1.php/cloud/users/${USER_NEXTCLOUD_MODIF} -d key=password -d value=${PASSWORD} >/dev/null 2>&1 curl -H 'OCS-APIREQUEST: true' -X PUT $httpProto://admin:$NEXTCLOUD_ADMIN_PASSWORD@$URL_NC/ocs/v1.php/cloud/users/${USER_NEXTCLOUD_MODIF} -d key=password -d value=${PASSWORD} >/dev/null 2>&1
pass=$(mkpasswd -m sha512crypt ${PASSWORD}) pass=$(mkpasswd -m sha512crypt ${PASSWORD})
echo -e "\n\ndn: cn=${COMPTE_A_MODIFIER},ou=users,${ldap_root}\n\ echo -e "\n\ndn: cn=${COMPTE_A_MODIFIER},ou=users,${ldap_root}\n\
@@ -456,8 +487,17 @@ Le site d' aide pour la configuration des services : https://wiki.kaz.bzh
Le site Web de Kaz : https://kaz.bzh Le site Web de Kaz : https://kaz.bzh
Le mail de la collégiale : contact@kaz.bzh Le mail de la collégiale : contact@kaz.bzh
A bientôt" Pour tes prochaines questions, je t'invite à les (re)poser sur notre agora, dans le canal \"Un soucis, une question\" sur
ExpMail ${MAIL_SECOURS} "Modification du compte" ${MAIL_CHANG} https://agora.kaz.bzh/kaz/channels/une-question--un-soucis
Il faut te connecter avec ton compte kaz.
Ainsi, tout le monde pourra répondre mais aussi bénéficier des réponses apportées. On la joue collectif.
Bonne journée 😉
"
ExpMail ${MAIL_SECOURS} "Modification du compte" "${MAIL_CHANG}"
read -p " ---------------------- Appuyer sur une touche pour continuer -------------------------"
fi fi
if [ ${ADRESSE_SEC} == "NON" ] if [ ${ADRESSE_SEC} == "NON" ]
then then
@@ -1139,18 +1179,18 @@ echo "-------------------------------------------------"
echo -e "${BOLD}COMPTES : " echo -e "${BOLD}COMPTES : "
echo -e "${NC}*********" echo -e "${NC}*********"
echo -e "${NC}" echo -e "${NC}"
echo -e " ${NC}1 - Information sur un compte (alias ou Mail )" echo -e " ${NC}1 - Information sur un compte (alias ou Mail)"
echo -e " ${YELLOW}2 - Modification d' un compte" echo -e " ${YELLOW}2 - Modification d'un compte"
echo -e " ${NC}3 - Changement de mot de passe d' un compte (HS)" echo -e " ${NC}3 - Changement de mot de passe d'un compte"
echo -e " ${GREEN}4 - Suppression d' un compte " echo -e " ${GREEN}4 - Suppression d'un compte"
echo -e " ${NC}5 - Création d' une adresse de messagerie" echo -e " ${NC}5 - Création d'une adresse de messagerie"
echo -e "${NC}" echo -e "${NC}"
echo -e "${BOLD}ALIAS : " echo -e "${BOLD}ALIAS : "
echo -e "${NC}*******" echo -e "${NC}*******"
echo -e "${NC}" echo -e "${NC}"
echo -e " ${NC}6 - Création d' un alias Général pour mails Externes" echo -e " ${NC}6 - Création d'un alias Général pour mails Externes"
echo -e " ${YELLOW}7 - Modification d' un alias Général pour mails Externes" echo -e " ${YELLOW}7 - Modification d'un alias Général pour mails Externes"
echo -e " ${GREEN}8 - Suppression d' un alias Général pour mails Externes" echo -e " ${GREEN}8 - Suppression d'un alias Général pour mails Externes"
echo -e "${NC}" echo -e "${NC}"
echo "-------------------------------------------------" echo "-------------------------------------------------"
echo -e "${NC}" echo -e "${NC}"