αα½αααΆαα½αααΉαααΆαα’αα·αααααΈαα’ααΈααα αα·αααΆαααααΎααααΆααα αααααααΆααΈααΈαα αααααααΆαααααΆαααααα·αααααΆα αα·ααααααααΆααααα»ααα½αααΎααααΈααΆαααΆαα’ααΈαααααΈααΆααα½α α αΌα ααΊααΆαααααΆααααα»ααααα·ααΆαααΆααααααααΆαααααααΆαααααααα·α αα α ααΆααααααααΆαααααααααααα ααΎαααααΆα αααααΆαα»ααααα»αα―αααΆαααΆααΆααα α¬αα·ααααα»αααααΆααααααααααΆαα αααααααΆαααααΆααααααα½ααα αααα»ααα»ααααα·ααΆαααααααΆααααααα ααααΆα α αΎαα’αΆα ααΆαα±ααααΆαα§ααααααα·α ααα»αααααααααααΆαα½αααΉααααα·ααΆαααΆααααααααααααΆααα’αΆααΈαααααα αααααΆααΌαα ααα»ααααα ααααΆαααΆαα½αααααΌαααααΆααααααΆααααα»ααααα·ααΆαααΆααααααααΆααααΉαααΉαα

αααααΆαααΆαααΆααααα α’αααααααΆααααααααααα·αα»αααΆαα½αααΉαααΆαααααΆαααααΆααααααααΆααααΉαααΆαααααΌααααααααααα
ααααααααΆαα·αααααΉαααααΆαααα»ααααααα ααα»ααααααααΌαααΆααααααααααΆαααΉααααΉααααααα»ααααααααααααΆ α¬αααΆαα αα
ααΆααααααα»ααααα·αααααΆαααααααααααΆαααα ααΆαβαααααα
βααΆαβαααβααΊβααΆβααΆαβααααΆαβααΆαβααΆβα αΆααβααΌα
βααΆβα αα·αααα·ααααααΆαααΆαααΆαα
αααΎαααΎααααα αΎααααααααααα
α’αααΈαααααΌαααΆαααααΆααααααΌαααΆααααααααΆαααααααα½ααα α¬ααΎαααααΌαααααΆαααααΌαα·α
αααα»α ααΆααααααααααααΎα±ααααΆααααααααΆααααΆααααααΆααααα½α αα·αααΆααααααΆααα»α ααΌα
ααααααααΎα±αααααααΆααααΆαααααα»αα αααα αΎαααΆααΌαα ααα»ααααααα αΆααααΆαα’αα»αααααΆααααααΆαααααΆααααααααΆαααα
αααα»ααα ααααΆαααΆααααααΆααααΌαααΆααααααααΆαααααααααααΆααα
αα
αααααααααααα
α’ααααα·αααααΌαααΆααααααα·ααΈααΆααΈααΈααΈααΆαα½αααΎααααΈα’αα»αααααααααΆαααααΆααααααααΆαα Zimbra ααααα’αααα αααα’αΆα αααααα ααΆααααααααΎα§ααααααααααααΆααααααΆαα½αα
ααααΌαα‘αΎα ααΆααΆαααααααααα»αααΆααααααΉαααΈαααααααααΆααααααααααααΆααααααααΆααααααΎαααΆααα αααα»α Zimbraα αα ααααααααααΈααααΈααααΌαααΆααααααΎα α’ααααααααααααααΉααααααααΆααααααααΆααααααααα’αΆααααα αααααΆααααΈααα α’αααααααΎααααΆααα’αΆα α αΌααα αααα»αααααΈ α αΎαααααΆααααααΌαααΆααααααααΆααααααααα½αα―αα ααΆααααααααΆααααΆααα’ααααααΌαααΆααααααΆαα»ααααααΆαα’αα·αααααΈααα ααΎ αααΆαααΈααααααΎ ααΆαα½α Zimbra ααΆααααααααΆααααΆααααααα·αα’αΆα α αΌαααααΎααΆαααΌααααΈαααααα’αααααααααααααααΆαααΈααααααααα ααΌα αααα ααααα·αααΎα’αααααααΎααααΆααααααα ααΆααααααααΆαααααααα½ααα αα½αααααΉαααααΌααααααΎαααΆααααααααΆααααααΈα αα αΌαααααααααααααΈαααα ααΆααααααΎαααΆααααααααΆααααααΈαααααΌαα±ααααΆαα’αααααΆααααααΈα’αααααααααααα ααα»ααααααααα α»αααααααααα»ααααα Zimbra Creative Suite 8.8.9 ααΆααααααααααααααΆααααααΆααα’αααααααΎααααΆαααααα»αααΆααααααααΆααααααααΆααααααΈααααααα½αα―αα

