Fechar contas em servidor Zimbra após 90 dias
Publicado por Rodrigo Vieira Geromin (última atualização em 06/07/2016)
[ Hits: 9.068 ]
Download zmclosedAccountPolicy
Download 1465396858.zmclosedAccountPolicy (versão 2)
Olá pessoal!
Tive alguns problemas com meu servidor Zimbra relacionados a segurança e percebi que haviam muitas contas que não estavam sendo acessadas há mais de 90 dias. Precisava de uma forma automática para fechar essas contas após esse período. Como não sei se existe algo pronto para fazer isso, resolvi criar um script e agendar uma tarefa para que diariamente fosse realizado uma checagem que bloqueasse a conta caso não houvesse acesso durante esses 90 dias. Fiz um parecido para bloquear contas sem acesso com 45 dias que vou postar depois. Espero que seja útil. Abaixo segue fonte.
Obs.: esse script foi testado na versão zcs-6.0.16_GA_2998 e deve ser executado com o usuário zimbra.
Versão 2 - Enviado por Rodrigo Vieira Geromin em 08/06/2016
Changelog: Olá pessoal,
Fiz um teste com as ultimas versões do zimbra, e pra funcionar, foi necessário uma pequena alteração. No comando de busca foi necessário adicionar a opção "-l". O teste foi realizado em um servidor Zimbra 8.6.0_GA_1194 (build 20160120153603).
Download 1465396858.zmclosedAccountPolicy
#!/bin/bash # Criado por Rodrigo Vieira Geromin ZDATA=`date -d "90 days ago" '+%Y%m%d%H%M%S'` CT=`/opt/zimbra/bin/zmprov sa '(&(zimbraLastLogonTimestamp<='$ZDATA'Z)(|(!(zimbraAccountStatus=*closed*))))' | wc -l` ACCOUNT=`/opt/zimbra/bin/zmprov sa '(&(zimbraLastLogonTimestamp<='$ZDATA'Z)(|(!(zimbraAccountStatus=*closed*))))'` for ((i=1; i<=$CT; i++)) do USERACCOUNT=`echo $ACCOUNT | awk {'print $'$i''}` /opt/zimbra/bin/zmprov ma $USERACCOUNT zimbraAccountStatus closed echo -e "`date` \c" echo -e "$USERACCOUNT \c" echo CLOSED done if [ $CT == 0 ] then echo -e "`date` \c" echo "[Nada a Fazer]" fi
Compilação automatica do GCC-4.7.1 no Debian 32 bits em Bash
Alterar o papel de parede aleatoriamente
Usando variáveis em shell script
Tempo e temperatura local no terminal
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Flatpak: remover runtimes não usados e pacotes
Mudar o gerenciador de login (GDM para SDDM e vice-versa) - parte 2
Wifi não funciona no Aspire ES 15 com o Debian (9)
Como atualizar o Debian 8 para o 10 (10)
Dica sobre iptables ACCEPT e DROP (6)
NGNIX - Aplicar SNAT para evitar roteamento assimetrico (29)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta