Ir para o conteúdo

Zimbra

De RJGSWiki

Zimbra[editar]

Principais comandos[editar]

Comandos úteis na administração do servidor

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

zmcontrol -v 

Comando para Iniciar o server:

/etc/init.d/zimbra start  ou  zmcontrol start 

Parar o servidor

/etc/init.d/zimbra stop  ou  zmcontrol stop 

Reiniciar o servidor:

/etc/init.d/zimbra restart  ou  zmcontrol restart 

Checar o status do servidor:

/etc/init.d/zimbra status  ou  zmcontrol status 

Obter ajuda do comando zmprov

zmprov help commands 

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

zmprov -h 

Trocar o nome da máquina do Zimbra:

/etc/init.d/zimbra stop ; /opt/zimbra/libexec/zmsetservername -o antigo.dominio.com -n novo.dominio.com 

Obter nome da máquina do Zimbra:

zmhostname 

Administração de dominios

Listar todos os domínios no Zimbra:

zmprov gad 

Criar outro domínio:

zmprov cd dominio.org.br 

Renomear um domínio:

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

Criar alias para domínio:

zmprov cad alias_dominio.com.br dominio.com.br 

Verificar qual o domínio padrão do Zimbra:

zmprov gacf zimbraDefaultDomainName 

Para remover um domínio ou um alias de domínio:

zmprov dd alias_dominio.com.br 

Administração de usuarios e contas

Trocar a senha de administrador:

zmprov sp [email protected] 'senhaaqui' 

Criar usuario:

zmprov ca [email protected] 'senhaaqui' 

Alterar a senha de um usuário:

zmprov sp [email protected] 'dominio.usuario' 

Listar todos usuarios

zmprov -l gaa 

Listar todos os usuários de um domínio:

zmprov -l gaa dominio.com.br 

Listar usuários que são administradores:

zmprov -l gaaa 

Transformar um usuario em administrador:

zmprov -l gaaa dominio.com.br 

Criar um usuario com o atributo de administrador

zmprov ma [email protected] zimbraIsAdminAccount TRUE 

Renomear conta

zmprov ca [email protected] 'senhaaqui' zimbraIsAdminAccount TRUE 

Renomear conta mudando de domínio

zmprov ra [email protected] [email protected] 

Deletar Conta

zmpra da <[email protected]>

Visualizar atributos de uma conta

zmprov ga [email protected] 

Adicionar alias a uma conta:

zmprov aaa [email protected] [email protected] 

Listar os alias:

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

Listar os alias de um determinado domínio:

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

Remover alias

zmprov raa [email protected] [email protected] 


COS - 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 [email protected] nova_classe 

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

zmprov cta dominio.com.br 

Obter o atributo da quota da COS:

zmprov gc nome_classe zimbraMailQuota 

Quota em disco

Obter quota 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 quota de cada usuario, voce pode usar o comando:

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

Conectividade

Ativar somente o acesso http:

zmtlsctl http ; zmcontrol restart 

Ativar somente o acesso https:

zmtlsctl https ; zmcontrol restart 

Ativa o acesso http e https:

zmtlsctl mixed ; zmcontrol restart 

Logs[editar]

Pastas de logs do zimbra

/var/zimbra/log/audit.log 

ou

/var/zimbra/log/zimbra.log 

ou

/opt/zimbra/log/mailbox.log 

Ubuntu e Debian

/var/zimbra/log/mail.log 

CentOS

/var/zimbra/log/maillog 

Para 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 autenticação:

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 

Tipos de status de conta[editar]

Para obter o status de uma conta:

zmprov ga [email protected] | grep -i zimbraaccountstatus 

Alterar o status da conta do usuário <[email protected]> para ativo:

zmprov ma [email protected] zimbraaccountstatus active 

Lembrando que a função zimbraAccountStatus aceita como argumento os seguintes valores:

  • active ou Ativa: Ativo é o estado normal para uma conta de caixa de correio. As mensagens são entregues e os usuários podem fazer logon na interface cliente normalmente.
  • maintenance ou Manutenção: Quando um estado de caixa de correio está definido para a manutenção, o login é desativado , e e-mails endereçados para a conta são enfileirados no MTA (Postfix). Uma conta pode ser configurada para o modo de manutenção para fazer o backup , importação ou restaurar a caixa de correio.
  • pending ou Pendente: Status pendente é um status que pode ser atribuído quando uma nova conta é criada e ainda não está pronto para se tornar ativa . O login é desativado e as mensagens são devolvidas aos remetentes.
  • locked ou Bloqueada: Quando um status de uma conta é ‘bloqueado’, o usuário não pode entrar, mas as mensagens ainda são entregues a caixa. O status bloqueado pode ser definido, se você suspeitar que uma conta de email foi hackeada ou está sendo usado de forma não autorizada.
  • closed ou Fechada: Quando o status do usuário é ‘fechado’, o login é desativado, e as mensagens são devolvidas . Este status é utilizado para inativar uma conta antes de excluir a mesma do servidor. A conta fechada não deixa de consumir uma licença.
  • Bloqueio: Isso é definido automaticamente quando os usuários que tentam logar, não digitam sua senha correta e tem, então, sua conta bloqueada temporariamente. Você não pode definir esse status manualmente. Você configura uma política de login com um determinado número de tentativas de login falhas consecutivas que são permitidos antes que a conta seja bloqueada. Quanto tempo a conta é bloqueada é definido pelo COS ou configuração de conta, mas você pode alterar o status de bloqueio a qualquer momento.

