Clever Flores

Lic at Cloud Perú
Clever es arquitecto de sistemas, programador y desarrollador de productos Cloud. Es licenciado en administración de empresas y cuenta con estudios de maestría en Ing. de Software.

Cuenta con 16 años de experiencia en Infraestructura de TI, servidores de red, virtualización y cloud computing (KVM, Vmware, docker y Open Stack), servidores de aplicaciones, seguridad firewall y ethical hacking, especialista en Linux, senior en Software Libre y Open Source.

Es también programador experto en PHP, JavaScript, Bash, Java y Python.

Desde el 2003 ha dictado cursos en plataformas Open Source como Linux, Ubuntu, CentOS, RHEL, Debian, SuSE, Certificación LPIC 1 y 2, Ethical Hacking, Zimbra, Endian, Zentyal, Zabbix, Alfresco, programación en PHP, Zend Framework, Java, JavaScript, NodeJS.

Cuenta con certificaciones: RHCSA, RHCE, LPIC 1,LPIC 2 y LPIC 3, CPTE de Mile2 y CCNSP de Cyberoam.

Taller 7: Comandos en consola en Zimbra

Tabla de contenidos

7.1.- Zimbra CLI Comandos

CLI Description
ldap Start, stop, or find the status of zimbra LDAP
ldapsearch Perform a search on an LDAP server
logmysqladmin Send myslqadmin commands to the logger mysql
mailboxd Start, stop, find the status of the mailboxd server
mysql Enters interactive command-line MySQL session with the mailbox mysql
mysql.server Start, stop the SQL instance for the mailboxpackage
mysqladmin Send admin commands to MySQL
postconf Postfix command to view or modify the postfixconfiguration
postfix Start, stop, reload, flush, check, upgrade-configuration of postfix
qshape Examine postfix queue in relation to time andsender/recipient domain
zmaccts Lists the accounts and gives the status ofaccounts on the domain
zmamavisdctl Start, stop, restart, or find the status of theAmavis-D New
zmantispamctl Start, stop, reload, status for anti-spam service
zmantivirusctl Start, stop, reload, status for the anti-virus service
zmapachectl Start, stop, reload, or check status of Apacheservice (for spell check)
zmarchive Config Command to view, modify, or configure archiving
zmarchivectl Start, stop, reload, status for archiving
zmarchivesearch Search archives on the account
zmauditswatchctl Start, stop, restart, reload, status of theauditswatch
zmbackup Performs full backups and incremental backupsfor a designated mail host.
zmbackupabort Stops a backup that is in process.
zmbackupquery Find a specific full backup set
zmblobchk Check consistency of the Zimbra blob store
zmcalchk Check consistency of appointments andattendees in the Zimbracalendar
zmcertmgr Manage self-signed and commercial certificates
zmclamdctl Start, stop, or find the status of Clam AV
zmcleaniplanetics Clean iPlanet ICS calendar files
zmcontrol (Start/Stop Service) Start, stop, status of the Zimbra servers. Also can use to find the Zimbra version installed.
zmconvertctl Start, stop, the conversion server or find thestatus of the converted attachments conversion/indexing
zmdumpenv General information about the serverenvironment is displayed
zmgsautil Create, delete the GAL sync account and initiate manual syncs.
zmhostname Find the hostname of the Zimbra server
zmhsm Start, stop and status of a HSM session.
zmitemdatafile Extracts and packs tgz files that ZCS uses forREST import/export
zmjava Execute Java with Zimbra-specific environmentsettings
zmldappasswd Changes the LDAP password
zmlicense View and install your Zimbra license
zmlmtpinject Testing tool
zmlocalconfig Used to set or get the local configuration of a Zimbra server
zmloggerctl Start, stop, reload, or find the status of the Zimbra logger service
zmloggerhostmap Used to manually map a DNS hostname to azmhostname.
zmlogswatchctl Start, stop, status of the swatch that is monitoring logging
zmmailbox Performs mailbox management tasks
zmmailboxdctl Start, stop, reload, or find the status of themailbox components (mailboxd, MySQL, convert)
zmmailboxmove (Move Mailbox) Used to move selected mailboxes from one Zimbra server to another.
zmmboxsearch (Cross Mailbox Search) Search across mailboxes to find messages andattachments
zmmetadump Support tool that dumps an item’s metadata in ahuman-readable form
zmmtaconfigctl Start, stop, or find the status of the MTAconfiguration daemon
zmmtactl Start, stop, or find the status of the MTA
zmmypasswd Trace messages
zmmypasswd Change MySQL passwords
zmmysqlstatus Status of mailbox SQL instance
zmperditionctl Start, stop, or find the status of the perdition IMAP proxy
zmplayredo Performs data restore using backed upsnapshots taken periodically.Users who use snapshots to backup and restore their information from a standby site use this command.
zmprov (Provisioning) Performs all provisioning tasks in Zimbra LDAP, including creating accounts, domains, distribution lists and aliases
zmproxyconfgen Generates configuration for the nginx proxy
zmproxyctl Start, stop, restart, and find the status of the IMAP proxy service
zmproxypurge Purges POP/IMAP routing information from oneor more memcached servers
zmpython Ability to write Python scripts that access Zimbra Java libraries. It sets the ZCS class path and starts the Jython interpreter.
zmredodump Support tool for dumping contents of a redologfile for debugging purposes
zmrestore Performs full restores and incremental restoresfor a designated mail host
zmrestoreldap Restore accounts from the LDAP backup
zmrestoreoffline (Offline Restore) Performs full restore when the Zimbra server (i.e., the mailboxd process) is down
zmsaslauthdctl Start, stop, or find the status of saslauthd(authentication)
zmschedulebackup Schedule backups and add the command to your cron table
zmshutil Used for other zm scripts, do not use
zmskindeploy Deploy skins for accounts from the command line
zmsoap Print mail, account, and admin information in the SOAP format
zmspellctl Start, stop, or find the status of the spell checkserver
zmsshkeygen Generate Zimbra’s SSH encryption keys
zmstat-chart Generate charts from zmstat data collected in adirectory
zmstat-chart-config Generate an .xml file with data included from the account setup
zmstat-chart-config Outputs an XML configuration that describes the current state of the data gathered from zmstat-chart to generate charts on the