ααΆαααααααααααΆαααααΆααααααααΆααα’αΆα
ααααΆααα
αααα»αααΆααααααααααα’αααααααΎααααΆααααααΆααα αα·ααααα»αα’αααααααΎααααΆααα α’αααα’αΆα
ααααααα
ααΆααααααααα
- ααααααααΆααααααααΆαα - α’αα»ααααΆαα±ααα’ααααααααααααααααΆααααααααΆααα’αααααααΆ αα·αα’αα·ααααΆα ααΆαααααΆαααΎα ααααααααΆααααααααΆααα’αααααααΆααΊ 6 αα½α’αααα α αΎαα’αα·ααααΆααΊ 64 α
- ααΆαα αΆααααααΆααααααααΆαα - α’αα»ααααΆαα±ααα’αααααααααααααααΆαααααΆααααΈαααααΆααααααααΆααααααΆαααΆαα·αααααΉαααααΌαα α’αααβααααΎβαα·αβα αΆαβααΆα αβαααβα αΆαβααΆαααβαααααΆααβαα»αβαααααβαααβαα αα½αβααβα’αΆα βααααΆααβααααΌαβααΆβαα»αβαααβααΆβαα»αβααααα
- α’ααααααα’αααααααΆ - α’αα»ααααΆαα±ααα’ααααααααα ααα½αα’ααααααα’αααααααΆαααααααΎαααα»αααΆααααααααΆαα
- αα½α’ααααααΌα α’αααααααΆ - α’αα»ααααΆαα±ααα’ααααααααα ααα½ααα½α’ααααααΌα α’αααααααΆαααααααΎαααα»αααΆααααααααΆαα
- αα½ααααα’ααααααΆ - α’αα»ααααΆαα±ααα’ααααααααα ααα½ααααααα’αααααααΆααΈ 0 ααα 9 αααααααΎαααα»αααΆααααααααΆαα
- αααααΆαααααα»αααα·α’αααααααΆ - α’αα»ααααΆαα±ααα’ααααααααα ααα½αα’αααααααΆαααααααΆαααααα»αααα· αα·ααα½α’αααααα·ααααααααααΎαααα»αααΆααααααααΆαα
- αααααΉααααααααα·ααΆααααααααΆαα - α’αα»ααααΆαα±ααα’ααααααααα ααα½αααΆααααααααΆαααααααααΌαα αα αΆα ααΌα ααααα’αααααααΎααααΆαααα·αααααΎααΆααααααααΆαααααα½αααΆαααα αΆα
- α αΆααααααΆααααααααΆαα - αααααΎααααα’αα»ααααΆαα±ααα’αααααΆαααΆαα’αααααααΎααααΆαααα·αα±ααααααΆααααααΌαααΆααααααααΆαα
- ααΎαααΆαα αΌαααααααΆααααααα»αααΆαα αΆααααα - αααααΎααααα’αα»ααααΆαα±ααα’αααααααααα ααΆαααααααααααααααααααααααααααα·ααααα ααααααΆααααα αΌαααΆααααααααΆαααα·αααααΉαααααΌα
ααΌα αααα’αααα’αΆα ααΎαααΆααααααααΆααααααααΆαααα αααα»α Zimbra ααΊαα·αααΆα’αΆα ααααααααΆα αα·αα’αΆα ααααααααα½ααα ααΉααααααΆαααααΆααααααααΆαααααααα ααααΆαααααΎαααααΆααα’ααα ααΎαααΈααα αααααααΎααααααΈαααΆαααα α’αααα’αΆα αααα αααΆαααααΉααααααααΌαααααΎαα ααΆααα’αααααααΎααααΆααααΆααΆααααααααΆαααααααα½αααααΉααα»αααααααααα»ααααααΆααααααα ααΌαα’ααα»ααααααΆαααααΉααααααα αα·αααα·αααΉαα’αΆα ααααΆααααααΌαααΆααααααααΆαααααα»αααα·ααΆααΆααααααααααΆαα αααααααααα»ααααααααα»ααααα·ααααααααΆααααααααΆααααααΌαααΆααααααααΆαααα·αααΎααα αααααααΉαα’αΆα ααα₯αααα·ααα’αα·αααααΆααααααααα·αααααΆαααααααΆααα
ααΎααααΈααααΎα±ααααααααΈααααααααΎαααΆα α’αααααααΌαα ααααααΆαα αααα»αα―αααΆααα½α α αΎαααααΎα±ααα―αααΆααααα’αΆα ααααα·ααααα·ααΆαα ααΆααααΌαααΆαααααΆαα’ααααααΎααααααααααααα·ααααααααααΈαααααααααααΎ Cron ααΎααααΈα±ααααΆααΌαααααΉααααα’αααααααΎααααΆααααααα·αααΆααααΆαααααΎαα αα α»ααααααααΆαααΆααααααααΆαααααααα½αααααΆαααααΆααααααααΆααΆααααααααΆαααααααα½αααααΉααααααααΎαααΆαααΆααααααα ααΌα ααααΆαααααα ααΌααααα½α zimbra.server.com ααααααααααααΆαααααα½αααααα’ααααα αααα»αααααααΈαα ααα.
#!/bin/bash
# ΠΠ°Π΄Π°Π΅ΠΌ ΡΡΠ΄ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
:
# Π‘ΠΏΠ΅ΡΠ²Π° ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π΄Π½Π΅ΠΉ Π΄Π»Ρ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΡ, Π·Π°ΡΠ΅ΠΌ Π΄Π»Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ:
FIRST="3"
LAST="1"
# ΠΠ°Π΄Π°Π΅ΠΌ Π°Π΄ΡΠ΅Ρ ΠΎΡΠΏΡΠ°Π²ΠΈΡΠ΅Π»Ρ:
FROM="admin@zimbra.server.com"
# ΠΠ°Π΄Π°Π΅ΠΌ Π°Π΄ΡΠ΅Ρ ΠΏΠΎΠ»ΡΡΠ°ΡΠ΅Π»Ρ, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΠΏΠΈΡΡΠΌΠΎ ΡΠΎ ΡΠΏΠΈΡΠΊΠΎΠΌ Π°ΠΊΠΊΠ°ΡΠ½ΡΠΎΠ² Ρ ΠΈΡΡΠ΅ΠΊΡΠΈΠΌΠΈ ΠΏΠ°ΡΠΎΠ»ΡΠΌΠΈ
ADMIN_RECIPIENT="admin@zimbra.server.com"
# Π£ΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ ΠΏΡΡΡ ΠΊ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠΌΡ ΡΠ°ΠΉΠ»Ρ Sendmail
SENDMAIL=$(ionice -c3 find /opt/zimbra/common/sbin/sendmail* -type f -iname sendmail)
# ΠΠΎΠ»ΡΡΠ°Π΅ΠΌ ΡΠΏΠΈΡΠΎΠΊ Π²ΡΠ΅Ρ
ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ.
USERS=$(ionice -c3 /opt/zimbra/bin/zmprov -l gaa $DOMAIN)
# Π£ΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ Π΄Π°ΡΡ Ρ ΡΠΎΡΠ½ΠΎΡΡΡΡ Π΄ΠΎ ΡΠ΅ΠΊΡΠ½Π΄Ρ:
DATE=$(date +%s)
# ΠΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· Π½ΠΈΡ
:
for USER in $USERS
do
# Π£Π·Π½Π°Π΅ΠΌ, ΠΊΠΎΠ³Π΄Π° Π±ΡΠ» ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ ΠΏΠ°ΡΠΎΠ»Ρ
USERINFO=$(ionice -c3 /opt/zimbra/bin/zmprov ga "$USER")
PASS_SET_DATE=$(echo "$USERINFO" | grep zimbraPasswordModifiedTime: | cut -d " " -f 2 | cut -c 1-8)
PASS_MAX_AGE=$(echo "$USERINFO" | grep "zimbraPasswordMaxAge:" | cut -d " " -f 2)
NAME=$(echo "$USERINFO" | grep givenName | cut -d " " -f 2)
# ΠΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ, Π½Π΅Ρ Π»ΠΈ ΡΡΠ΅Π΄ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΡΠ΅Ρ
, Ρ ΠΊΠΎΠ³ΠΎ ΡΡΠΎΠΊ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΏΠ°ΡΠΎΠ»Ρ ΡΠΆΠ΅ ΠΈΡΡΠ΅ΠΊ.
if [[ "$PASS_MAX_AGE" -eq "0" ]]
then
continue
fi
# ΠΡΡΡΠΈΡΡΠ²Π°Π΅ΠΌ Π΄Π°ΡΡ ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΏΠ°ΡΠΎΠ»Π΅ΠΉ
EXPIRES=$(date -d "$PASS_SET_DATE $PASS_MAX_AGE days" +%s)
# Π‘ΡΠΈΡΠ°Π΅ΠΌ, ΡΠΊΠΎΠ»ΡΠΊΠΎ Π΄Π½Π΅ΠΉ ΠΎΡΡΠ°Π»ΠΎΡΡ Π΄ΠΎ ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΡ ΡΡΠΎΠΊΠ° Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΏΠ°ΡΠΎΠ»Ρ
DEADLINE=$(( (($DATE - $EXPIRES)) / -86400 ))
# ΠΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌ ΠΏΠΈΡΡΠΌΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ
SUBJECT="$NAME - ΠΠ°Ρ ΠΏΠ°ΡΠΎΠ»Ρ ΡΡΠ°Π½Π΅Ρ Π½Π΅Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΡΠΌ ΡΠ΅ΡΠ΅Π· $DEADLINE Π΄Π½Π΅ΠΉ"
BODY="
ΠΠ΄ΡΠ°Π²ΡΡΠ²ΡΠΉΡΠ΅, $NAME,
ΠΠ°ΡΠΎΠ»Ρ Π²Π°ΡΠ΅Π³ΠΎ Π°ΠΊΠΊΠ°ΡΠ½ΡΠ° ΡΡΠ°Π½Π΅Ρ Π½Π΅Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΡΠΌ ΡΠ΅ΡΠ΅Π· $DEADLINE Π΄Π½Π΅ΠΉ, ΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, ΡΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π½ΠΎΠ²ΡΠΉ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠΎΡΠ΅Π΅.
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ°ΠΊΠΆΠ΅ ΡΠΎΠ·Π΄Π°ΡΡ Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΠ΅ ΠΎ ΡΠΌΠ΅Π½Π΅ ΠΏΠ°ΡΠΎΠ»Ρ Π² ΠΊΠ°Π»Π΅Π½Π΄Π°ΡΠ΅ Zimbra.
ΠΠ°ΡΠ°Π½Π΅Π΅ ΡΠΏΠ°ΡΠΈΠ±ΠΎ.
Π‘ ΡΠ²Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ, IT-ΠΎΡΠ΄Π΅Π»
"
# ΠΠ΅ΡΠ²ΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅
if [[ "$DEADLINE" -eq "$FIRST" ]]
then
echo "Subject: $SUBJECT" "$BODY" | $SENDMAIL -f "$FROM" "$USER"
echo "Reminder email sent to: $USER - $DEADLINE days left"
# ΠΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅
elif [[ "$DEADLINE" -eq "$LAST" ]]
then
echo "Subject: $SUBJECT" "$BODY" | $SENDMAIL -f "$FROM" "$USER"
echo "Reminder email sent to: $USER - $DEADLINE days left"
# Final
elif [[ "$DEADLINE" -eq "1" ]]
then
echo "Subject: $SUBJECT" "$BODY" | $SENDMAIL -f "$FROM" "$USER"
echo "Last chance for: $USER - $DEADLINE days left"
fi
doneααΌα ααααααΎαα’αΆα αα·ααΆαααΆαααΆ Zimbra Collaboration Suite ααΊαα·αααΆααααααααΌααααΈαααααααΆαααα ααααΆαααΆααααααααααΆαα’αα»αααααααααΆαααααΆααααααααΆααααααΉαααΉα α αΎαα’ααα»αα αααααα»αααΆααααααΆαααααΆααααααΆαα½α ααΆααΉαααΆαααΆαααΆααααα½ααααα»αααΆαααααΎα±αααα»ααααα·ααααααΆααααααΆαααααΆαααΉααααΉαα
αααααΆαααααα½αααΆααα’αααααααΆααααααΉα Zextras Suite α’αααα’αΆα
ααΆααααα’αααααααΆα Zextras Katerina Triandafilidi ααΆααααα’ααΈααα katerina@zextras.com
ααααα: www.habr.com
