Gerenciar usuários do OpenLDAP com Sistema ZIMBRA
O script tem a função de adicionar, atualizar ou remover usuários do OpenLDAP com o sistema ZIMBRA.
O script é agendado para rodar a cada hora no Servidor Zimbra, que utiliza a base de dados do OpenLDAP.
O script é agendado para rodar a cada hora no Servidor Zimbra, que utiliza a base de dados do OpenLDAP.
Descrição
O script tem a função de adicionar, atualizar ou remover usuários do OpenLDAP com o sistema ZIMBRA.
O script é agendado para rodar a cada hora no Servidor Zimbra, que utiliza a base de dados do OpenLDAP.
O script é agendado para rodar a cada hora no Servidor Zimbra, que utiliza a base de dados do OpenLDAP.
#!/bin/bash # Criado em 26/05/2009 by Marcelo Ferreira - marceferreira@hotmail.com # # Script para adicionar, atualizar ou remover usuários do OpenLDAP com o Sistema ZIMBRA # # Variahveis # LOG="/var/log/alterar_base_ldap.log" USUARIOS="/opt/zimbra/relacao_de_usuarios.txt" USUARIOS_OLD="/opt/zimbra/relacao_de_usuarios.old" USUARIOS_DEL="/opt/zimbra/relacao_de_usuarios.del" GERA_USUARIOS=`ldapsearch -LLL -x -h ip.do.servidor.ldap -b "dc=dominio,dc=com,dc=br" -D "cn=administrador,dc=dominio,dc=com,dc=br" -w "senha_do_usuario_administrador" '(uid=*)' | grep uid: | grep [^\$]$ | sort | uniq | cut -d " " -f 2 > $USUARIOS` QTD_USUARIOS=`wc -l $USUARIOS | cut -d " " -f 1` ECHO_USUARIOS=`cat $USUARIOS` # # Insercao de Usuarios do ldap no Zimbra # echo -e "\nInicio da Insercao de Usuarios do ldap no Zimbra - `date`\n" > $LOG echo "**************************************************************" >> $LOG 2>&1 echo "Seram inseridos $QTD_USUARIOS usuario(s) do ldap no Zimbra" >> $LOG 2>&1 for o in $ECHO_USUARIOS; do NOME_COMPLETO=`ldapsearch -LLL -x -h ip.do.servidor.ldap -b "dc=dominio,dc=com,dc=br" -D "cn=administrador,dc=dominio,dc=com,dc=br" -w "senha_do_usuario_administrador" uid=$o | grep description: | grep [^\$]$ | cut -d : -f 2` echo "Inserindo o usuario $o" >> $LOG 2>&1 /opt/zimbra/bin/zmprov ca $o@dominio.com.br "" displayName "$NOME_COMPLETO" >> $LOG 2>&1 echo "Alterando o usuario $o" >> $LOG 2>&1 /opt/zimbra/bin/zmprov ma $o@dominio.com.br displayName "$NOME_COMPLETO" >> $LOG 2>&1 echo "**************************************************************" >> $LOG 2>&1 done # # Exclusao de Usuarios do ldap no Zimbra # DIFF=`diff /opt/zimbra/relacao_de_usuarios.txt /opt/zimbra/relacao_de_usuarios.old | grep \> | cut -d " " -f 2 > $USUARIOS_DEL` QTD_USUARIOS_DEL=`wc -l $USUARIOS_DEL | cut -d " " -f 1` ECHO_USUARIOS_DEL=`cat $USUARIOS_DEL` echo "Seram excluidos $QTD_USUARIOS_DEL usuario(s) do ldap no Zimbra" >> $LOG 2>&1 for o in $ECHO_USUARIOS_DEL; do echo "Removendo o usuarios $o" >> $LOG 2>&1 /opt/zimbra/bin/zmprov da $o@dominio.com.br >> $LOG 2>&1 echo "**************************************************************" >> $LOG 2>&1 done # # Limpando arquivos gerados # echo "Limpando arquivos gerados" >> $LOG 2>&1 mv $USUARIOS $USUARIOS_OLD >> $LOG 2>&1 rm -f $USUARIOS >> $LOG 2>&1 rm -f $USUARIOS_DEL >> $LOG 2>&1 echo "log da execucao gerado no arquivo $LOG" echo -e "\nFim do script - `date`\n" >> $LOG
parabens pela dica acima.
depois de mais de 15 dias procurando uma solucao para migrar usuarios ldap+mysql+postfix+roudcubemail para o zimbra.
ontem a tarde por um acaso procurando na comunidade vivaolinux, encontrei seu script para gerenciar usuarios.
a base que precisava migrar passava dos mil contas. com seu script e algumas melhorarias consegui fazer a migracao
em pouco mais de 40 minutos e tudo ocorreu perfeitamente.
nos proximos dias estarei postando um dica com os creditos do seu script e as melhorias que fiz para ajudar as diversas pessoas que encontrei com o mesmo problemas na migracao de usuarios de openldap para o zimbra.
ATT