Consola de administración
CLI Descripción
zmstatctl Start, stop, check status, or rotate logs of zmstat data collectors
zmstorectl Start, stop, or find the status of Zimbra storeservices
zmswatchctl Start, stop, or find the status of the Swatchprocess, which is used in monitoring
zmsyslogsetup Used to setup system log config file
zmthrdump Initiate a thread dump and save the data to a filewith a timestamp
zmtlsctl Set the Web server mode to the communication protocol options: HTTP, HTTPS or mixed
zmtrainsa Used to train the anti-spam filter to recognizewhat is spam or ham
zmtzupdate Provides mechanism to process timezonechanges from the command line
zmupdateauthkeys Used to fetch the ssh encryption keys created by zmsshkeygen
zmvolume Manage storage volumes on your Zimbra Mailbox server
zmzimletctl Deploy and configure Zimlets

Comandos de Servicio

  • Verificar el estado de todos los servicios en zimbra

  • Detener todos los servicios

  • Iniciar todos los servicios

  • Reiniciar todos los servicios

  • Ver la versión de zimbra y el parche actual

7.2.- Comandos individuales de servicio (start, stop, restart, status)

  • Ejemplo: Detenemos todos los servicios e iniciaremos uno a uno

  • Iniciar LDAP server

  • Iniciar MySQL Server

  • Iniciar zmconfigd

  • Iniciar MTA (postfix, saslauthd)

  • Iniciar Amavis, Antivirus y AntiSpam (amavis, spamassassin, clamav)

  • Iniciar Mailbox (webmail, panel de administracion, servidores imap y pop3, servidores de filtros)

  • Iniciar spell (servidor de ortografía)
    zmapachectl start
  • Iniciar monitoreo
    zmswatchctl start
  • Iniciar estadísticas

  • Iniciar Logger (logs del sistema)

  • **Reiniciar servicio antivirus+*

  • Reiniciar servicio antispam

  • Iniciar servicio de memcache

  • Iniciar servicio dkim

  • Iniciar proxy

  • Ver el estado de los servicios

