From d4dc1ae9db5aac53a524dd912edf6d986728f5a7 Mon Sep 17 00:00:00 2001 From: Fab Date: Thu, 10 Sep 2026 16:53:15 +0200 Subject: [PATCH] =?UTF-8?q?remplace=20mmctl=20par=20api=20MM=20et=20maj=20?= =?UTF-8?q?du=20ail=20de=20r=C3=A9ponse?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bin/gestUsers.sh | 70 +++++++++++++++++++++++++++++++++++++----------- 1 file changed, 55 insertions(+), 15 deletions(-) diff --git a/bin/gestUsers.sh b/bin/gestUsers.sh index 2d03d73..45fab3e 100755 --- a/bin/gestUsers.sh +++ b/bin/gestUsers.sh @@ -393,10 +393,8 @@ searchDestroy() { } gestPassword() { - ACTION_EN_COURS="Gestion du mot de passe d' un compte" + ACTION_EN_COURS="Gestion du mot de passe d'un compte" searchEmail - #cree un mdp acceptable par postfix/nc/mattermost - PASSWORD=_`apg -n 1 -m 10 -M NCL -d`_ COMPTE_A_MODIFIER=${CHOIX_MAIL} # On considère le mot de passe de secours de ldap 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) if [ $EMAIL_ORGA_TROUVE -ge 1 ] 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 ########################################################################## 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 Nextcloud $RED ${USER_NEXTCLOUD_MODIF} ${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 pass=$(mkpasswd -m sha512crypt ${PASSWORD}) 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 mail de la collégiale : contact@kaz.bzh -A bientôt" - ExpMail ${MAIL_SECOURS} "Modification du compte" ${MAIL_CHANG} +Pour tes prochaines questions, je t'invite à les (re)poser sur notre agora, dans le canal \"Un soucis, une question\" sur +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 if [ ${ADRESSE_SEC} == "NON" ] then @@ -1139,18 +1179,18 @@ echo "-------------------------------------------------" echo -e "${BOLD}COMPTES : " echo -e "${NC}*********" echo -e "${NC}" -echo -e " ${NC}1 - Information sur un compte (alias ou Mail )" -echo -e " ${YELLOW}2 - Modification d' un compte" -echo -e " ${NC}3 - Changement de mot de passe d' un compte (HS)" -echo -e " ${GREEN}4 - Suppression d' un compte " -echo -e " ${NC}5 - Création d' une adresse de messagerie" +echo -e " ${NC}1 - Information sur un compte (alias ou Mail)" +echo -e " ${YELLOW}2 - Modification d'un compte" +echo -e " ${NC}3 - Changement de mot de passe 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}" echo -e "${BOLD}ALIAS : " echo -e "${NC}*******" echo -e "${NC}" -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 " ${GREEN}8 - Suppression 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 " ${GREEN}8 - Suppression d'un alias Général pour mails Externes" echo -e "${NC}" echo "-------------------------------------------------" echo -e "${NC}"