Administrador Delegado[editar]

  • addAccountAlias: Adicionar alias a uma conta de usuário
  • addCalendarResourceAlias: Adicionar alias a um recurso de calendário
  • addDistributionListAlias: Adicionar alias a uma lista de distribuição
  • countAlias: Contar o número de aliases no domínio
  • createAlias: Criar aliases de e-mail
  • deleteAlias: Remover aliases de e-mail
  • listAlias: Listar aliases do domínio
  • removeAccountAlias: Remover alias de uma conta
  • removeCalendarResourceAlias: Remover alias de um recurso de calendário
  • removeDistributionListAlias: Remover alias de uma lista de distribuição
  • backupAccount: Fazer backup de uma caixa postal
  • createMigrationTask: Criar tarefas de migração de caixas postais
  • crossMailboxSearchRights: Pesquisar em múltiplas caixas postais (e-discovery)
  • manageAccountArchives: Gerenciar arquivos (archives) de contas
  • manageCalendarResourceArchives: Gerenciar archives de recursos de calendário
  • manageCrossMailboxSearchTask: Gerenciar tarefas de busca entre caixas postais
  • moveAccountMailbox: Mover caixa postal de uma conta entre servidores
  • moveCalendarResourceMailbox: Mover caixa postal de recurso de calendário
  • purgeMessages: Purgar/remover mensagens antigas das caixas postais
  • reindexCalendarResourceMailbox: Reindexar a caixa postal de recurso de calendário
  • reindexMailbox: Reindexar a caixa postal de uma conta
  • restoreAccount: Restaurar backup de uma caixa postal
  • adminConsoleAccountRights: Direitos gerais de contas no console admin
  • adminConsoleAccountsACLTabRights: Ver/usar aba ACL das contas no console
  • adminConsoleAccountsAliasesTabRights: Ver/usar aba Aliases das contas no console
  • adminConsoleAccountsContactTabRights: Ver/usar aba Contato das contas no console
  • adminConsoleAccountsFeaturesTabRights: Ver/usar aba Funcionalidades das contas no console
  • adminConsoleAccountsForwardingTabRights: Ver/usar aba Encaminhamento das contas no console
  • adminConsoleAccountsFreeBusyInteropTabRights: Ver/usar aba Free/Busy das contas no console
  • adminConsoleAccountsInfoTabRights: Ver/usar aba Informações das contas no console
  • adminConsoleAccountsMemberOfTabRights: Ver/usar aba Membro de (grupos) das contas
  • adminConsoleAccountsPreferencesTabRights: Ver/usar aba Preferências das contas no console
  • adminConsoleAccountsThemesTabRights: Ver/usar aba Temas das contas no console
  • adminConsoleAccountsZimletsTabRights: Ver/usar aba Zimlets das contas no console
  • adminConsoleAliasRights: Direitos gerais de aliases no console admin
  • adminConsoleBackupRights: Acessar seção de Backup no console admin
  • adminConsoleCOSACLTabRights: Ver/usar aba ACL das classes de serviço (COS)
  • adminConsoleCOSAdvancedTabRights: Ver/usar aba Avançado das COS no console
  • adminConsoleCOSFeaturesTabRights: Ver/usar aba Funcionalidades das COS
  • adminConsoleCOSInfoTabRights: Ver/usar aba Informações das COS
  • adminConsoleCOSMobileTabRights: Ver/usar aba Mobile das COS
  • adminConsoleCOSPreferencesTabRights: Ver/usar aba Preferências das COS
  • adminConsoleCOSRights: Direitos gerais de COS no console admin
  • adminConsoleCOSServerPoolTabRights: Ver/usar aba Pool de servidores das COS
  • adminConsoleCOSThemesTabRights: Ver/usar aba Temas das COS
  • adminConsoleCOSZimletsTabRights: Ver/usar aba Zimlets das COS
  • adminConsoleCertificateRights: Gerenciar certificados SSL no console
  • adminConsoleClientUploadRights: Fazer upload de clientes/software no console
  • adminConsoleConfigGALRights: Configurar GAL no console admin
  • adminConsoleCreateGALRights: Criar fontes GAL no console admin
  • adminConsoleCreateSubDomainModifierRights: Modificar criação de subdomínios no console
  • adminConsoleCreateSubDomainRights: Criar subdomínios no console admin
  • adminConsoleCreateTopDomainRights: Criar domínios de topo no console admin
  • adminConsoleCrossMailboxSearchRights: Usar busca entre caixas postais no console
  • adminConsoleDLACLTabRights: Ver/usar aba ACL das listas de distribuição
  • adminConsoleDLAliasesTabRights: Ver/usar aba Aliases das listas de distribuição
  • adminConsoleDLMemberOfTabRights: Ver/usar aba Membro de das listas de distribuição
  • adminConsoleDLMembersTabRights: Ver/usar aba Membros das listas de distribuição
  • adminConsoleDLNotesTabRights: Ver/usar aba Notas das listas de distribuição
  • adminConsoleDLRights: Direitos gerais de DL no console admin
  • adminConsoleDLSharesTabRights: Ver/usar aba Compartilhamentos das DL
  • adminConsoleDomainACLTabRights: Ver/usar aba ACL do domínio no console
  • adminConsoleDomainAuthenticationTabRights: Ver/usar aba Autenticação do domínio
  • adminConsoleDomainDocumentsTabRights: Ver/usar aba Documentos do domínio
  • adminConsoleDomainFreebusyTabRights: Ver/usar aba Free/Busy do domínio
  • adminConsoleDomainGALTabRights: Ver/usar aba GAL do domínio no console
  • adminConsoleDomainInfoTabRights: Ver/usar aba Informações do domínio
  • adminConsoleDomainLimitsTabRights: Ver/usar aba Limites do domínio
  • adminConsoleDomainRights: Direitos gerais de domínio no console admin
  • adminConsoleDomainThemesTabRights: Ver/usar aba Temas do domínio
  • adminConsoleDomainVirtualHostsTabRights: Ver/usar aba Hosts virtuais do domínio
  • adminConsoleDomainZimletsTabRights: Ver/usar aba Zimlets do domínio
  • adminConsoleExtensionACLTabRights: Ver/usar aba ACL de extensões no console
  • adminConsoleExtensionRights: Gerenciar extensões no console admin
  • adminConsoleGlobalACLTabRights: Ver/usar aba ACL da configuração global
  • adminConsoleGlobalASAVTabRights: Ver/usar aba Anti-spam/Anti-vírus global
  • adminConsoleGlobalAttachmentsTabRights: Ver/usar aba Anexos da configuração global
  • adminConsoleGlobalBackupRestoreTabRights: Ver/usar aba Backup/Restore global
  • adminConsoleGlobalFreebusyTabRights: Ver/usar aba Free/Busy global
  • adminConsoleGlobalHSMTabRights: Ver/usar aba HSM (armazenamento hierárquico) global
  • adminConsoleGlobalIMAPTabRights: Ver/usar aba IMAP da configuração global
  • adminConsoleGlobalInfoTabRights: Ver/usar aba Informações da configuração global
  • adminConsoleGlobalLicenseTabRights: Ver/usar aba Licença no console global
  • adminConsoleGlobalMTATabRights: Ver/usar aba MTA da configuração global
  • adminConsoleGlobalPOPTabRights: Ver/usar aba POP da configuração global
  • adminConsoleGlobalRights: Direitos gerais da configuração global no console
  • adminConsoleGlobalThemesTabRights: Ver/usar aba Temas da configuração global
  • adminConsoleMailQueueRights: Gerenciar fila de e-mails no console admin
  • adminConsoleMigrationRights: Executar e gerenciar migrações no console
  • adminConsoleResourceRights: Direitos gerais de recursos de calendário no console
  • adminConsoleResourcesContactTabRights: Ver/usar aba Contato dos recursos de calendário
  • adminConsoleResourcesPropertiesTabRights: Ver/usar aba Propriedades dos recursos de calendário
  • adminConsoleRights: Direitos gerais de acesso ao console admin
  • adminConsoleSavedSearchRights: Gerenciar buscas salvas no console admin
  • adminConsoleServerACLTabRights: Ver/usar aba ACL dos servidores no console
  • adminConsoleServerBackupRestoreTabRights: Ver/usar aba Backup/Restore dos servidores
  • adminConsoleServerIMAPTabRights: Ver/usar aba IMAP dos servidores
  • adminConsoleServerInfoTabRights: Ver/usar aba Informações dos servidores
  • adminConsoleServerMTATabRights: Ver/usar aba MTA dos servidores
  • adminConsoleServerPOPTabRights: Ver/usar aba POP dos servidores
  • adminConsoleServerRights: Direitos gerais de servidores no console
  • adminConsoleServerServicesTabRights: Ver/usar aba serviços dos servidores
  • adminConsoleServerStatisticRights: Ver estatísticas dos servidores no console
  • adminConsoleServerStatusRights: Ver status dos servidores no console
  • adminConsoleServerVolumesTabRights: Ver/usar aba Volumes dos servidores
  • adminConsoleSoftwareUpdatesRights: Gerenciar atualizações de software no console
  • adminConsoleSubDomainRights: Gerenciar subdomínios no console admin
  • adminConsoleUCServiceRights: Gerenciar serviços UC no console admin
  • adminConsoleZimletACLTabRights: Ver/usar aba ACL de Zimlets no console
  • adminConsoleZimletRights: Gerenciar Zimlets no console admin
  • configureAdminUI: Configurar a interface do console administrativo
  • domainAdminConsoleAccountRights: Direitos do console admin de domínio para contas
  • domainAdminConsoleAccountsAliasesTabRights: Aba Aliases no console de admin de domínio
  • domainAdminConsoleAccountsContactTabRights: Aba Contato no console de admin de domínio
  • domainAdminConsoleAccountsFeaturesTabRights: Aba Funcionalidades no console de admin de domínio
  • domainAdminConsoleAccountsForwardingTabRights: Aba Encaminhamento no console de admin de domínio
  • domainAdminConsoleAccountsFreeBusyInteropTabRights: Aba Free/Busy no console de admin de domínio
  • domainAdminConsoleAccountsInfoTabRights: Aba Informações no console de admin de domínio
  • domainAdminConsoleAccountsMemberOfTabRights: Aba Membro de no console de admin de domínio
  • domainAdminConsoleAccountsThemesTabRights: Aba Temas no console de admin de domínio
  • domainAdminConsoleAccountsZimletsTabRights: Aba Zimlets no console de admin de domínio
  • domainAdminConsoleAliasRights: Direitos de aliases no console de admin de domínio
  • domainAdminConsoleDLAliasesTabRights: Aba Aliases de DL no console de admin de domínio
  • domainAdminConsoleDLMemberOfTabRights: Aba Membro de DL no console de admin de domínio
  • domainAdminConsoleDLMembersTabRights: Aba Membros de DL no console de admin de domínio
  • domainAdminConsoleDLNotesTabRights: Aba Notas de DL no console de admin de domínio
  • domainAdminConsoleDLRights: Direitos gerais de DL no console de admin de domínio
  • domainAdminConsoleDLSharesTabRights: Aba Compartilhamentos de DL no console de admin de domínio
  • domainAdminConsoleResourceRights: Direitos de recursos no console de admin de domínio
  • domainAdminConsoleResourcesContactTabRights: Aba Contato de recursos no console de admin de domínio
  • domainAdminConsoleResourcesPropertiesTabRights: Aba Propriedades de recursos no console de admin de domínio
  • domainAdminConsoleRights: Direitos gerais do console de admin de domínio
  • domainAdminConsoleSavedSearchRights: Buscas salvas no console de admin de domínio
  • viewAccountAdminUI: Ver a UI de admin de uma conta no console
  • viewDistributionListAdminUI: Ver a UI de admin de uma lista de distribuição
  • setAdminSavedSearch: Salvar buscas no console administrativo
  • viewAdminSavedSearch: Ver buscas salvas no console administrativo
  • adminLoginAs: Fazer login como outro usuário (impersonation)
  • adminLoginCalendarResourceAs: Fazer login como um recurso de calendário
  • autoProvisionAccount: Provisionar contas automaticamente (LDAP/AD)
  • changeAccountPassword: Alterar a senha de uma conta
  • changeCalendarResourcePassword: Alterar a senha de um recurso de calendário
  • checkCalendarResourcePasswordStrength: Verificar a força de senha de recurso de calendário
  • checkPasswordStrength: Verificar a força de senha de uma conta
  • configureQuota: Configurar cota de armazenamento de contas
  • configureWikiAccount: Configurar conta wiki do Zimbra
  • countAccount: Contar o número de contas no domínio
  • countCalendarResource: Contar recursos de calendário no domínio
  • createAccount: Criar novas contas de usuário
  • createCalendarResource: Criar recursos de calendário (salas, equipamentos)
  • deleteAccount: Excluir contas de usuário permanentemente
  • deleteCalendarResource: Excluir recursos de calendário
  • domainAdminAccountRights: Conjunto completo de direitos de conta para admin de domínio
  • domainAdminCalendarResourceRights: Direitos de recursos de calendário para admin de domínio
  • getAccount: Ler/consultar dados de uma conta
  • getAccountInfo: Obter Informações básicas de uma conta
  • getAccountMembership: Ver os grupos/listas de distribuição de uma conta
  • getCalendarResource: Consultar dados de um recurso de calendário
  • getCalendarResourceInfo: Obter Informações básicas de um recurso de calendário
  • getDomainAdminAccountAttrs: Ver atributos de conta visíveis para admin de domínio
  • getDomainAdminCalendarResourceAttrs: Ver atributos de recurso de calendário para admin de domínio
  • getMailboxInfo: Obter Informações da caixa postal de uma conta
  • getMailboxStats: Consultar estatísticas da caixa postal
  • listAccount: Listar contas do domínio
  • listCalendarResource: Listar recursos de calendário do domínio
  • modifyAccount: Modificar atributos de uma conta de usuário
  • modifyCalendarResource: Modificar atributos de um recurso de calendário
  • remoteWipe: Realizar limpeza remota (wipe) de dispositivo móvel
  • renameAccount: Renomear (alterar o endereço principal) de uma conta
  • renameCalendarResource: Renomear um recurso de calendário
  • setAccountPassword: Definir (resetar) a senha de uma conta
  • setCalendarResourcePassword: Definir a senha de um recurso de calendário
  • setDomainAdminAccountAndCalendarResourceAttrs: Definir atributos de conta/recurso visíveis para admin de domínio
  • setDomainAdminCalendarResourceAttrs: Definir atributos de recurso de calendário para admin de domínio
  • assignCos: Atribuir Classe de serviço (COS) a uma conta
  • configureCosConstraint: Definir restrições em atributos da COS
  • countCos: Contar as classes de serviço disponíveis
  • createCos: Criar novas Classes de serviço (COS)
  • deleteCos: Excluir Classes de serviço (COS)
  • domainAdminCosRights: Direitos de COS para admin de domínio
  • getCos: Consultar configurações de uma Classe de serviço
  • listCos: Listar as Classes de serviço disponíveis
  • migrationAdminCosRights: Direitos de COS durante migrações
  • modifyCos: Modificar configurações de uma Classe de serviço
  • renameCos: Renomear uma Classe de serviço
  • besAdminDomainRights: Direitos de admin BES (BlackBerry) no domínio
  • checkDomainMXRecord: Verificar o registro MX do domínio
  • configureExternalAuth: Configurar Autenticação externa (LDAP/AD) do domínio
  • configureExternalGAL: Configurar fonte GAL externa do domínio
  • configurePasswordStrength: Configurar política de força de senhas
  • countDomain: Contar os domínios existentes
  • createSubDomain: Criar subdomínios no Zimbra
  • createTopDomain: Criar domínios de topo no Zimbra
  • crossDomainAdmin: Administrar múltiplos domínios simultaneamente
  • deleteDomain: Excluir domínios do Zimbra
  • domainAdminDomainRights: Direitos gerais de domínio para admin delegado
  • domainAdminRights: Conjunto completo de direitos de admin de domínio
  • getDomain: Consultar configurações de um domínio
  • getDomainQuotaUsage: Ver o uso de cota total do domínio
  • listDomain: Listar os domínios configurados no Zimbra
  • migrationAdminDomainRights: Direitos de domínio durante migrações
  • modifyDomain: Modificar configurações de um domínio
  • addDistributionListMember: Adicionar membros a uma lista de distribuição
  • addGroupAlias: Adicionar alias a um grupo dinâmico
  • addGroupMember: Adicionar membros a um grupo dinâmico
  • countDistributionList: Contar as listas de distribuição do domínio
  • createDistributionList: Criar listas de distribuição
  • createGroup: Criar grupos dinâmicos
  • deleteDistributionList: Excluir listas de distribuição
  • deleteGroup: Excluir grupos dinâmicos
  • domainAdminDistributionListRights: Direitos de DL para admin de domínio
  • getDistributionList: Consultar dados de uma lista de distribuição
  • getDistributionListMembership: Ver as listas de distribuição de que uma DL faz parte
  • getGroup: Consultar dados de um grupo dinâmico
  • listDistributionList: Listar as listas de distribuição do domínio
  • listGroup: Listar os grupos dinâmicos
  • modifyDistributionList: Modificar atributos de uma lista de distribuição
  • modifyGroup: Modificar atributos de um grupo dinâmico
  • removeDistributionListMember: Remover membros de uma lista de distribuição
  • removeGroupAlias: Remover alias de um grupo dinâmico
  • removeGroupMember: Remover membros de um grupo dinâmico
  • renameDistributionList: Renomear uma lista de distribuição
  • renameGroup: Renomear um grupo dinâmico
  • besAdminServerRights: Direitos de admin BES no servidor
  • checkDirectoryOnFileSystem: Verificar diretório no sistema de arquivos do servidor
  • checkHealth: Verificar a saúde (health check) do servidor
  • countServer: Contar os servidores do ambiente
  • createAlwaysOnCluster: Criar cluster de alta disponibilidade
  • createServer: Adicionar novo servidor ao ambiente Zimbra
  • deleteAlwaysOnCluster: Remover cluster de alta disponibilidade
  • deleteServer: Remover servidores do ambiente
  • domainAdminServerRights: Direitos de servidor para admin de domínio
  • flushCache: Limpar caches do servidor (contas, COS, domínio etc.)
  • generateCSR: Gerar requisição de certificado SSL (CSR)
  • getAlwaysOnCluster: Consultar configuração do cluster de HA
  • getCSR: Obter a requisição de certificado SSL gerada
  • getCertificateInfo: Obter Informações do certificado SSL instalado
  • getHSMStatus: Ver o status do armazenamento hierárquico (HSM)
  • getServer: Consultar configurações de um servidor
  • getServerStats: Ver estatísticas de desempenho do servidor
  • getServiceStatus: Ver o status dos serviços do servidor
  • getSessions: Listar sessões ativas no servidor
  • installCertificate: Instalar certificado SSL no servidor
  • listAlwaysOnCluster: Listar clusters de alta disponibilidade
  • listServer: Listar os servidores do ambiente
  • mailQueueRights: Gerenciar fila de e-mails do MTA
  • manageAccountLogger: Gerenciar log específico de contas
  • manageMailQueue: Administrar a fila de e-mails (reprocessar, remover)
  • manageVolume: Gerenciar volumes de armazenamento do servidor
  • modifyAlwaysOnCluster: Modificar configuração do cluster de HA
  • modifyServer: Modificar configurações de um servidor
  • moveBlobs: Mover arquivos de e-mail (blobs) entre volumes
  • moveMailboxFromServer: Remover caixa postal de um servidor específico
  • moveMailboxToServer: Mover caixa postal para um servidor específico
  • rolloverRedoLog: Fazer rollover do redo log do servidor
  • accessGAL: Acessar a Lista Global de endereços (GAL)
  • applianceAll: Acesso total ao appliance Zimbra
  • checkExchangeAuthConfig: Verificar configuração de Autenticação com Exchange
  • checkRightGrp: Verificar permissões em grupos
  • checkRightUsr: Verificar permissões de usuários
  • checkSoftwareUpdates: Verificar disponibilidade de atualizações de software
  • configureGlobalConfigConstraint: Definir restrições na configuração global
  • createUCService: Criar serviços de comunicação unificada (UC)
  • createXMPPComponent: Criar componentes XMPP (chat)
  • createZimlet: Instalar/criar Zimlets
  • deleteUCService: Excluir serviços de comunicação unificada
  • deleteXMPPComponent: Excluir componentes XMPP
  • deleteZimlet: Remover Zimlets instalados
  • deployZimlet: Implantar/atualizar Zimlets
  • domainAdminZimletRights: Direitos de Zimlets para admin de domínio
  • getAllFreeBusyProviders: Listar todos os provedores de Free/Busy
  • getGlobalConfig: Consultar a configuração global do Zimbra
  • getUCService: Consultar serviços de comunicação unificada
  • getXMPPComponent: Consultar componentes XMPP configurados
  • getZimlet: Consultar Informações de um Zimlet
  • installZCSLicense: Instalar Licença do Zimbra Collaboration Suite
  • listUCService: Listar serviços de comunicação unificada
  • listXMPPComponent: Listar componentes XMPP configurados
  • listZimlet: Listar os Zimlets instalados
  • manageZimlet: Gerenciar (habilitar/desabilitar/configurar) Zimlets
  • modifyGlobalConfig: Alterar a configuração global do Zimbra
  • modifyUCService: Modificar serviços de comunicação unificada
  • modifyXMPPComponent: Modificar componentes XMPP
  • modifyZimlet: Modificar configurações de Zimlets
  • renameUCService: Renomear um serviço de comunicação unificada
  • uploadClientSoftware: Fazer upload de software cliente para distribuição
  • viewGrants: Visualizar as permissões (grants) configuradas no sistema