7.3.- Comandos de la consola de administración

7.3.1.- zmprov: Comando de administración de zimbra

  • Loguearse primero como usuario zimbra

  • Lista la ayuda general de zmprov

  • Listar la ayuda para gestionar las cuentas

  • Consola Interactiva

  • Ver ayuda de cuentas

  • Salir de la consola interactiva Cuentas

  • Obtener listado de todas las cuentas del servidor (todos los dominios)

  • Obtener todas las cuentas de administración

  • Obtener información de una sola cuenta

  • Cuentas de un dominio específico

  • Detalle de cuentas de un dominio especifico

  • Detalle de cuentas de un dominio especifico con Cuenta, Nombre y Quota

  • Crear una cuenta, con cos default

  • Crear un usuario con un caso específico ejemplo: Gerente

  • Crear una cuenta con detalle Modificar opciones de una cuenta

  • Cambiar de password de una cuenta

  • Modificar un atributo de una cuenta

Nota: Se puede modificar cualquier atributo del usuario para la lista de atributos ejecutar Busqueda de cuentas

  • Búsqueda por atributos
    Se puede buscar las cuentas por un atributo en común zmprov sa parametr

  • Buscar todas las cuentas activas

  • Buscar todas las cuentas bloqueadas

  • Buscar en cuales listas se encuentra una cuenta

  • Buscar todos las cuentas que están de vacaciones Borrar una cuenta Creación de Cuentas en forma masiva

  • Nos logueamos como root

  • Creamos nuestro directorio de scrips

  • Entramos al directorio

  • Primero creamos un archivo con la lista de cuentas y sus respectivos COS

  • Creamos ahora un script que genere un archivo para la creación de usuario

    • Ejecutamos el script, para eso necesitamos php

  • Creamos los usuarios con zmprov Listas de correo

  • Buscar todas las listas, y por dominio

  • Crear una lista

  • Ver una lista específica

  • Encontrar todas las listas de un dominio y sus miembros

  • Agregar un miembro a la lista

  • Remover un miembro de la lista

  • Borrar una lista

7.3.2.- Obtener y modificar valores de configuracion

  • Ver los valores de configuración del servidor

  • Ver los valores de configuración mostrando los password

  • Mostrar el password de mysql

  • Mostrar el password de ldap

  • Obtener todos los parámetros de configuración generales

  • **Modificar un valor global de configuración **

  • Obtener los parámetros de configuración de un servidor

  • Modificar el valor de configuración de un servidor

Siempre que se modifica un valor de zimbra hacer un restart del servidor o del servicio afectado***

7.4.- Buzones (zmmailbox)

  • Entrar a la consola interactiva

  • Ver ayuda general del comando

  • **Ver ayuda de las cuentas **

  • Ver ayuda de los mensajes

7.4.1.- Tamaño de un buzón

  • Ver tamaño ocupado del buzón

  • Ver el tamaño de las quotas asignadas y ocupadas de todos los buzones

  • Revisar mensajes por carpetas en el buzón

  • Borrar una carpeta completa de un buzón

  • **Importar mensajes de una carpeta Maildir existente en el INBOX **

  • Buscar un mensaje

  • Buscar un mensaje en todas las cuentas

  • Buscar correos anteriores a una fecha: (formato mes/dia/año)

  • Obtener contenido de un correo

21940 es el ID del mensaje

  • Ver contactos:

  • **Vaciar casilla usuario: **

  • Ver correos de una carpeta

  • Ver metadata de un correo:

  • Borrar un mensaje

4543 es el id del mensaje

  • Borrar un mensaje en todas las cuentas (tarea)

