Table of content:
INTRO
In instalatia default Zimbra notificarea catre utilizatori care informeaza utilizatorul despre expirarea parolei sale nu este transmis. Astfel utilizatorul este nevoit sa apeleze la administratorul serviciului de posta electronica cu rugamintea de ai reseta parola (In cazul ca nu o cunoaste). Utilizatorii MS Outlook primesc eroare la conectare.
In acest caz folosim un script Bash care in vom pune in cron, pentru a rula in fiecare zi.
SCRIPT
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 | #!/bin/bash
FROM="postmaster@zimbra.md"
DOMAIN="zimbra.md"
SENDMAIL=$(ionice -c3 find /opt/zimbra/ -type f -iname sendmail)
USERS=`/opt/zimbra/bin/zmprov -l gaa | grep -v "galsync" | grep -v "zimbra.md"`;
DATE=$(date +%s)
for USER in $USERS
do
OBJECT="(&(objectClass=zimbraAccount)(mail=$USER))"
ZIMBRA_LDAP_PASSWORD=`su - zimbra -c "zmlocalconfig -s zimbra_ldap_password | cut -d ' ' -f3"`
LDAP_MASTER_URL=`su - zimbra -c "zmlocalconfig -s ldap_master_url | cut -d ' ' -f3"`
LDAPSEARCH=$(ionice -c3 find /opt/zimbra/ -type f -iname ldapsearch)
PASS_SET_DATE=`$LDAPSEARCH -H $LDAP_MASTER_URL -w $ZIMBRA_LDAP_PASSWORD -D uid=zimbra,cn=admins,cn=zimbra \
-x $OBJECT | grep zimbraPasswordModifiedTime: | cut -d " " -f 2 | cut -c 1-8`
EXPIRES=$(date -d "$PASS_SET_DATE 60 days" +%s)
DEADLINE=$(( (($DATE - $EXPIRES)) / -86400 ))
SUBJECT="$USER - Parola contului DVS. e-mail expira in $DEADLINE zile"
BODY="
Stimate client, detinator al adresei e-mail $USER,
Va anuntam ca parola dvs. de e-mail va expira in $DEADLINE zile. Va rugam sa modificati parola e-mail \
prin Web Mail:
- Adresa : https://$DOMAIN
1. Conectati-va la Web Mail prin adresa de mai sus
2. Selectati fila Preferinte
3. Faceti clic pe butonul Modifica parola
4. Completati parola veche, noua parola si confirmati noua parola
5. Faceti clic pe Modificare parola pentru a o schimba
Parola contului e-mail trebuie sa contina de cel putin 8 caractere, cu o combinatie de caractere alfanumerice \
(majuscule, litere mici, numere) si simboluri (! @ # $, Etc.).
Daca aveti intrebari cu privire la modul de a schimba parola de e-mail, va rugam sa contactati echipa de asistenta \
la nr. de tel. x(xx)xxxxxx
Multumim, echipa Zimbra.md
"
if [[ "$DEADLINE" -eq "5" ]]
then
echo "Subject: $SUBJECT" "$BODY" | $SENDMAIL -f "$FROM" "$USER"
echo "Reminder email sent to: $USER - $DEADLINE days left"
elif [[ "$DEADLINE" -eq "3" ]]
then
echo "Subject: $SUBJECT" "$BODY" | $SENDMAIL -f "$FROM" "$USER"
echo "Reminder email sent to: $USER - $DEADLINE days left"
elif [[ "$DEADLINE" -eq "1" ]]
then
echo "Subject: $SUBJECT" "$BODY" | $SENDMAIL -f "$FROM" "$USER"
echo "Last chance for: $USER - $DEADLINE days left"
else
echo "Account: $USER reports; $DEADLINE days on Password policy"
fi
done
|
REFERINTE:
[1] https://imanudin.net/2017/02/04/script-notify-expired-password-on-zimbra
[2] https://github.com/wuxmedia/Zimbra_passpoll/blob/master/passpoll.sh
Comments
comments powered by Disqus