Listas de Distribuição[editar]

Mostrar as listas existentes

zmprov gadl 

Ver todas as informações de uma lista

zmprov gdl [email protected] 

Para criar uma lista

zmprov cdl [email protected] 

Renomear uma lista de distribuição

zmprov rdl [email protected] [email protected] 

Exclui uma lista

zmprov ddl [email protected] 

Exibir uma lista de distribuição da GAL

zmprov mdl [email protected]  zimbraHideInGal FALSE 

Ocultar uma lista de distribuição da GAL

zmprov mdl [email protected]  zimbraHideInGal TRUE 

Retorna todas as listas de distribuição

zmprov -l gadl dominio.com.br 

USUÁRIOS E MEMBROS

Adicionar membros à lista de distribuição

zmprov adlm [email protected] [email protected] 

Adicionar um usuario (<[email protected]>) a todas as listas de distribuição

for listas in $(zmprov gadl); do zmprov adlm $listas [email protected]; done 

Visualizar membros de uma lista

zmprov gdlm [email protected] 

Remover membro de uma lista

zmprov rdlm [email protected] [email protected] 

PERMISSÕES

VERIFICAR PERMISSÕES de uma lista especifica

zmprov gg -t dl [email protected] 

Permissões de ENVIO PARA A LISTA

Utiliza-se sempre a instrução "sendToDistList" ao fim do comando.

