SetAllPass a disparu ! Reste le secretgen à refaire + revoir les valeurs "liées" par setallpass. Rien n'est testé pour le moment.
This commit is contained in:
		@@ -8,7 +8,7 @@ KAZ_ROOT=$(cd "$(dirname $0)"/..; pwd)
 | 
			
		||||
setKazVars
 | 
			
		||||
 | 
			
		||||
. $DOCKERS_ENV
 | 
			
		||||
. $KAZ_ROOT/secret/SetAllPass.sh
 | 
			
		||||
. $KAZ_BIN_DIR/getPasswords.sh ldapServ nextcloudServ sympaServ paheko
 | 
			
		||||
 | 
			
		||||
VERSION="18-05-2025"
 | 
			
		||||
PRG=$(basename $0)
 | 
			
		||||
@@ -24,7 +24,7 @@ URL_PAHEKO="$httpProto://${paheko_API_USER}:${paheko_API_PASSWORD}@kaz-paheko.$(
 | 
			
		||||
NL_LIST=infos@listes.kaz.bzh
 | 
			
		||||
URL_AGORA_API=${URL_AGORA}/api/v4
 | 
			
		||||
EQUIPE=kaz
 | 
			
		||||
LISTMASTER=$(echo ${sympa_LISTMASTERS} | cut -d',' -f1)
 | 
			
		||||
LISTMASTER=$(echo ${sympaServ_LISTMASTERS} | cut -d',' -f1)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#### Test du serveur sur lequel s' execute le script ####
 | 
			
		||||
