Inicial > Email, Linux, Postfix, Shell, Zimbra > Lista de Comandos Zimbra

Lista de Comandos Zimbra

22 de fevereiro de 2014 Deixe um comentário Go to comments
Zimbra

Zimbra

LISTA DE COMANDOS ZIMBRA

Acredito que todo Administrador de Redes já deve ter ouvido falar no Zimbra, então o mesmo dispensa apresentações (E se você está lendo este blog, com certeza sabe o que o mesmo faz). O Zimbra é muito flexível em muitos aspectos, o front-end do mesmo já é bem completo, dá para fazer muita coisa por lá. Entretanto, pela console do administrador você não tem a opção de automatizar processos, otimizar rotinas, fazer loops de verificações muito menos de fazer consultas diretas no banco (Eu disse CONSULTA, não brinque com o banco do zimbra, o Mesmo usa Mysql que é da Oracle, e por muito tempo o Zimbra foi da Oracle, o que cria muitos laços dentro do banco de dados), sem falar que certas opções, você não tem pela console do administrador, mas no shell sim =]]

O verdadeiro poder do Zimbra, na minha concepção, está na linha de comando. Lá a gente faz quase tudo que a gente quer, além do postfix só poder ser alterado mais cirurgicamente por lá, bem como outros serviços. Por exemplo, o mysql só pode ser aberto para ser acessado por fora através da linha de comando (Ver como liberar o acesso externo ao mysql do Zimbra aqui

Como estou migrando todo o parque de e-mail da empresa em que trabalho, acabei ficando com os comandos na cabeça e sei que por falta de uso, eu mesmo vou esquecer. Portanto, resolvi postar tanto para mim, quanto para quem desejar.

Bom, segue lista de comandos que eu utilizo, o Zimbra é uma poderosa ferramenta e não possui apenas estes comandos, possui muito mais. Entretanto, com esta relação, você pode ir amadurecendo no shell do mesmo.

Descobrir qual é a versão e arquitetura do seu Zimbra

zmcontrol -v

Comando para Iniciar, Parar, Reiniciar e checar Status

/etc/init.d/zimbra start | stop | restart | status

Obter ajuda do comando zmprov

zmprov help commands

Obter opções de uso do e a sintaxe de comandos do zmprov

zmprov -h

Parar o Zimbra

zmcontrol stop

Iniciar o Zimbra

zmcontrol start

Obter Status do Zimbra

zmcontrol status

Trocar o nome da máquina do Zimbra (Requer stopar serviço)

/opt/zimbra/libexec/zmsetservername -o antigo.beijer.com -n novo.beijer.com

Obter nome da máquina do Zimbra

zmhostname

Listar todos os domínios no Zimbra

zmprov gad

Criar outro domínio

zmprov cd beijer.org.br

Renomear um domínio

zmprov -l rd beijer.org.br beijer.net.br

Criar alias para domínio

zmprov cad alias_beijer.com.br beijer.com.br

Verificar qual o domínio padrão do Zimbra

zmprov gacf zimbraDefaultDomainName

Caso seja necessário alterar o domínio padrão, execute o comando abaixo, porém não recomendo.

zmprov mcf zimbraDefaultDomainName beijer.org.br

Para remover um domínio ou um alias de domínio, execute o comando

zmprov dd alias_beijer.com.br

Criar usuario

zmprov ca usuario@beijer.com.br 'senhaaqui'

Alterar a senha de um usuário

zmprov sp jacques@beijer.com.br `beijer.j4cqu3s`

Listar todos usuarios

zmprov -l gaa

Listar todos os usuários de um domínio

zmprov -l gaa beijer.com.br

Listar usuários que são administradores

zmprov -l gaaa

Listar usuários que são administradores de um domínio

zmprov -l gaaa beijer.com.br

Transformar um usuario em administrador

zmprov ma jacques@beijer.com.br zimbraIsAdminAccount TRUE

Criar um usuario com o atributo de administrador

zmprov ca jacques@beijer.com.br 'senhaaqui' zimbraIsAdminAccount TRUE

Renomear conta

zmprov ra jacques@beijer.com.br beijer@beijer.com.br

Renomer conta mudando de domínio

zmprov ra jacques@beijer.com.br jacques@jacquesdebeijer.com.br

Deletar Conta

zmpra da jacques@beijer.com.br

Visualizar atributos de uma conta

zmprov ga jacques@beijer.com.br

Adicionar alias a uma conta

zmprov aaa jacques@beijer.com.br alias_jacques@beijer.com.br

Quando necessário ver os alias em modo texto, faça assim

for i in $(zmprov -l gaa); do echo -e "\n$i:"; zmprov ga $i | grep
MailAlias; done

Quando necessário ver os alias de um determinado domínio em modo texto, faça assim

for i in $(zmprov -l gaa beijer.com); do echo -e "\n$i:"; zmprov ga $i |
grep MailAlias; done

Remover alias

zmprov raa jacques@beijer.com.br alias_jacques@beijer.com.br

Para criar uma lista

zmprov cdl lista@beijer.com.br

Visualizar listas de distribuição

zmprov gadl

Adicionar membros à lista de distribuição

zmprov adlm lista@beijer.com.br jacques@beijer.com.br

Adicionar um usuario (jacques@beijer.com.br) a todas as listas de distribuição

for listas in $(zmprov gadl); do zmprov adlm $listas jacques@beijer.com.br;
done

Visualizar membros de uma lista

zmprov gdlm lista@beijer.com.br

Ver todas as informações de uma lista

zmprov gdl lista@beijer.com.br

Remover membro de uma lista

zmprov rdlm lista@beijer.com.br lista@beijer.com.br

Renomear uma lista de distribuição

zmprov rdl lista@beijer.com.br novalista@beijer.com.br

Ocultar uma lista de distribuição da GAL

zmprov mdl lista@beijer.com.br  zimbraHideInGal TRUE

Exibir uma lista de distribuição da GAL

zmprov mdl lista@beijer.com.br  zimbraHideInGal FALSE

Remover uma lista

zmprov ddl lista@beijer.com.br

Classes de Serviço
Listar Classes

zmprov gac

Criar uma nova COS

zmprov cc nome_da_classe

Ver todos os atributos de uma classe

zmprov gc nome_da_classe

Alterar a COS de um usuário

zmprov sac jacques@beijer.com.br nova_classe

Para ver quantos usuários de um dominio estão em classes

zmprov cta beijer.com.br

Obter o atributo da quota da COS

zmprov gc nome_classe zimbraMailQuota

Obter cuota utilizada por cada usuário de um domínio (Formato Conta Quota
Quota Utilizada

zmprov gqu localhost

Alterar attribute de quota para o valor de 80M, este número deve ser em
bytes

zmprov mc nome_da_classe zimbraMailQuota 83886080

Checar se a quota foi alterada

zmprov gc nome_da_classe zimbraMailQuota

Para ver a cuota de cada usuario, vocee pode usar o comando:

for i in $(zmprov -l gaa); do zmprov ga $i zimbraMailQuota; done

Trocar a senha de administrador

zmprov sp admin@beijer.com.br 'senhaaqui'

Logs de entrega de email na caixa (LMTP) Login e Logout Imap/Pop/Mapi, Erros
na aplicação java, operações de indexação, lentidão no banco de dados (slow
queries) e outros

tail -f /opt/zimbra/log/mailbox.log

Logs de atividade do postfix, status dos serviços, atividades do antivirus e
antispam e outros

tail -f /opt/zimbra/log/zimbra.log

Logs de autenticacao

tail -f /opt/zimbra/log/audit.log

Logs do antivirus db

tail -f /opt/zimbra/log/clamd.log

Logs de atualizaçao do Antivirus Clamav

tail -f /opt/zimbra/log/freshclam.log

Logs ao DB do store que estão demorando

tail -f /opt/zimbra/log/myslow.log

Logs de treinamento do Antispam

tail -f /opt/zimbra/log/spamtrain.log

Ativar somente o acesso http (necessita reiniciar o zimbra: zmcontrol restart)

zmtlsctl http

Ativar somente o acesso https (necessita reiniciar o zimbra: zmcontrol restart)

zmtlsctl https

Ativa o acesso http e https (necessita reiniciar o zimbra: zmcontrol restart)

zmtlsctl mixed

Esses é a primeira parte da sessão de comandos do Zimbra que posto aqui. Tem alguns outros como os comandos do Postfix, comandos do Zimbra, comandos do Mysql, Spamassassim, Amavis, Clamav e etc… Vou tentar ir acrescentado todos aqui mesmo neste post para não ficarem espalhados em posts separados.

Esta primeira leva é mais de administração do Zimbra mesmo.

Podem publicar e utilizar, só peço que se mantenham os créditos.

Inté!

  1. cristiano
    22 de julho de 2014 às 0:14

    Cara parabens pelo post…. tem muitos comandos bons que todo o admin de Zimbra vai adorar deixar salvo pra algum apuro que tiver. grande abraço.

    • 22 de julho de 2014 às 15:59

      Cristiano.
      Muito obrigado.
      Até eu mesmo recorro à este post para me lembrar algum comando. =]]

  2. 11 de dezembro de 2014 às 18:48

    Parabéns Jacques. Muito bom o seu post. Será muito útil

    • 26 de dezembro de 2014 às 15:41

      Valeu Alexandre, esta semana a lista de comandos vai aumentar.

  3. Pedro Silveira
    12 de dezembro de 2014 às 16:25

    Parabéns cara, muito útil!!!

  4. Wendell
    18 de dezembro de 2014 às 0:12

    Preciso listar todas as contas de um domínio (só tem 1 no servidor) com os TAMANHOS em Mby?

  5. 18 de dezembro de 2014 às 19:27

    for account in $(zmaccts | grep ‘@’ | cut -d’@’ -f1); do echo $account; zmmailbox -z -m $account gms; done

  6. Celio
    26 de fevereiro de 2015 às 9:18

    Amigo, obrigado por compartilhar, muito bom. Sabe dizer a diferença entre os 2 comandos para ver a cota das contas(zmprov gqu localhost / for i in $(zmprov -l gaa); do zmprov ga $i zimbraMailQuota; done)? Eu não conhecia esse primeiro, e notei que ele é bem rápido no retorno, enquanto o outro demora mais. Eu já tinha feito um script semelhante esse for, só que pra ler minhas contas todas demora um pouco. Fiquei em dúvida quanto à rapidez do primeiro, será que as informações trazidas são as mesmas entre os 2?

    • 5 de março de 2015 às 9:44

      Célio, o zmprov gqu localhost pega uma lista que é atualizada a cada 6 horas. Já o laço for, vai demorar pois executa o zmprov em cada conta.
      Use este comando que eu acho mais simples e bem mais rápido:
      zmprov gqu `zmhostname`|awk {‘print ” “$3/1048576” “$2” “$1’}

  7. 4 de março de 2015 às 16:42

    Boa tarde,

    Existe algum problema em alterar a senha do usuário zimbra, no linux?

    • 4 de março de 2015 às 17:00

      Anderson, desde que você não esteja utilizando autenticação externa, além de não ter problema, eu recomendo. Visto que, quanto menos você usar a GUI, menos recurso do servidor você consome. Eu troco a senha dos servidores todas via shell.
      abcs

      • Anderson Oliveira
        4 de março de 2015 às 17:22

        Quanto ao shell, tranquilo. Meu maior medo é de alterar a senha do usuario Zimbra e servidor parar de funcionar. Ja tenho politicas de bloqueio ssh para esse usuario, entre outras, mas a alteração desta senha seria o ponto maximo de segurança.

    • 4 de março de 2015 às 17:26

      Ah sim, pensei que fosse qualquer usuário. Do zimbra, pode sim, sem problema…

      • 4 de março de 2015 às 19:03

        Sim, imaginei que tu havia achado isso. hahahaha

        Muito obrigado pela ajuda!

        Abusando já da tua vontade, sou novo em ambientes Zimbra e estou passando por uma situação muito particular em um ambiente.

        – Neste ambiente, existe um servidor Zimbra com 4 domínios configurados. Das contas destes 4 domínios, apenas as contas do domínio principal estão enviando SPAM. O envio de spam parte de uma conta deste próprio domínio, não é um problema de spoofing.
        – Estas contas que enviam SPAM, em determinado momento tem todos os e-mails da caixa de entrada e saída apagados; a perda dos e-mails ocorre somente em contas que enviam SPAM!
        – Quando tento identificar de onde partem estes e-mails, a única informação que tenho é que partiu do 127.0.0.1

        Consegue me ajudar com algum ‘norte’ para a resolução do problema?? Já estou sem idéias :////

        Obrigado

      • 5 de março de 2015 às 9:59

        Anderson, o que o log diz? Veja no /var/log/mail.log e /opt/zimbra/log/access_log.2015-mes-dia sendo mês e dia uma data no qual foram enviados spam.

      • 5 de março de 2015 às 14:12

        Beijer, teria como eu te enviar estas informações para ti em outro local?

      • 5 de março de 2015 às 18:46

        Tem sim. beijer00 no Skype.

  8. Gabriel Kerschner
    1 de junho de 2015 às 13:21

    Muito bom! Existe alguma forma de mudar de domínio todas as contas para outro domínio??

    Por exemplo:

    tenho os seguintes domínios:
    dominio.net.br
    dominio.com.br

    As contas estão no dominio.net.br, teria como migrar todas as contas cadastradas para o domínio.com.br, mantendo os atributos (senha,caixas,etc)?

    • 2 de junho de 2015 às 9:58

      zmprov -l rd dominio.net.br dominio.com.br

      • Gabriel Kerschner
        8 de junho de 2015 às 9:11

        E este comando automaticamente muda o domínio das contas?

  9. Silva
    2 de dezembro de 2015 às 10:21

    Parabens pelo post cara !!! Muito bom.

    Sou novo nesta área de Linux e zimbra, assumi recentemente aqui na empresa essa parte do zimbra.

    Um usuário me fez o favor de tentar fazer o backup dos e-mails dele na pasta de Enviados (Sent Messages) e acabou apagando a pasta.

    Já foi feito o restore pelo Bácula, porém os e-mails não aparecem nesta pasta.

    O que posso fazer para a aplicação enxergar novamente esses e-mails?

  10. Rudinei Rech
    7 de dezembro de 2015 às 16:38

    Boa tarde.
    No Zimbra, usando script linux, preciso listar as mensagens que foram enviadas ou recebidas de um determinado remetente (ex.: joao@teste.com.br). Além disso preciso buscar mensagens que tenha uma palavra ou um nome no cordo do e-mail (ex.: Joao Pedro da Silva).

  11. 7 de abril de 2016 às 8:42

    Tem como eu colocar uma lista de domínios confiáveis no Zimbra Admin? Tem alguns e-mails que estão como spam, mesmo adicionando no Usuário Zimbra…

    • 12 de abril de 2016 às 16:29

      Valci,
      Você pode fazer isso de forma global, para todos os usuários. Basta usar a sintaxe:
      zmprov md unimedbelem.com.br +amaviswhitelistSender beijer.com.br
      Abraços

  12. Henrique Carvalho
    2 de junho de 2016 às 17:55

    Olá, num ambiente multi domínio como faço para permitir que cada admin só gerencie o domínio que pertence? sem permissão até de visualizar outros domínios.

    • 26 de agosto de 2016 às 12:25

      São quantos domínios? Tem como fazer sim. Vc já conseguiu?

  13. 6 de junho de 2016 às 14:48

    Boa tarde,

    Estou precisando apagar os e-mails de uma conta no Zimbra, mas quando tento pela interface, apagar das pastas lixeira e SPAN retorna um erro. Teria alguma forma de apagar pela linha de comando?

    • 26 de agosto de 2016 às 12:14

      Camila, Você já conseguiu?
      Desculpe pela demora!

  14. Gianni Oddone
    7 de julho de 2016 às 15:26

    Hola Tudo bem, sou novo na administracao do zimbra gostaria de tirar uma duvida tenho um email que cai na caixa de spam , ja coloquei ele na lista whitelist, mas mesmo assim ele continua caindo alguma sugestao?
    verso do Zimbra: 8.6.0_GA_1191.NETWORK

    • 8 de julho de 2016 às 13:01

      Gianni, você inseriu o email na whitelist do zimbra global ou foi pelo webmail do usuário?

      • Gianni Oddone
        11 de julho de 2016 às 8:47

        Bom dia tudo bem, eu inseri em dois whitelist um esta no diretorio /opt/zimbra/whitelist e o outro esta no /opt/zimbra/conf/whitelist, eu aderi o endereco dentro destes dois diretorios do meu zimbra porem ele continua caindo na caixa de spam.-

  15. 15 de julho de 2016 às 19:14

    Gianni, faça assim:
    zmprov md SeuDominio.com.br +amaviswhitelistSender DominioQueQuerLiberar.com.br

    Isso vai resolver seu problema. Se não resolver, avisa ai.

    Abraços.

    • Gianni Oddone
      18 de julho de 2016 às 14:49

      Como assim? no terminal? vou dar esse comando?

      • 30 de novembro de 2016 às 16:34

        Só agora que eu vi. No terminal

  16. 18 de agosto de 2016 às 15:20

    Gostaria de excluir mensagens antigas de uma conta de e-mail, pois a conta está com alguns GB e por webmail não é viável.

    • 22 de agosto de 2016 às 12:30

      Alexandre,
      Você quer excluir essas mensagens por tempo? Excluir as mais antigas que a data X?
      Me diz direito o que deseja fazer por favor.

  17. Ricardo
    24 de agosto de 2016 às 11:24

    Parabéns pelo material, excelente!

    Gostaria de aproveitar e verificar se já fez algo parecido.

    Eu tenho necessidade de ter um outro servidor a parte para envio apenas, mas para isso preciso que a verificação do usuário seja a partir do servidor principal, eu fiz um teste e funcionou o envio, instalei um zimbra na outra localidade apenas opção MTA e apontei o LDAP Master para o principal, deu certo o envio de email autenticado saindo por outro local, mas eu acabei “estragando” o servidor principal, ele entendeu que agora tem 2 servidores e no status da tudo erro no segundo servidor e eu já não consigo mais entrar via web, apenas como administrador na porta 7071

    Se eu conseguisse fazer querys neste ldap apartir de outra estrutura para liberar o acesso via SASL eu nao instalaria um zimbra la, apenas um postfix+ldap+sasl, mas nao consegui dai que veio esta questão, me resolveu em partes mas já danificou o zimbra principal.

    • 26 de agosto de 2016 às 12:10

      Ricardo,
      Eu sempre instalo um postfix na frente do zimbra para que o mesmo possa etsar fazendo controle de blacklists, regras de envio de e-mail, antispam e etc.
      Dai eu aponto o postfix para que depois de tratar a mensagem recebida possa enviar para o zimbra. O zimbra por sua vez ao enviar uma mensagem para outro servidor, entrega a mensagem para o postfix que trata de entregar a mensagem.

      Porque você está tentando sincronizar o ldap? Sugiro a você instalar um postfix e cadastrar seu zimbra como o único remetente confiável.

      • Ricardo
        26 de agosto de 2016 às 12:26

        Obrigado pela resposta.

        No caso assim, tenho muitos clientes que enviam emails e neste caso pra mim me complica tudo saindo pelo mesmo SMTP, minha reputação cai e eu entro rapidamente em blacklist por isso preciso ter varios SMTP e balancear o meu uso e nao prejudicar os clientes.

        Eu nao consegui ainda fazer o ZIMBRA ser consultado apenas nesta parte de autentição liberar o relay remotamente.

        No meu senário atual, eu tenho : um postfix+sasl+dovect e no dovecot estou usando uma query em SQL para ir no VPOPMAIL onde tem os usuários de email e com isto ele faz a consulta e libera o relay.

        Eu precisava fazer o mesmo ambiente agora que vou usar o zimbra, preciso ter um postfix a parte, independente do zimbra, mas que eu tenho necessidade de validar usuários e pelo que vi está tudo no ldap , esta integração que não estou conseguindo fazer.

        Fiz a seguinte tentativa, coloquei um zimbra em outro servidor a parte, e instalei apenas o MTA e mais nada, configurei o master ldap para o ip deste zimbra onde tem as contas, funcionou tudo bem da forma que eu queria, consegui enviar email apartir de outra estrutura consultando o ldap , mas por outro lado eu danifiquei o zimbra atual, em status ele sempre monitorava e dizia que os serviços do outro estavam fora e tambem nao me deixava mais entrar, a outra maquina sempre teria que estar no ar para funcionar o zimbra atual, entao isso nao me resolveu.

        Minha intenção é sair de vez do : Qmail+vpopmail e ter esta possibilidade de usar um postfix autenticando apenas: SASL no zimbra.

  18. Diego Léda
    31 de outubro de 2016 às 10:04

    Bom dia, Você sabe como forçar todos usuarios a utilizarem senhas complexas?

    • 30 de novembro de 2016 às 16:32

      Na sua COS, vai lá em avançado e seja feliz.

  19. Rafael Cordeiro
    25 de novembro de 2016 às 10:51

    Belo post, gostaria de uma ajuda;
    Tenho dois domínios criados no zimbra e cada um com várias contas já criadas:
    Ex: dominio1.com e dominio2.com
    Gostaria de saber como faço para as contas de um domínio sejam migradas para o outro domínio?

    • 30 de novembro de 2016 às 16:02

      Cara, 03 coisas!
      00 – A Autenticação está via ldap do próprio Zimbra? Ou seja, o Zimbra gerencia estas senhas ou está num AD da vida?
      01 – Os dois domínios estão no mesmo servidor?
      02 – Eles compartilham as mesmas COS?

      Diz ai

      • Rafael Cordeiro
        30 de novembro de 2016 às 17:14

        00 – Sim, autenticação feita pelo LDAD do Zimbra.
        01 – Os dois domínios estão no mesmo Servidor.
        02 – Compartilham a mesma COS.

        Ex: tenho vários domínios, 2 deles vão se fundir e gostaria de juntas as contas destes 2 domínios, quando tentei alterar o nome do domínio1.com para domínio2.com (já existente) ele não vai. Resumindo precisei mudar conta por conta individualmente do domínio1.com para domínio2.com. O que eu queria saber é se existe algum comando que faça isso em massa ao invés de conta por conta.

  20. Rafael Cordeiro
    6 de dezembro de 2016 às 9:51

    Alguém para me ajudar com essa dúvida?

  21. Marcelo Inacio Cavalcante
    17 de janeiro de 2017 às 11:00

    Boa tarde, gostaria de saber como consigo visualizar a última vez que o usuário visualizou o seu e-mail, alguém sabe me informar? Obrigado.

  22. Paula Cristina Trés
    24 de janeiro de 2017 às 9:59

    Bom dia,

    Configurei para a senha expirar em 60 dias, ai quando o usuário quer trocar essa senha antes dos 60 dias aparece o seguinte: A senha não pode ser alterada cedo demais.
    Saberia qual regra ele usa nesse caso?
    Outra coisa tem como colocar individualmente para um email que não expire, isso é para os e-mails adm.

  23. Jeann Moura
    27 de janeiro de 2017 às 9:20

    Bom dia!
    Gostaria de gerar um script para alterar a senha de todos os usuário para senhas definidas em uma planilha, poderia me ajudar?
    Desde já agradeço!

  24. 11 de setembro de 2017 às 17:36

    Amigo muito obrigado pela ajuda. Preciso saber como faço para listar todas as contas e a classe de serviço atribuída a cada uma.
    Consegue me ajudar novamente?

  25. Willian Alexandrino
    4 de janeiro de 2018 às 11:42

    Muito bom o Post Jacques, Parabéns.

    Alguém sabe como excluir todos os contados da pasta “contatos que receberam e-mail”, de todos os usuários.

    Preciso pois está afetando a utilização de Personagem.

    Obrigado

  26. 25 de abril de 2018 às 14:10

    Amigo , se uma mensagem for pra pasta de spam do zimbra como consigo remover ela e entregar pro destinatario

  27. 13 de março de 2019 às 12:00

    Alguém sabe me dizer o comando para verificar em quais grupos uma conta esteve?

  28. diego
    24 de março de 2022 às 11:48

    tem como resetar as senhas de todos usuários do domínio de uma vez?

  1. 2 de junho de 2015 às 9:50
  2. 12 de abril de 2018 às 20:30
  3. 11 de dezembro de 2018 às 16:13

Deixar mensagem para Anderson Oliveira Cancelar resposta