Permitir envio

zmprov grr dl [email protected] usr [email protected] sendToDistList 

Concede permissão de envio para um usuario

zmprov grr dl [email protected] usr [email protected] sendToDistList 

Concessão de permissão de envio para um grupo - grp

zmprov grr dl [email protected] grp [email protected] sendToDistList 

Concessão depermissão de envio para um domínio - dom

zmprov grr dl [email protected] dom test.com sendToDistList 

Concessão de permissão de envio para todos os usuários (internos) - all

zmprov grr dl [email protected] all sendToDistList 

Concessão para todos os usuários (internos e externos) - pub

zmprov grr dl [email protected] pub sendToDistList 

Remover permissão

Para remover a permissão utiliza-se o parâmetro "zmprov rvr dl" em qualquer um dos casos de permissão listados acima

zmprov rvr dl [email protected] usr [email protected] sendToDistList 

Lista pública

Toda lista quando criada, já tem o status de "pública" até que se atribua alguém com essa permissão. Para torná-la pública, depois de algupem já ter sido autorizado, basta retirar todas as contas com permissão e ela voltará a ter o status de pública onde qualquer pessoa poderá enviar mensagens para ela.

Lista dinâmica

A lista dinâmica se caracteriza por contar todos os usuarios ativos de um dominio ou grupo específico.