@@ -47,6 +47,8 @@ rm -rf /tmp/*.json
 | 
			
		||||
############################################ Fonctions #######################################################
 | 
			
		||||
 | 
			
		||||
ExpMail() {
 | 
			
		||||
		
 | 
			
		||||
		. $KAZ_KEY_DIR/env-mail
 | 
			
		||||
        MAIL_DEST=$1
 | 
			
		||||
        MAIL_SUJET=$2
 | 
			
		||||
        MAIL_TEXTE=$3
 | 
			
		||||
@@ -58,6 +60,7 @@ ExpMail() {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
PostMattermost() {
 | 
			
		||||
		. $KAZ_KEY_DIR/env-mattermostAdmin
 | 
			
		||||
        PostM=$1
 | 
			
		||||
        CHANNEL=$2
 | 
			
		||||
        TEAMID=$(curl -s -H "Authorization: Bearer ${mattermost_token}" "${URL_AGORA_API}/teams/name/${EQUIPE}" | jq .id | sed -e 's/"//g')
 | 
			
		||||
@@ -91,8 +94,8 @@ searchEmail() {
 | 
			
		||||
			fi
 | 
			
		||||
		done
 | 
			
		||||
		ldapsearch -H ldap://${LDAP_IP} \
 | 
			
		||||
		-x -D "cn=${ldap_LDAP_ADMIN_USERNAME},${ldap_root}" \
 | 
			
		||||
		-w "${ldap_LDAP_ADMIN_PASSWORD}" \
 | 
			
		||||
		-x -D "cn=${ldapServ_LDAP_ADMIN_USERNAME},${ldap_root}" \
 | 
			
		||||
		-w "${ldapServ_LDAP_ADMIN_PASSWORD}" \
 | 
			
		||||
		-b "${ldap_root}" "(&(objectclass=${SEARCH_OBJECT_CLASS})(cn=*${RMAIL}*))" cn | grep ^cn | sed -e 's/^cn: //' >$TFILE_EMAILS
 | 
			
		||||
		COMPTEUR_LIGNE=0
 | 
			
		||||
		while read LIGNE
 | 
			
		||||
@@ -136,7 +139,8 @@ searchEmail() {
 | 
			
		||||
 | 
			
		||||
searchMattermost() {
 | 
			
		||||
		#Ici $1 est une adresse email
 | 
			
		||||
            	docker exec -ti ${mattermostServName} bin/mmctl --suppress-warnings auth login $httpProto://$URL_AGORA --name local-server --username $mattermost_user --password $mattermost_pass >/dev/null 2>&1
 | 
			
		||||
		. $KAZ_KEY_DIR/env-mattermostAdmin
 | 
			
		||||
        docker exec -ti ${mattermostServName} bin/mmctl --suppress-warnings auth login $httpProto://$URL_AGORA --name local-server --username $mattermost_user --password $mattermost_pass >/dev/null 2>&1
 | 
			
		||||
		docker exec -ti ${mattermostServName} bin/mmctl --suppress-warnings config set ServiceSettings.EnableAPIUserDeletion "true" >/dev/null 2>&1
 | 
			
		||||
		#on créé la list des mails dans mattermost
 | 
			
		||||
		docker exec -ti ${mattermostServName} bin/mmctl --suppress-warnings user list --all >${TFILE_MAILS_MATTERMOST} 2>/dev/null
 | 
			
		||||
@@ -182,12 +186,12 @@ infoEmail() {
 | 
			
		||||
					printKazMsg " DETAILS DU COMPTE DANS NEXTCLOUD PRINCIPAL"
 | 
			
		||||
					echo -e ""
 | 
			
		||||
					#TEMP_USER_NC=$(mktemp /tmp/$RACINE.XXXXXXXXX.TEMP_USER_NC)
 | 
			
		||||
					#curl -s -o $TEMP_USER_NC -X GET -H 'OCS-APIRequest:true' $httpProto://admin:$nextcloud_NEXTCLOUD_ADMIN_PASSWORD@$URL_NC/ocs/v1.php/cloud/users?search=$CHOIX_MAIL
 | 
			
		||||
					#curl -s -o $TEMP_USER_NC -X GET -H 'OCS-APIRequest:true' $httpProto://admin:$nextcloudServ_NEXTCLOUD_ADMIN_PASSWORD@$URL_NC/ocs/v1.php/cloud/users?search=$CHOIX_MAIL
 | 
			
		||||
					#cat $TEMP_USER_NC | grep -i "element" | sed -e s/[\<\>\/]//g | sed -e s/element//g
 | 
			
		||||
					echo -ne "${NC}"
 | 
			
		||||
					echo -ne " - Nextcloud enable : "
 | 
			
		||||
					echo -ne "${GREEN}"
 | 
			
		||||
					ldapsearch -H ldap://${LDAP_IP} -D "cn=${ldap_LDAP_ADMIN_USERNAME},${ldap_root}" -x -w "${ldap_LDAP_ADMIN_PASSWORD}" -b "cn=${CHOIX_MAIL},ou=users,${ldap_root}" | grep -i nextcloudEnabled | cut -c 18-30
 | 
			
		||||
					ldapsearch -H ldap://${LDAP_IP} -D "cn=${ldapServ_LDAP_ADMIN_USERNAME},${ldap_root}" -x -w "${ldapServ_LDAP_ADMIN_PASSWORD}" -b "cn=${CHOIX_MAIL},ou=users,${ldap_root}" | grep -i nextcloudEnabled | cut -c 18-30
 | 
			
		||||
					echo -ne "${NC}"
 | 
			
		||||
					echo -e "${NC} ------------------------------------------------"
 | 
			
		||||
					printKazMsg " DETAILS DU COMPTE DANS LDAP ET PAHEKO"
 | 
			
		||||
@@ -203,11 +207,11 @@ infoEmail() {
 | 
			
		||||
					echo -ne "${NC}"
 | 
			
		||||
					echo -n " - Quota Mail (Ldap) : " 
 | 
			
		||||
					echo -ne "${GREEN}"
 | 
			
		||||
					ldapsearch -H ldap://${LDAP_IP} -D "cn=${ldap_LDAP_ADMIN_USERNAME},${ldap_root}" -x -w "${ldap_LDAP_ADMIN_PASSWORD}" -b "cn=${CHOIX_MAIL},ou=users,${ldap_root}" | grep -i mailquota | cut -c 11-60
 | 
			
		||||
					ldapsearch -H ldap://${LDAP_IP} -D "cn=${ldapServ_LDAP_ADMIN_USERNAME},${ldap_root}" -x -w "${ldapServ_LDAP_ADMIN_PASSWORD}" -b "cn=${CHOIX_MAIL},ou=users,${ldap_root}" | grep -i mailquota | cut -c 11-60
 | 
			
		||||
					echo -ne "${NC}"
 | 
			
		||||
					echo -n " - Quota Nextcloud (Ldap) : "
 | 
			
		||||
					echo -ne "${GREEN}"
 | 
			
		||||
					ldapsearch -H ldap://${LDAP_IP} -D "cn=${ldap_LDAP_ADMIN_USERNAME},${ldap_root}" -x -w "${ldap_LDAP_ADMIN_PASSWORD}" -b "cn=${CHOIX_MAIL},ou=users,${ldap_root}" | grep -i nextcloudquota | cut -c 17-60
 | 
			
		||||
					ldapsearch -H ldap://${LDAP_IP} -D "cn=${ldapServ_LDAP_ADMIN_USERNAME},${ldap_root}" -x -w "${ldapServ_LDAP_ADMIN_PASSWORD}" -b "cn=${CHOIX_MAIL},ou=users,${ldap_root}" | grep -i nextcloudquota | cut -c 17-60
 | 
			
		||||
					echo -ne "${NC}"
 | 
			
		||||
					echo -n " - Mail de secours (Paheko ): "
 | 
			
		||||
					echo -ne "${GREEN}"
 | 
			
		||||
@@ -215,11 +219,11 @@ infoEmail() {
 | 
			
		||||
					echo -ne "${NC}"
 | 
			
		||||
					echo -n " - Mail de secours (Ldap): "
 | 
			
		||||
					echo -ne "${GREEN}"
 | 
			
		||||
					ldapsearch -H ldap://${LDAP_IP} -D "cn=${ldap_LDAP_ADMIN_USERNAME},${ldap_root}" -x -w "${ldap_LDAP_ADMIN_PASSWORD}" -b "cn=${CHOIX_MAIL},ou=users,${ldap_root}" | grep -i maildeSecours | sed -e 's/mailDeSecours://'
 | 
			
		||||
					ldapsearch -H ldap://${LDAP_IP} -D "cn=${ldapServ_LDAP_ADMIN_USERNAME},${ldap_root}" -x -w "${ldapServ_LDAP_ADMIN_PASSWORD}" -b "cn=${CHOIX_MAIL},ou=users,${ldap_root}" | grep -i maildeSecours | sed -e 's/mailDeSecours://'
 | 
			
		||||
					echo -ne "${NC}"
 | 
			
		||||
					echo -n " - Alias (Ldap) : "
 | 
			
		||||
					echo -ne "${GREEN}"
 | 
			
		||||
					LDAP_ALIAS=$(ldapsearch -H ldap://${LDAP_IP} -D "cn=${ldap_LDAP_ADMIN_USERNAME},${ldap_root}" -x -w "${ldap_LDAP_ADMIN_PASSWORD}" -b "cn=${CHOIX_MAIL},ou=users,${ldap_root}" | grep -i alias | cut -c 11-60)
 | 
			
		||||
					LDAP_ALIAS=$(ldapsearch -H ldap://${LDAP_IP} -D "cn=${ldapServ_LDAP_ADMIN_USERNAME},${ldap_root}" -x -w "${ldapServ_LDAP_ADMIN_PASSWORD}" -b "cn=${CHOIX_MAIL},ou=users,${ldap_root}" | grep -i alias | cut -c 11-60)
 | 
			
		||||
					echo -ne "${NC}"
 | 
			
		||||
					echo -ne "${GREEN}"
 | 
			
		||||
					for ldap_alias in ${LDAP_ALIAS}
 | 
			
		||||
@@ -239,8 +243,8 @@ infoEmail() {
 | 
			
		||||
                			echo "------------------------------------------------"
 | 
			
		||||
					echo  " Alias : ${CHOIX_MAIL} "
 | 
			
		||||
					echo ""
 | 
			
		||||
					for INFOALIAS in $(ldapsearch -H ldap://${LDAP_IP} -x -D "cn=${ldap_LDAP_ADMIN_USERNAME},${ldap_root}" \
 | 
			
		||||
                		        -w "${ldap_LDAP_ADMIN_PASSWORD}" -b "${ldap_root}" "(&(objectclass=PostfixBookMailForward)(cn=*${CHOIX_MAIL}*))" mail \
 | 
			
		||||
					for INFOALIAS in $(ldapsearch -H ldap://${LDAP_IP} -x -D "cn=${ldapServ_LDAP_ADMIN_USERNAME},${ldap_root}" \
 | 
			
		||||
                		        -w "${ldapServ_LDAP_ADMIN_PASSWORD}" -b "${ldap_root}" "(&(objectclass=PostfixBookMailForward)(cn=*${CHOIX_MAIL}*))" mail \
 | 
			
		||||
					| grep ^mail: | sed -e 's/^mail://')
 | 
			
		||||
					do
 | 
			
		||||
						echo -ne "=====> ${GREEN}  " 
 | 
			
		||||
@@ -307,12 +311,12 @@ searchDestroy() {
 | 
			
		||||
						fi
 | 
			
		||||
						echo -e "${NC}"
 | 
			
		||||
						echo -e "Recherche de ${GREEN} ${REP_SEARCH_DESTROY} ${NC} dans nextcloud"
 | 
			
		||||
						USER_NEXTCLOUD_SUPPR=$(curl -s -X GET -H 'OCS-APIRequest:true' $httpProto://admin:$nextcloud_NEXTCLOUD_ADMIN_PASSWORD@$URL_NC/ocs/v1.php/cloud/users?search=${REP_SEARCH_DESTROY} | grep element | sed -s 's/[ \<\>\/]//g' | sed  's/element//g')
 | 
			
		||||
						USER_NEXTCLOUD_SUPPR=$(curl -s -X GET -H 'OCS-APIRequest:true' $httpProto://admin:$nextcloudServ_NEXTCLOUD_ADMIN_PASSWORD@$URL_NC/ocs/v1.php/cloud/users?search=${REP_SEARCH_DESTROY} | grep element | sed -s 's/[ \<\>\/]//g' | sed  's/element//g')
 | 
			
		||||
						if [ ! -z ${USER_NEXTCLOUD_SUPPR} ]
 | 
			
		||||
						then
 | 
			
		||||
							printKazMsg "le user trouvé est : ${USER_NEXTCLOUD_SUPPR}"
 | 
			
		||||
							echo -e "${RED} Suppresion de ${USER_NEXTCLOUD_SUPPR}"
 | 
			
		||||
							curl -H 'OCS-APIREQUEST: true' -X DELETE $httpProto://admin:$nextcloud_NEXTCLOUD_ADMIN_PASSWORD@$URL_NC/ocs/v1.php/cloud/users/${USER_NEXTCLOUD_SUPPR} >/dev/null 2>&1
 | 
			
		||||
							curl -H 'OCS-APIREQUEST: true' -X DELETE $httpProto://admin:$nextcloudServ_NEXTCLOUD_ADMIN_PASSWORD@$URL_NC/ocs/v1.php/cloud/users/${USER_NEXTCLOUD_SUPPR} >/dev/null 2>&1
 | 
			
		||||
							if [ "$?" -eq "0" ]
 | 
			
		||||
                        				then
 | 
			
		||||
								printKazMsg "Suppresion ok"
 | 
			
		||||
@@ -327,7 +331,7 @@ searchDestroy() {
 | 
			
		||||
							echo -e "${RED} suppression de ${REP_SEARCH_DESTROY} dans la liste info de sympa"
 | 
			
		||||
							echo -e "${NC}"
 | 
			
		||||
							echo ""
 | 
			
		||||
							docker exec -ti sympaServ /usr/lib/sympa/bin/sympa_soap_client.pl --soap_url=${httpProto}://${URL_LISTE}/sympasoap --trusted_application=${sympa_SOAP_USER} --trusted_application_password=${sympa_SOAP_PASSWORD} --proxy_vars=USER_EMAIL=${LISTMASTER} --service=del --service_parameters="${NL_LIST},${REP_SEARCH_DESTROY}"
 | 
			
		||||
							docker exec -ti sympaServ /usr/lib/sympa/bin/sympa_soap_client.pl --soap_url=${httpProto}://${URL_LISTE}/sympasoap --trusted_application=${sympaServ_SOAP_USER} --trusted_application_password=${sympaServ_SOAP_PASSWORD} --proxy_vars=USER_EMAIL=${LISTMASTER} --service=del --service_parameters="${NL_LIST},${REP_SEARCH_DESTROY}"
 | 
			
		||||
							echo -e "${NC}"
 | 
			
		||||
							echo ""
 | 
			
		||||
							echo  -e "${RED} suppression de ${REP_SEARCH_DESTROY} dans le serveur de mail"
 | 
			
		||||
@@ -344,7 +348,7 @@ searchDestroy() {
 | 
			
		||||
                                                echo  -e "${RED} suppression de ${REP_SEARCH_DESTROY} dans le ldap"
 | 
			
		||||
                                                echo -e "${NC}"
 | 
			
		||||
                                                echo ""
 | 
			
		||||
						ldapdelete -H ldap://${LDAP_IP} -D "cn=${ldap_LDAP_ADMIN_USERNAME},${ldap_root}" -x -w "${ldap_LDAP_ADMIN_PASSWORD}" "cn=${REP_SEARCH_DESTROY},ou=users,${ldap_root}"
 | 
			
		||||
						ldapdelete -H ldap://${LDAP_IP} -D "cn=${ldapServ_LDAP_ADMIN_USERNAME},${ldap_root}" -x -w "${ldapServ_LDAP_ADMIN_PASSWORD}" "cn=${REP_SEARCH_DESTROY},ou=users,${ldap_root}"
 | 
			
		||||
						if [ "$?" -eq "0" ]
 | 
			
		||||
						then
 | 
			
		||||
							printKazMsg "Suppresion ok"
 | 
			
		||||
@@ -377,8 +381,8 @@ gestPassword() {
 | 
			
		||||
		# MAIL_SECOURS=$(jq .results[].email_secours $FICMAILSECOURS | sed -e 's/\"//g')
 | 
			
		||||
 | 
			
		||||
		MAIL_SECOURS=$(ldapsearch -H ldap://${LDAP_IP} \
 | 
			
		||||
                -x -D "cn=${ldap_LDAP_ADMIN_USERNAME},${ldap_root}" \
 | 
			
		||||
                -w "${ldap_LDAP_ADMIN_PASSWORD}" \
 | 
			
		||||
                -x -D "cn=${ldapServ_LDAP_ADMIN_USERNAME},${ldap_root}" \
 | 
			
		||||
                -w "${ldapServ_LDAP_ADMIN_PASSWORD}" \
 | 
			
		||||
                -b "${ldap_root}" "(&(objectclass=inetOrgPerson)(cn=*${CHOIX_MAIL}*))" | grep ^mailDeSecours | sed -e 's/^mailDeSecours: //')
 | 
			
		||||
		if [ "$MAIL_SECOURS" = "" ]
 | 
			
		||||
                then
 | 
			
		||||
@@ -405,19 +409,19 @@ gestPassword() {
 | 
			
		||||
		fi
 | 
			
		||||
		if [ "$SEARCH_RESET_INPUT" = "o" ] || [ "$SEARCH_RESET_INPUT" = "O" ]
 | 
			
		||||
		then
 | 
			
		||||
			USER_NEXTCLOUD_MODIF=$(curl -s -X GET -H 'OCS-APIRequest:true' $httpProto://admin:$nextcloud_NEXTCLOUD_ADMIN_PASSWORD@$URL_NC/ocs/v1.php/cloud/users?search=${COMPTE_A_MODIFIER} | grep element | sed -e 's/[ \<\>\/]//g' -e 's/element//g')
 | 
			
		||||
			USER_NEXTCLOUD_MODIF=$(curl -s -X GET -H 'OCS-APIRequest:true' $httpProto://admin:$nextcloudServ_NEXTCLOUD_ADMIN_PASSWORD@$URL_NC/ocs/v1.php/cloud/users?search=${COMPTE_A_MODIFIER} | grep element | sed -e 's/[ \<\>\/]//g' -e 's/element//g')
 | 
			
		||||
			echo -e "$GREEN Compte à modifier = $RED ${COMPTE_A_MODIFIER}  ${NC}"
 | 
			
		||||
			echo -e "$GREEN Mail de secours = $RED ${MAIL_SECOURS}  ${NC}"
 | 
			
		||||
			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
 | 
			
		||||
			curl -H 'OCS-APIREQUEST: true' -X PUT $httpProto://admin:$nextcloud_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:$nextcloudServ_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\
 | 
			
		||||
changeType: modify\n\
 | 
			
		||||
replace: userPassword\n\
 | 
			
		||||
userPassword: {CRYPT}${pass}\n\n" | ldapmodify -c -H ldap://${LDAP_IP} -D "cn=${ldap_LDAP_ADMIN_USERNAME},${ldap_root}" -x -w "${ldap_LDAP_ADMIN_PASSWORD}"
 | 
			
		||||
userPassword: {CRYPT}${pass}\n\n" | ldapmodify -c -H ldap://${LDAP_IP} -D "cn=${ldapServ_LDAP_ADMIN_USERNAME},${ldap_root}" -x -w "${ldapServ_LDAP_ADMIN_PASSWORD}"
 | 
			
		||||
			echo -e "Envoi d'un message dans mattermost pour la modification du mot de passe"
 | 
			
		||||
			docker exec -ti mattermostServ bin/mmctl post create kaz:Creation-Comptes --message "Le mot de passe du compte ${COMPTE_A_MODIFIER} a été modifié" >/dev/null 2>&1
 | 
			
		||||
			if [ $ADRESSE_SEC == "OUI" ]
 | 
			
		||||
@@ -465,8 +469,8 @@ createMail() {
 | 
			
		||||
		if [[ ${EMAIL_SOUHAITE} =~ ${regexMail} ]] 
 | 
			
		||||
		then
 | 
			
		||||
			ldapsearch -H ldap://${LDAP_IP} \
 | 
			
		||||
                        -x -D "cn=${ldap_LDAP_ADMIN_USERNAME},${ldap_root}" \
 | 
			
		||||
                        -w "${ldap_LDAP_ADMIN_PASSWORD}" \
 | 
			
		||||
                        -x -D "cn=${ldapServ_LDAP_ADMIN_USERNAME},${ldap_root}" \
 | 
			
		||||
                        -w "${ldapServ_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
 | 
			
		||||
@@ -564,7 +568,7 @@ nextcloudEnabled: ${TRUE_KAZ}\n\
 | 
			
		||||
nextcloudQuota: ${QUOTA} GB\n\
 | 
			
		||||
mobilizonEnabled: ${TRUE_KAZ}\n\
 | 
			
		||||
agoraEnabled: ${TRUE_KAZ}\n\
 | 
			
		||||
userPassword: {CRYPT}${LDAPPASS}\n\n' | ldapmodify -c -H ldap://${LDAP_IP} -D \"cn=${ldap_LDAP_ADMIN_USERNAME},${ldap_root}\" -x -w ${ldap_LDAP_ADMIN_PASSWORD}" >${TFILE_CREATE_MAIL}
 | 
			
		||||
userPassword: {CRYPT}${LDAPPASS}\n\n' | ldapmodify -c -H ldap://${LDAP_IP} -D \"cn=${ldapServ_LDAP_ADMIN_USERNAME},${ldap_root}\" -x -w ${ldapServ_LDAP_ADMIN_PASSWORD}" >${TFILE_CREATE_MAIL}
 | 
			
		||||
# on execute le fichier avec les données ldap pour créer l' entrée dans l' annuaire
 | 
			
		||||
bash ${TFILE_CREATE_MAIL} >/dev/null
 | 
			
		||||
# on colle le compte et le mot de passe dans le fichier 
 | 
			
		||||
@@ -610,12 +614,12 @@ createAlias() {
 | 
			
		||||
		if [[ ${AMAIL} =~ ${regexMail} ]] 
 | 
			
		||||
		then
 | 
			
		||||
			RESU_ALIAS=$(ldapsearch -H ldap://${LDAP_IP} \
 | 
			
		||||
			-x -D "cn=${ldap_LDAP_ADMIN_USERNAME},${ldap_root}" \
 | 
			
		||||
			-w "${ldap_LDAP_ADMIN_PASSWORD}" \
 | 
			
		||||
			-x -D "cn=${ldapServ_LDAP_ADMIN_USERNAME},${ldap_root}" \
 | 
			
		||||
			-w "${ldapServ_LDAP_ADMIN_PASSWORD}" \
 | 
			
		||||
			-b "${ldap_root}" "(&(objectclass=PostfixBookMailForward)(cn=*${AMAIL}*))" | grep ^cn | sed -e 's/^cn: //')
 | 
			
		||||
			RESU_ALIAS_IS_MAIL=$(ldapsearch -H ldap://${LDAP_IP} \
 | 
			
		||||
 	                -x -D "cn=${ldap_LDAP_ADMIN_USERNAME},${ldap_root}" \
 | 
			
		||||
			-w "${ldap_LDAP_ADMIN_PASSWORD}" \
 | 
			
		||||
 	                -x -D "cn=${ldapServ_LDAP_ADMIN_USERNAME},${ldap_root}" \
 | 
			
		||||
			-w "${ldapServ_LDAP_ADMIN_PASSWORD}" \
 | 
			
		||||
             		-b "${ldap_root}" "(&(objectclass=inetOrgPerson)(cn=*${AMAIL}*))" cn | grep ^cn | sed -e 's/^cn: //')
 | 
			
		||||
 | 
			
		||||
	        	if echo ${RESU_ALIAS} | grep -q "^${AMAIL}$" || echo ${RESU_ALIAS_IS_MAIL} | grep -q "^${AMAIL}$"
 | 
			
		||||
@@ -690,7 +694,7 @@ changeType: add\n\
 | 
			
		||||
objectClass: organizationalRole\n\
 | 
			
		||||
objectClass: PostfixBookMailForward\n\
 | 
			
		||||
mailAlias: ${AMAIL}\n\
 | 
			
		||||
${LDAPALAISMAIL}\n\n" | ldapmodify -c -H ldap://${LDAP_IP} -D "cn=${ldap_LDAP_ADMIN_USERNAME},${ldap_root}" -x -w ${ldap_LDAP_ADMIN_PASSWORD}
 | 
			
		||||
${LDAPALAISMAIL}\n\n" | ldapmodify -c -H ldap://${LDAP_IP} -D "cn=${ldapServ_LDAP_ADMIN_USERNAME},${ldap_root}" -x -w ${ldapServ_LDAP_ADMIN_PASSWORD}
 | 
			
		||||
			fait=1
 | 
			
		||||
			printKazMsg "Création de ${AMAIL}"
 | 
			
		||||
			sleep 3			
 | 
			
		||||
@@ -722,8 +726,8 @@ delAlias() {
 | 
			
		||||
                if [[ ${RALIAS} =~ ${regexMail} ]]
 | 
			
		||||
                then
 | 
			
		||||
                	RESU_ALIAS=$(ldapsearch -H ldap://${LDAP_IP} \
 | 
			
		||||
                        -x -D "cn=${ldap_LDAP_ADMIN_USERNAME},${ldap_root}" \
 | 
			
		||||
                        -w "${ldap_LDAP_ADMIN_PASSWORD}" \
 | 
			
		||||
                        -x -D "cn=${ldapServ_LDAP_ADMIN_USERNAME},${ldap_root}" \
 | 
			
		||||
                        -w "${ldapServ_LDAP_ADMIN_PASSWORD}" \
 | 
			
		||||
                        -b "${ldap_root}" "(&(objectclass=PostfixBookMailForward)(cn=${RALIAS}))" cn | grep ^cn | sed -e 's/^cn: //')
 | 
			
		||||
			if [ ! -z ${RESU_ALIAS} ]
 | 
			
		||||
			then
 | 
			
		||||
@@ -733,7 +737,7 @@ delAlias() {
 | 
			
		||||
					read -p "suppression de ${RESU_ALIAS} ? (o/n): " REPDELALIAS
 | 
			
		||||
					case "${REPDELALIAS}" in
 | 
			
		||||
					o | O )
 | 
			
		||||
                        			ldapdelete -H ldap://${LDAP_IP} -D "cn=${ldap_LDAP_ADMIN_USERNAME},${ldap_root}" -x -w "${ldap_LDAP_ADMIN_PASSWORD}" "cn=${RESU_ALIAS},ou=mailForwardings,${ldap_root}"
 | 
			
		||||
                        			ldapdelete -H ldap://${LDAP_IP} -D "cn=${ldapServ_LDAP_ADMIN_USERNAME},${ldap_root}" -x -w "${ldapServ_LDAP_ADMIN_PASSWORD}" "cn=${RESU_ALIAS},ou=mailForwardings,${ldap_root}"
 | 
			
		||||
						printKazMsg "suppression ${RESU_ALIAS} effectuée"
 | 
			
		||||
						sleep 2
 | 
			
		||||
						faitdel=1
 | 
			
		||||
@@ -769,8 +773,8 @@ modifyAlias()
 | 
			
		||||
	ACHANGE=0
 | 
			
		||||
	searchEmail alias
 | 
			
		||||
	LISTE_MAIL_ALIAS=$(ldapsearch -H ldap://${LDAP_IP} \
 | 
			
		||||
        -x -D "cn=${ldap_LDAP_ADMIN_USERNAME},${ldap_root}" \
 | 
			
		||||
        -w "${ldap_LDAP_ADMIN_PASSWORD}" \
 | 
			
		||||
        -x -D "cn=${ldapServ_LDAP_ADMIN_USERNAME},${ldap_root}" \
 | 
			
		||||
        -w "${ldapServ_LDAP_ADMIN_PASSWORD}" \
 | 
			
		||||
        -b "${ldap_root}" "(&(objectclass=PostfixBookMailForward)(cn=*${CHOIX_MAIL}*))" \
 | 
			
		||||
	| grep -i ^mail: | sed -e 's/^mail: /_/' | tr -d [:space:] | sed -s 's/_/ /g')
 | 
			
		||||
	echo "-------------------------------------------------------------------"
 | 
			
		||||
@@ -845,8 +849,8 @@ modifyAlias()
 | 
			
		||||
				echo "mail: ${key}" >>${FIC_MODIF_LDIF}
 | 
			
		||||
			done
 | 
			
		||||
			echo "-" >>${FIC_MODIF_LDIF}
 | 
			
		||||
		 	ldapmodify -c -H ldap://${LDAP_IP} -D "cn=${ldap_LDAP_ADMIN_USERNAME},${ldap_root}" \
 | 
			
		||||
			-x -w ${ldap_LDAP_ADMIN_PASSWORD} \
 | 
			
		||||
		 	ldapmodify -c -H ldap://${LDAP_IP} -D "cn=${ldapServ_LDAP_ADMIN_USERNAME},${ldap_root}" \
 | 
			
		||||
			-x -w ${ldapServ_LDAP_ADMIN_PASSWORD} \
 | 
			
		||||
			-f ${FIC_MODIF_LDIF} >/dev/null
 | 
			
		||||
		else
 | 
			
		||||
			printKazMsg "Pas de changement"
 | 
			
		||||
@@ -872,8 +876,8 @@ updateUser() {
 | 
			
		||||
		for attribut in mailDeSecours mailAlias mailQuota nextcloudQuota
 | 
			
		||||
		do
 | 
			
		||||
			ATTRIB+=([${attribut}]=$(ldapsearch -H ldap://${LDAP_IP} \
 | 
			
		||||
	               	-x -D "cn=${ldap_LDAP_ADMIN_USERNAME},${ldap_root}" \
 | 
			
		||||
                	-w "${ldap_LDAP_ADMIN_PASSWORD}" \
 | 
			
		||||
	               	-x -D "cn=${ldapServ_LDAP_ADMIN_USERNAME},${ldap_root}" \
 | 
			
		||||
                	-w "${ldapServ_LDAP_ADMIN_PASSWORD}" \
 | 
			
		||||
                	-b "${ldap_root}" "(&(objectclass=inetOrgPerson)(cn=*${CHOIX_MAIL}*))" \
 | 
			
		||||
			 | grep ^"${attribut}": | sed -e 's/^'${attribut}': //' | tr -s '[:space:]' ' ' ))
 | 
			
		||||
			# si l' attribut est mailDesecours on l' attrape et on on le stocke pour pouvoir l' enlever de sympa
 | 
			
		||||
@@ -1056,15 +1060,15 @@ updateUser() {
 | 
			
		||||
					done
 | 
			
		||||
					cat ${FIC_MODIF_LDIF}
 | 
			
		||||
					sleep 3
 | 
			
		||||
					ldapmodify -c -H ldap://${LDAP_IP} -D "cn=${ldap_LDAP_ADMIN_USERNAME},${ldap_root}" \
 | 
			
		||||
					-x -w ${ldap_LDAP_ADMIN_PASSWORD} \
 | 
			
		||||
					ldapmodify -c -H ldap://${LDAP_IP} -D "cn=${ldapServ_LDAP_ADMIN_USERNAME},${ldap_root}" \
 | 
			
		||||
					-x -w ${ldapServ_LDAP_ADMIN_PASSWORD} \
 | 
			
		||||
					-f ${FIC_MODIF_LDIF}
 | 
			
		||||
					if [ ! -z ${MAILDESECOURS} ]
 | 
			
		||||
					then
 | 
			
		||||
						# suppression du mail de secours de la liste infos
 | 
			
		||||
						docker exec -ti sympaServ /usr/lib/sympa/bin/sympa_soap_client.pl --soap_url=${httpProto}://${URL_LISTE}/sympasoap --trusted_application=${sympa_SOAP_USER} --trusted_application_password=${sympa_SOAP_PASSWORD} --proxy_vars=USER_EMAIL=${LISTMASTER} --service=del --service_parameters="${NL_LIST},${MAILDESECOURSACTUEL}"
 | 
			
		||||
						docker exec -ti sympaServ /usr/lib/sympa/bin/sympa_soap_client.pl --soap_url=${httpProto}://${URL_LISTE}/sympasoap --trusted_application=${sympaServ_SOAP_USER} --trusted_application_password=${sympaServ_SOAP_PASSWORD} --proxy_vars=USER_EMAIL=${LISTMASTER} --service=del --service_parameters="${NL_LIST},${MAILDESECOURSACTUEL}"
 | 
			
		||||
						# ajout de l' adresse  de la nouvelle adresse de secours
 | 
			
		||||
						docker exec -ti sympaServ /usr/lib/sympa/bin/sympa_soap_client.pl --soap_url=${httpProto}://${URL_LISTE}/sympasoap --trusted_application=${sympa_SOAP_USER} --trusted_application_password=${sympa_SOAP_PASSWORD} --proxy_vars=USER_EMAIL=${LISTMASTER} --service=add --service_parameters="${NL_LIST},${MAILDESECOURS}"
 | 
			
		||||
						docker exec -ti sympaServ /usr/lib/sympa/bin/sympa_soap_client.pl --soap_url=${httpProto}://${URL_LISTE}/sympasoap --trusted_application=${sympaServ_SOAP_USER} --trusted_application_password=${sympaServ_SOAP_PASSWORD} --proxy_vars=USER_EMAIL=${LISTMASTER} --service=add --service_parameters="${NL_LIST},${MAILDESECOURS}"
 | 
			
		||||
					fi
 | 
			
		||||
					updateUser
 | 
			
		||||
				fi
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user