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