zmprov cddl nome_da_lista 

VERIFICA se um usuario é INTEGRANTE da lista

zmprov ckr dl [email protected] [email protected] sendToDistList 

CONSULTAR a lista

zmprov gdlm [email protected] | grep [email protected] 

PERMISSÕES DE ENVIO EM NOME DA LISTA

Para as autorizações de envio EM NOME DA LISTA usamos ao final o parâmetro "sendAsDistList"

Conceder permissão para que um determinado usuário possa enviar EM NOME DA LSITA

zmprov grr dl [email protected] usr [email protected] sendAsDistList 

Concessão permissão de envio para um grupo - grp

zmprov grr dl [email protected] grp [email protected] sendAsDistList 

Concessão permissão de envio para um domínio - dom

zmprov grr dl [email protected] dom test.com sendAsDistList 

Concessão permissão de envio para todos os usuários (internos) - all

zmprov grr dl [email protected] all sendAsDistList 

Concessão de permissão de envio para todos os usuários (internos e externos) - pub

zmprov grr dl [email protected] pub sendAsDistList 

Lista geral de comandos e parâmetros

  • ddAccountAlias(aaa) {name@domain|id} {alias@domain}
  • addAccountLogger(aal) [-s/--server hostname] {name@domain|id} {logging-category} {trace|debug|info|warn|error}
  • addDistributionListAlias(adla) {list@domain|id} {alias@domain}
  • addDistributionListMember(adlm) {list@domain|id} {member@domain}+
  • autoCompleteGal(acg) {domain} {name}
  • autoProvControl(apc) {start|status|stop}
  • checkPasswordStrength(cps) {name@domain|id} {password}
  • checkRight(ckr) {target-type} [{target-id|target-name}] {grantee-id|grantee-name (note:can only check internal user)} {right}
  • copyCos(cpc) {src-cos-name|id} {dest-cos-name}
  • countAccount(cta) {domain|id}
  • countObjects(cto) {userAccount|account|alias|dl|domain|cos|server|calresource|accountOnUCService|cosOnUCService|domainOnUCService|internalUserAccount|internalArchivingAccount|internalUserAccountX} [-d {domain|id}] [-u {UCService|id}]
  • createAccount(ca) {name@domain} {password} [attr1 value1 [attr2 value2...]]
  • createAliasDomain(cad) {alias-domain-name} {local-domain-name|id} [attr1 value1 [attr2 value2...]]
  • createAlwaysOnCluster(caoc) {name} [attr1 value1 [attr2 value2...]]
  • createBulkAccounts(cabulk) {domain} {namemask} {number of accounts to create}
  • createCalendarResource(ccr) {name@domain} {password} [attr1 value1 [attr2 value2...]]
  • createCos(cc) {name} [attr1 value1 [attr2 value2...]]
  • createDataSource(cds) {name@domain} {ds-type} {ds-name} zimbraDataSourceEnabled {TRUE|FALSE} zimbraDataSourceFolderId {folder-id} [attr1 value1 [attr2 value2...]]
  • createDistributionList(cdl) {list@domain}
  • createDynamicDistributionList(cddl) {list@domain}
  • createDomain(cd) {domain} [attr1 value1 [attr2 value2...]]
  • createServer(cs) {name} [attr1 value1 [attr2 value2...]]
  • createUCService(cucs) {name} [attr1 value1 [attr2 value2...]]
  • createIdentity(cid) {name@domain} {identity-name} [attr1 value1 [attr2 value2...]]
  • createSignature(csig) {name@domain} {signature-name} [attr1 value1 [attr2 value2...]]
  • createXMPPComponent(cxc) {short-name} {domain} {server} {classname} {category} {type} [attr value1 [attr2 value2...]]
  • deleteAccount(da) {name@domain|id}
  • deleteAlwaysOnCluster(daoc) {name|id}
  • deleteCalendarResource(dcr) {name@domain|id}
  • deleteCos(dc) {name|id}
  • deleteDataSource(dds) {name@domain|id} {ds-name|ds-id}
  • deleteDistributionList(ddl) {list@domain|id} [true|false]
  • deleteDomain(dd) {domain|id}
  • deleteIdentity(did) {name@domain|id} {identity-name}
  • deleteSignature(dsig) {name@domain|id} {signature-name}
  • deleteServer(ds) {name|id}
  • deleteUCService(ducs) {name|id}
  • deleteXMPPComponent(dxc) {xmpp-component-name}
  • describe(desc) [[-v] [-ni] [{entry-type}]] | [-a {attribute-name}]
  • exit(quit)
  • flushCache(fc) [-a] {acl|locale|skin|uistrings|license|all|account|config|globalgrant|cos|domain|galgroup|group|mime|server|alwaysOnCluster|zimlet|<extension-cache-type>} [name1|id1 [name2|id2...]]
  • generateDomainPreAuth(gdpa) {domain|id} {name|id|foreignPrincipal} {by} {timestamp|0} {expires|0}
  • generateDomainPreAuthKey(gdpak) [-f] {domain|id}
  • getAccount(ga) [-e] {name@domain|id} [attr1 [attr2...]]
  • getAlwaysOnCluster(gaoc) {name|id} [attr1 [attr2...]]
  • getDataSources(gds) {name@domain|id} [arg1 [arg2...]]
  • getIdentities(gid) {name@domain|id} [arg1 [arg...]]
  • getSignatures(gsig) {name@domain|id} [arg1 [arg...]]
  • getAccountMembership(gam) {name@domain|id}
  • getAllAccounts(gaa) [-v] [-e] [-s server] [{domain}] -- NOTE: getAllAccounts can only be used with "zmprov -l/--ldap"
  • getAccountLoggers(gal) [-s/--server hostname] {name@domain|id}
  • getAllActiveServers(gaas) [-v]
  • getAllAccountLoggers(gaal) [-s/--server hostname]
  • getAllAdminAccounts(gaaa) [-v] [-e] [attr1 [attr2...]]
  • getAllAlwaysOnClusters(gaaoc) [-v]
  • getAllCalendarResources(gacr) [-v] [-e] [-s server] [{domain}]
  • getAllConfig(gacf) [attr1 [attr2...]]
  • getAllCos(gac) [-v]
  • getAllDistributionLists(gadl) [-v] [{domain}]
  • getAllDomains(gad) [-v] [-e] [attr1 [attr2...]]
  • getAllEffectiveRights(gaer) {grantee-type} {grantee-id|grantee-name} [expandSetAttrs] [expandGetAttrs]
  • getAllFbp(gafbp) [-v]
  • getAllRights(gar) [-v] [-t {target-type}] [-c ALL|ADMIN|USER]
  • getAllServers(gas) [-v] [-e] [service]
  • getAllUCServices(gaucs) [-v]
  • getAllXMPPComponents(gaxcs)
  • getAuthTokenInfo(gati) {auth-token}
  • getCalendarResource(gcr) {name@domain|id} [attr1 [attr2...]]
  • getConfig(gcf) {name}
  • getCos(gc) {name|id} [attr1 [attr2...]]
  • getDistributionList(gdl) {list@domain|id} [attr1 [attr2...]]
  • getDistributionListMembership(gdlm) {name@domain|id}
  • getDomain(gd) [-e] {domain|id} [attr1 [attr2...]]
  • getDomainInfo(gdi) name|id|virtualHostname {value} [attr1 [attr2...]]
  • getConfigSMIMEConfig(gcsc) [configName]
  • getDomainSMIMEConfig(gdsc) name|id [configName]
  • getEffectiveRights(ger) {target-type} [{target-id|target-name}] {grantee-id|grantee-name} [expandSetAttrs] [expandGetAttrs]
  • getCreateObjectAttrs(gcoa) {target-type} {domain-id|domain-name} {cos-id|cos-name} {grantee-id|grantee-name}
  • getFreebusyQueueInfo(gfbqi) [{provider-name}]
  • getGrants(gg) [-t {target-type} [{target-id|target-name}]] [-g {grantee-type} {grantee-id|grantee-name} [{0|1 (whether to include grants granted to groups the grantee belongs)}]]
  • getMailboxInfo(gmi) {account}
  • getQuotaUsage(gqu) {server}
  • getRight(gr) {right} [-e] (whether to expand combo rights recursively)
  • getRightsDoc(grd) [java packages]
  • getServer(gs) [-e] {name|id} [attr1 [attr2...]]
  • getUCService(gucs) [-e] {name|id} [attr1 [attr2...]]
  • getShareInfo(gsi) {owner-name|owner-id}
  • getSpnegoDomain(gsd)
  • getXMPPComponent(gxc) {name|id} [attr1 [attr2...]]
  • grantRight(grr) {target-type} [{target-id|target-name}] {grantee-type} [{grantee-id|grantee-name} [secret]] {right}
  • help(?) commands
  • modifyAccount(ma) {name@domain|id} [attr1 value1 [attr2 value2...]]
  • modifyAlwaysOnCluster(maoc) {name|id} [attr1 value1 [attr2 value2...]]
  • modifyCalendarResource(mcr) {name@domain|id} [attr1 value1 [attr2 value2...]]
  • modifyConfig(mcf) attr1 value1 [attr2 value2...]
  • modifyCos(mc) {name|id} [attr1 value1 [attr2 value2...]]
  • modifyDataSource(mds) {name@domain|id} {ds-name|ds-id} [attr1 value1 [attr2 value2...]]
  • modifyDistributionList(mdl) {list@domain|id} attr1 value1 [attr2 value2...]
  • modifyDomain(md) {domain|id} [attr1 value1 [attr2 value2...]]
  • modifyConfigSMIMEConfig(mcsc) configName [attr2 value2...]]
  • modifyDomainSMIMEConfig(mdsc) name|id configName [attr2 value2...]]
  • modifyIdentity(mid) {name@domain|id} {identity-name} [attr1 value1 [attr2 value2...]]
  • modifySignature(msig) {name@domain|id} {signature-name|signature-id} [attr1 value1 [attr2 value2...]]
  • modifyServer(ms) {name|id} [attr1 value1 [attr2 value2...]]
  • modifyUCService(mucs) {name|id} [attr1 value1 [attr2 value2...]]
  • modifyXMPPComponent(mxc) {name@domain} [attr1 value1 [attr value2...]]
  • pushFreebusy(pfb) [account-id ...]
  • pushFreebusyDomain(pfbd) {domain}
  • purgeAccountCalendarCache(pacc) {name@domain|id} [...]
  • purgeFreebusyQueue(pfbq) [{provider-name}]
  • recalculateMailboxCounts(rmc) {name@domain|id}
  • removeAccountAlias(raa) {name@domain|id} {alias@domain}
  • removeAccountLogger(ral) [-s/--server hostname] [{name@domain|id}] [{logging-category}]
  • removeDistributionListAlias(rdla) {list@domain|id} {alias@domain}
  • removeDistributionListMember(rdlm) {list@domain|id} {member@domain}
  • removeConfigSMIMEConfig(rcsc) configName
  • removeDomainSMIMEConfig(rdsc) name|id configName
  • renameAccount(ra) {name@domain|id} {newName@domain}
  • changePrimaryEmail(cpe) {name@domain|id} {newName@domain}
  • renameCalendarResource(rcr) {name@domain|id} {newName@domain}
  • renameCos(rc) {name|id} {newName}
  • renameDistributionList(rdl) {list@domain|id} {newName@domain}
  • renameDomain(rd) {domain|id} {newDomain} -- NOTE: renameDomain can only be used with "zmprov -l/--ldap"
  • renameUCService(rucs) {name|id} {newName}
  • reIndexMailbox(rim) {name@domain|id} {start|status|cancel} [{types|ids} {type or id} [,type or id...]]
  • compactIndexMailbox(cim) {name@domain|id} {start|status}
  • verifyIndex(vi) {name@domain|id}
  • getIndexStats(gis) {name@domain|id}
  • revokeRight(rvr) {target-type} [{target-id|target-name}] {grantee-type} [{grantee-id|grantee-name}] {right}
  • searchAccounts(sa) [-v] {ldap-query} [limit {limit}] [offset {offset}] [sortBy {attr}] [sortAscending 0|1*] [domain {domain}]
  • searchCalendarResources(scr) [-v] domain attr op value [attr op value...] -- NOTE: searchCalendarResources can only be used with "zmprov -l/--ldap"
  • searchGal(sg) {domain} {name} [limit {limit}] [offset {offset}] [sortBy {attr}]
  • setLocalServerOnline(slso)
  • selectMailbox(sm) {account-name} [{zmmailbox commands}]
  • setAccountCos(sac) {name@domain|id} {cos-name|cos-id}
  • setPassword(sp) {name@domain|id} {password}
  • setServerOffline(sso) {name|id}
  • getAllMtaAuthURLs(gamau)
  • getAllReverseProxyURLs(garpu)
  • getAllReverseProxyBackends(garpb)
  • getAllReverseProxyDomains(garpd) -- NOTE: getAllReverseProxyDomains can only be used with "zmprov -l/--ldap"
  • getAllMemcachedServers(gamcs)
  • reloadMemcachedClientConfig(rmcc) all | mailbox-server [...]
  • getMemcachedClientConfig(gmcc) all | mailbox-server [...]
  • syncGal(syg) {domain} [{token}]
  • updatePresenceSessionId(upsid) {UC service name or id} {app-username} {app-password}
  • resetAllLoggers(rlog) [-s/--server hostname]
  • unlockMailbox(ulm) {name@domain|id} [hostname (When unlocking a mailbox after a failed move attempt provide the hostname of the server that was the target for the failed move. Otherwise, do not include hostname parameter)]
  • createHABOrgUnit(chou) {domain} {ouName}
  • listHABOrgUnit(lhou) {domain}
  • renameHABOrgUnit(rhou) {domain} {ouName} {newName}
  • deleteHABOrgUnit(dhou) {domain} {ouName}
  • createHABGroup(chg) {groupName} {ouName} {name@domain} {TRUE|FALSE} [attr1 value1 [attr2 value2...]]
  • getHAB(ghab) {habRootGrpId}
  • moveHABGroup(mhg) {habRootGrpId} {habParentGrpId} {targetHabParentGrpId}
  • addHABGroupMember(ahgm) {name@domain|id} {member@domain}+
  • removeHABGroupMember(rhgm) {name@domain|id} {member@domain}
  • deleteHABGroup(dhg) {name@domain|id} [true|false]
  • modifyHABGroupSeniority(mhgs) {habGrpId} {seniorityIndex}
  • getHABGroupMembers(ghgm) {name@domain|id}

