Lista de Comandos 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é!
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.
Cristiano.
Muito obrigado.
Até eu mesmo recorro à este post para me lembrar algum comando. =]]
Parabéns Jacques. Muito bom o seu post. Será muito útil
Valeu Alexandre, esta semana a lista de comandos vai aumentar.
Parabéns cara, muito útil!!!
Preciso listar todas as contas de um domínio (só tem 1 no servidor) com os TAMANHOS em Mby?
for account in $(zmaccts | grep ‘@’ | cut -d’@’ -f1); do echo $account; zmmailbox -z -m $account gms; done
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?
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’}
Boa tarde,
Existe algum problema em alterar a senha do usuário zimbra, no linux?
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
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.
Ah sim, pensei que fosse qualquer usuário. Do zimbra, pode sim, sem problema…
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
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.
Beijer, teria como eu te enviar estas informações para ti em outro local?
Tem sim. beijer00 no Skype.
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)?
zmprov -l rd dominio.net.br dominio.com.br
E este comando automaticamente muda o domínio das contas?
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?
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).
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…
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
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.
São quantos domínios? Tem como fazer sim. Vc já conseguiu?
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?
Camila, Você já conseguiu?
Desculpe pela demora!
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
Gianni, você inseriu o email na whitelist do zimbra global ou foi pelo webmail do usuário?
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.-
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.
Como assim? no terminal? vou dar esse comando?
Só agora que eu vi. No terminal
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.
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.
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.
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.
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.
Bom dia, Você sabe como forçar todos usuarios a utilizarem senhas complexas?
Na sua COS, vai lá em avançado e seja feliz.
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?
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
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.
Alguém para me ajudar com essa dúvida?
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.
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.
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!
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?
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
Amigo , se uma mensagem for pra pasta de spam do zimbra como consigo remover ela e entregar pro destinatario
Alguém sabe me dizer o comando para verificar em quais grupos uma conta esteve?
tem como resetar as senhas de todos usuários do domínio de uma vez?