7.5.- Migración de cuentas y correos


  • Para migrar desde un servidor de correo existente se debe tener en cuenta las siguientes

    • Instalar Zimbra en un nuevo servidor (físico o virtual), de esta forma no se afecta el servicio y si la migración es muy pesada, puede seguir en producción el servidor antiguo hasta que se termine de migrar y pase a producción el nuevo servidor.
    • Crear primero los COS y luego crear los usuarios con sus respectivos COS.
    • Usar para la migración de usuarios, scripts que permitan la creación masiva de usuarios o en su defetecto usar los utilitarios del panel de administración
    • Si el servidor antiguo tenía contraseñas shadow o LDAP, se pueden preservar estas contraseñas, si no habrá que crear nuevas claves.
    • En la creación de nuevas claves NO USAR contraseñas débiles porque se exponen a ser
      crakeadas por bots. Para esto es preferente usar opciones de fortaleza de contraseña
      ej: 8 caracteres mínimo, 1 mayúscula, 1 número y 1 signo de puntuación
    • Migrar las capetas de correo del servidor y de las estaciones que tienen los correos

7.5.1 Creación de Cuentas en forma masiva

Ejecutamos el procedimiento en

7.5.2 Migración de passwd y shadow

  • Loguearse como root

useradd -md /home/usuario2 usuario2
passwd usuario2

  • Crear los usuarios en zimbra como anteriormente se ha descrito

  • Crear un script para la migración de las contraseñas

  • Ejecutar el script para generar el archivo que cambia las contraseñas

  • Editar el y borrar todas las cuentas que no sean de zimbra

  • Ejecutar el cambio las contraseñas

  • Probar los usuarios en zimbra

  • Borrar los usuarios Linux

7.5.3 Obligar que los usuarios pongan una nueva contraseña

  • Loguearse con usuario1 y usuario2

7.5.4 Generación de contraseñas aleatorias

En el caso de que no confiamos de las contraseñas anteriores de los
usuarios o no las conocemos una alternativa es generar contraseñas
aleatorias y luego comomicarselo al usuario enviándole un correo
al sistema de correo que será migrado.

  • Ejecutamos el script de generación en el servidor zimbra

  • Ahora copiamos el archivo claves.txt en el servidor que se va a migrar

  • Nos logueamos al servidor antiguo y enviamos los correos

  • Descargar librería PHPMailer, descomprimir y renombrar

  • Crear el script de envío y editar los valores

7.5.5.- Migración de buzones maildir

  • Debemos copiar el directorio de los usuarios ej: /home del servidor antiguo al servidor zimbra y nombrarlo con el nombre del dominio de correo

  • Ahora generamos un script para importar los directorios Maildir

7.5.6.- Migración de Mailbox con Imapsync

Para migrar las cuentas de correo, todas las claves de usuario deben ser conocidas, si esto no es así cambiar las claves de todos los usuarios con una contraseña común y luego restaurar las contraseñas; si éstas se encuentran almacenadas en shadow, caso contrario asignar nuevas contraseñas a los usuarios.
Usaremos imapsync para la migración de servidor a servidor
Para la migración de clientes se crea la cuenta en el zimbra, luego se va máquina por máquina ydesde el programa cliente del usuario se copian los correos vía protocolo Imap al servidor Zimbra. Instalación de Imapsync

1 .- Instalar epel

2.- Instalar imapsync Creación archivo con lista de usuarios y contraseñas


  • Cambiar contraseñas Migrar de Google Apps

Verificar que este activado el IMAP en las cuentas de Google Apps

Migrate Google Apps to Zimbra

Automatizar el proceso con el script anterior

7.5.7.- Migración de contactos entre zimbra a zimbra

Para migrar los contactos de correos estos deben subirse al servidor por medio de curl.
Veremos un ejemplo de migración de contactos de un servidor Zimbra a otro Zimbra

7.5.8.- Migrar de Zimbra a Zimbra Migrar cuentas y contraseñas de Zimbra a Zimbra (funciona solo con los mismos dominios)

  • Copiar y ejecutar script en el servidor antiguo

  • Enter Domain Name (ex : :
    Enter path folder for exported account (ex : /home/vavai/) : /root

    • Esto ha generado los archivos

En el aula ejecutar

  • Enter Domain Name (ex : :
  • Enter path folder for exported account (ex : /home/vavai/) : /opt/zimbra/scripts
    • Esto ha generado los archivos

  • Copiar archivos al servidor nuevo y ejecutar script de importacion

7.5.9.- Migración de buzones con zmztozmig

  • Cambiar clave del administrador

  • **Configurar zmztozmig en el Servidor 1 **

Ejecutar el script de migración