Conta no-reply[editar]

Crie a conta

zmprov ca [email protected] senha

Troque "senha" pela senha que a conta terá

Para rejeitar envios:

zmprov mcf +zimbraMtaRestriction "reject_recipient [email protected]"

Restart o MTA

zmmtactl restart

Para verificar se os serviços estão rodando

zmcontrol status

Criando uma regra que descarte qualquer mensagem enviada para a conta.

zmprov ma [email protected] zimbraMailSieveScript 'require ["fileinto", "reject"]; discard;'

Cria uma resposta automática para uma aventual resposta.

zmprov ma [email protected] zimbraMailSieveScript 'require ["reject"]; reject "Este endereço não aceita respostas.";'

Gerar listagem[editar]

Script[editar]

Antes de iniciar, devemos conferir a lista do zmaccts pois a saída do comando tem uma limitação de caracteres na coluna dos endereços. (su zimbra)

zmaccts | awk '{print $1}'

Verifique se não está faltando nenhum caracter nos endereços. Caso precise fazer o ajuste (sudo su) no arquivo /opt/zimbra/bin/zmaccts.

Cópia de segurança

cp  /opt/zimbra/bin/zmaccts2

Abra o arquivo para edição

vim /opt/zimbra/bin/zmaccts 

Edite o parâmetro em negrito abaixo dos 36 (padrão) para a quantidade que seja necessária (sudo su)

