Em meu ambiente, não tenho um serviço de diretório (LDAP, Active Directory, etc) em que possa fazer esse bloqueio por horário.
Sendo assim, criei esse script para poder efetuar a alteração do status da conta diretamente no Zimbra. Segue o passo-a-passo.
Com o usuário root, crie o script em /opt/zimbra/bin:
# vi /opt/zimbra/bin/zmschedulestatus
Coloque o seguinte conteúdo:
#!/bin/bash
# zmschedulestatus - Change status of email account via crontab
#
# Marcio Jose Atanasio
# Version 20130726
CONF="/opt/zimbra/zmschedulestatus_accounts"
ZMPROV="/opt/zimbra/bin/zmprov"
if [ -f $CONF ]; then
if [ "$1" = "active" ] || [ "$1" = "maintenance" ] || [ "$1" = "locked" ] || [ "$1" = "closed" ] || [ "$1" = "lockout" ] || [ "$1" = "pending" ]; then
for ACCOUNT in `cat $CONF`; do
$ZMPROV ma $ACCOUNT zimbraAccountStatus $1
done
else
echo "Necessary state account to change. Valid modes are active,maintenance,locked,closed,lockout,pending"
fi
else
echo "Create a configuration file with email accounts in $CONF"
fi
Crie o arquivo de configuração com as contas de email que deseja alterar o status:
# vi /opt/zimbra/zmschedulestatus_accounts
Adicione as contas que deseja efetuar a alteração do status:
email@dominio.com.br
Como usuário zimbra, adicione ao crontab o agendamento:
# crontab -e
Ao final, configure:
# Efetuar bloqueio às 18 horas de segunda a sexta
0 18 * * 1-5 /opt/zimbra/bin/zmschedulestatus locked
# Desbloquear às 8 horas de segunda a sexta
0 8 * * 1-5 /opt/zimbra/bin/zmschedulestatus active
Observações: Quando no estado locked a conta de email continua a receber mensagens. Há vários estados que estão descritos em Zimbra Account Status.
Um comentário:
bom dia Marcio,
estavamos procurando uma solução similar
Parabens.
Att
Postar um comentário