# column whidths and separators
my @w = ( 36, 11, 15, 15)

Após esse ajuste, pode iniciar a criação do script

Crie os arquivos necessários.

touch /home/mboxes.list
chmod 777 /home/mboxes.list
chown zimbra:zimbra /home/mboxes.list
touch /home/mboxsize.txt
chmod 777 /home/mboxsize.txt
chown zimbra:zimbra /home/mboxsize.txt

Crie o arquivo do script

vim /home/detalhes_conta.sh

Cole as instruções abaixo no conteúdo do script

#!/bin/bash

###################################
##### Atribuição de variáveis #####
CLIENTE="zmhostname"
REMETENTE=" "
DESTINATARIO=" "
SMTP=" :587"
USUARIO=" "
SENHA=" "
LOGFILE="/home/mboxsize.txt"
###################################

#############################
##### INICIO #####

zmprov -l gaa > /home/mboxes.list # Exporta a lista de todas as contas e Listas de Distribuição para o arquivo /home/mboxes.list

date > /home/mboxsize.txt # Insere a data no arquivo

echo ", CONTA , STATUS , DATA DE CRIAÇÃO , ÚLTIMO LOGIN, TAMANHO, DESCRIÇÃO, CONTA ADMIN, ENCAMINHAMENTOS, COMPARTILHAMENTOS" >> /home/mboxsize.txt # Insere o cabeçalhos da lista

for mb in $(cat "/home/mboxes.list"); do

    echo "| CONTA: $mb" # Coleta o nome da conta

    # Coleta e escreve a descrição da conta
    descricao_conta="$(zmprov ga "$mb" description | grep description | awk -F 'description:' '{print $2}')";
    echo "| DESCRIÇÃO: $descricao_conta"

    # Coleta o user da conta
    # mb2="$(echo "$mb" |awk -F\@ '{print $1}')"

    # Coleta e escreve o status da conta
    status="$(zmaccts | sort | awk '{print ",",$1,","$2,","$3,","$5}' | grep ", $mb")"
    echo "| STATUS: $status"

    # Coleta e escreve o tamanho em disco da conta
    msize="$(zmmailbox -z -m "$mb" gms)";
    echo "| TAMANHO: $msize"

    # Verifica se a conta é Admin ou não
    isAdmin="$(zmprov GetAccount "$mb" | grep "zimbraIsAdminAccount:" | awk '{print $2}')"
    echo "| ADMINISTRADOR: $isAdmin"

    # Coletar e escreve os encaminhamentos de cada conta
    encaminha_conta="$(zmprov ga "$mb" zimbraPrefMailForwardingAddress |grep -v '#')"
    echo "| ENCAMINHAMENTOS: $encaminha_conta"

    # Coleta os compartilhamentos da conta
    share_conta="$(zmprov ga "$mb" zimbraSharedItem | cut -d ';' -f 2,6,9 | grep -v '#' | tr '\n' ' ' | sed 's/granteeName/ Nome/g' | sed 's/folderPath/ Local/g' | sed 's/type/ Tipo/g')"
    echo "| COMPARTILHAMENTOS: $share_conta"

    # Escreve os cabeçalhos da lista
    echo "$status ,$msize ,$descricao_conta ,$isAdmin ,$encaminha_conta ,$share_conta" >> /home/mboxsize.txt

    echo "$status ,$msize ,$descricao_conta ,$isAdmin ,$encaminha_conta ,$share_conta"

    echo " "

done

echo "Completed"

##### ENVIA O E-MAIL #####
/usr/bin/sendemail -f $REMETENTE -t $DESTINATARIO -u "$CLIENTE - Listagem Contas" -m "Segue log em anexo." -o tls=no -a "$LOGFILE" -s $SMTP -xu $USUARIO -xp $SENHA
##########################

Atribua permissões ao script

chmod +x /home/detalhes_conta.sh
chown zimbra:zimbra /home/detalhes_conta.sh

Rodar script (lembre de estar no mesmo diretório do arquivo e de estar como usuario zimbra - su zimbra)

nohup ./detalhes_conta.sh &

Para acompanhar o andamento:

tail -f /home/mboxsize.txt

depois do script concluir a rotina va em /home/mboxsize.txt para copiar as informações

cat /home/mboxsize.txt

Boas Práticas[editar]

Problemas com erro TLS handshake[editar]

Problemas com erro TLS handshake failure no Zimbra/Postfix

Descrição do problema[editar]

Em alguns casos, ao enviar e-mails para provedores que exigem protocolos modernos (ex.: Titan, O365, Gmail), o Zimbra/Postfix pode registrar erros como:

Cannot start TLS: handshake failure TLS library problem: error:0A000066:SSL routines::bad dh value:ssl/statem/statem_clnt.c

Isso ocorre porque as configurações padrão do Zimbra ainda oferecem ciphers export/medium e permitem TLS 1.0/1.1, que são rejeitados pelos servidores modernos.

Sintomas[editar]

Mensagens ficam em status=deferred no log (/var/log/zimbra.log):

dsn=4.7.5, status=deferred (Cannot start TLS: handshake failure)

Conexão TLS não é estabelecida durante o envio.

Erros bad dh value indicam uso de parâmetros DH fracos ou incompatíveis.

Diagnóstico[editar]

Listar parâmetros atuais do MTA:

zmprov gs `zmhostname` | egrep zimbraMtaSmtpTls

Exemplo de configuração problemática (default):

zimbraMtaSmtpTlsCiphers: export
zimbraMtaSmtpTlsLoglevel: 0
zimbraMtaSmtpTlsMandatoryCiphers: medium
zimbraMtaSmtpTlsMandatoryProtocols: !SSLv2, !SSLv3
zimbraMtaSmtpTlsProtocols: !SSLv2, !SSLv3
zimbraMtaSmtpTlsSecurityLevel: may

Configuração anterior (insegura)

zmprov ms `zmhostname` zimbraMtaSmtpTlsCiphers export
zmprov ms `zmhostname` zimbraMtaSmtpTlsMandatoryCiphers medium
zmprov ms `zmhostname` zimbraMtaSmtpTlsProtocols '!SSLv2, !SSLv3'
zmprov ms `zmhostname` zimbraMtaSmtpTlsMandatoryProtocols '!SSLv2, !SSLv3'
zmprov ms `zmhostname` zimbraMtaSmtpTlsSecurityLevel may

Problema: ainda permitia TLS 1.0/1.1 e cifras fracas.

Nova configuração (segura e compatível)

zmprov ms `zmhostname` zimbraMtaSmtpTlsCiphers high
zmprov ms `zmhostname` zimbraMtaSmtpTlsMandatoryCiphers high
zmprov ms `zmhostname` zimbraMtaSmtpTlsProtocols "TLSv1.2 TLSv1.3"
zmprov ms `zmhostname` zimbraMtaSmtpTlsMandatoryProtocols "TLSv1.2 TLSv1.3"
zmprov ms `zmhostname` zimbraMtaSmtpTlsSecurityLevel may

Considerações

  • may: garante que, caso o destino não suporte TLS moderno, o e-mail ainda será entregue sem criptografia (evita perda de entrega).
  • Ciphers high: restringe a cifras fortes (AES-GCM, CHACHA20, etc.), compatíveis com provedores modernos.
  • Protocolos TLSv1.2 TLSv1.3: elimina versões antigas e inseguras (TLS 1.0/1.1).
  • Essa configuração é compatível com Titan, Gmail, O365, Yahoo, etc.

Verificação[editar]

Após aplicar combinar com o cliente um momento para reiniciar:

zmcontrol restart

Testar envio e observar no log (/var/log/zimbra.log) deverá aparecer essa sentença:

Trusted TLS connection established to mx2.titan.email[...]:25: TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (2048-bit DH)

FONTE[editar]

SCRIPTS[editar]

Listagem de encaminhamentos[editar]

Script que retorna os encaminhamentos de todas as contas.

Crie o arquivo de script

vim lista_de_encaminhamentos.sh

Cole o conteúdo abaixo

#!/bin/bash
# Execute como usuário zimbra (ex: sudo -u zimbra bash listar_encaminhamentos_zimbra.sh)

ZMPROV="/opt/zimbra/bin/zmprov"

# Cabeçalho opcional
printf "%-40s %s\n" "CONTA" "ENCAMINHAMENTOS"
printf "%-40s %s\n" "----------------------------------------" "------------------------------"

# Lista todas as contas e itera
$ZMPROV -l gaa | while IFS= read -r account; do
  # pega os atributos (pode haver múltiplos valores)
  forwards=$($ZMPROV ga "$account" zimbraMailForwardingAddress zimbraPrefMailForwardingAddress 2>/dev/null \
            | awk -F': ' '/^zimbraMailForwardingAddress:|^zimbraPrefMailForwardingAddress:/{print $2}' \
            | paste -s -d',' -)

  # Se vazio, escreve "-"
  if [ -z "$forwards" ]; then
    forwards="-"
  fi

  # Imprime: conta e lista separada por vírgula (sem espaços extras)
  printf "%-40s %s\n" "$account" "$forwards"
done

Sete permissões

chown zimbra:zimbra lista_de_encaminhamentos.sh

Crie o arquivo de log

touch lista_de_encaminhamentos_saida.txt

Permissão para leitura

chown zimbra:zimbra lista_de_encaminhamentos_saida.txt

Execute o script

nohup ./lista_de_encaminhamentos.sh > lista_de_encaminhamentos_saida.txt &

Acompanhe o desenvolvimeto da lista em:

tail -f lista_de_encaminhamentos_saida.txt