TIPS – Zimbra poblando tabla de grupo de usuarios con correo nacional en cbpolicyd

Después de seguir los pasos del manual de nuestro colega y amigo Arian Molina @linuxcuba que nos ayuda a configurar cbpolicyd en Zimbra(link al final de este articulo) nos llega la ardua tarea de agregar todos los usuarios que solo van a tener correo nacional, aquí les dejo un atajo resultado de mi investigación como todo buen sysadmin perezoso que no quiere teclear todos los usuarios que tiene.

Lo que explico a continuación puede ayudarlos a llenar cualquier tabla del cbpolicyd de zimbra, en este caso voy a explicar como poblar la tabla policy_group_members , valido para cualquier otro grupo que creemos pero en este caso vamos a hacerlos con los miembros del grupo que va a tener acceso a correo nacional; esto hay que hacerlos desde el usuario zimbra asi que lo primero que vamos a hacer es usarlo

 Recomiendo que primero agreguen un usuario por al web como explica Arian en el manual porque así se va a generar el id de grupo de la política para los “g_nacionales”.

Editamos la base de datos de policyd sqlite3 /opt/zimbra/data/cbpolicyd/db/cbpolicyd.sqlitedb

Comandos útiles para trabajar con sqlite en linea de comandos.
  • .tables vemos las tablas que hay en la BD
  • .headers on habilitamos los headers de la tabla para la consulta “select”
  • .mode column para que los datos salgan en columnas

Con los comandos de headers y modo columna la consulta anterior devuelve algo parecido a la siguiente imagen:

Con el resultado que nos muestre aquí veremos el “PolicyGroupID” que necesitamos para crear la consulta.

Ejecutamos la consulta asumiendo que PolicyGroupID=3, y con disabled=0 es decir habilitados.

Finalmente vamos a tener todos los usuarios como miembro del grupo de policy que necesitamos y habilitados

Implementacion de cbpolicyd en zimbra 8.X

Saludos hasta un próximo articulo.

(Visited 270 times, 1 visits today)
Rafael L. Salgueiro
Sobre Rafael L. Salgueiro 8 Artículos
Administrador de redes y sistemas. Melómano, hedonista Usuario de GNU/Linux, Linux-User: #418573. Amante de las tecnologías en general.

14 Comentarios

  1. Buen articulo. estaba intentando seguir las recomendaciones y al usar esta instrucción 1
    select * from policy_group_members me devuelve solo …> ¿es posible me haya equivocado en algo?. Por otra parte se puede usar algún manager para verlo desde un entorno gráfico.

  2. Hola, Después de configurar policyd como explico para nacionales no deja enviar correos a los usuarios listados en g_nacionales, me devuelve este erros en policyd.log,
    [POLICIES] WARNING: [ID:4/Name:Default Internal]: No group members for source group ‘internal_ips’
    Que hice mal..

  3. Tambien estos errores.
    [POLICIES] WARNING: [ID:7/Name:p_nacionales_out]: No group members for destination group ‘dominio_cu’
    WARNING: [ID:6/Name:p_nacionales_in]: No group members for source group ‘dominio_cu’

  4. Si, lo he probado y funciona pero cuando el dominio es de primer nivel, ej. @dominio.cu , si funciona el (@*.cu) pero cuando es de segundo nivel como @dominio.ca.cu me devuelve ese error, teniendo en cuenta que en el grupo (g_nacionales) Los usuarios están con su dirección completa, ej. [email protected] e intentado interpretar las sintaxis sin logro alguno.

    • sigo pensando que tienes algún problema en la interpretación de las reglas por eso te recomendaba que revisaras el manual, revisa cosas como habilitar los usuarios, es extraño lo que te pasa con dominios de segundo nivel yo tengo dominios (dominio.co.cu) y la regla se les aplica sin problema con (@*.cu)

  5. No sé que pueda ser, quizás este dañado, lo cierto es que me interesa implementar este sistema, podrías poner en fotos las config defaul que trae policyd , main, groups, configure, y en helo, es donde veo config echas que el trae. Saludos.

  6. –En main tiene estas entradas–
    Default 0 Default System Policy no
    Default Outbound 10 Default Outbound System Policy no
    Default Inbound 10 Default Inbound System Policy no
    Default Internal 20 Default Internal System Policy no
    p_nacionales_in 25 Politica para entrada de correos nacionales no
    p_nacionales_out 25 Politica para salida de correo nacional no
    Test 50 Test policy no
    –en p_nacionales in–
    !%dominio_cu %g_nacionales no
    –en p_nacionales out–
    %g_nacionales !%dominio_cu no
    –lista de control de acceso–
    p_nacionales_in Entrada_Correo_Nacional REJEC
    p_nacionales_out Salida_Correo_Nacional REJECT

    Quizás esto te pueda ayudar a entender lo que explico.

    • Ahi es donde tienes el problema en el main deberias tener la lista de politicas asi(espero que funcione mawkdown)
      | Name |Priority| Description |Disabled|
      |—————-|——–|——————————————|——–|
      |Default | 0 |Default System Policy |no |
      |Default Outbound| 10 |Default Outbound System Policy |no |
      |Default Inbound | 10 |Default Inbound System Policy |no |
      |p_nacionales_in | 15 |Politica para salida de Correos Nacionales|no |
      |p_nacionales_out| 15 |Politica para Salida de Correos Nacionales|no |
      |p_oldMail_out | 15 |Politica de envio al dominio viejo |no |
      |Default Internal| 20 |Default Internal System Policy |no |
      |Test | 50 |Test policy |no |

  7. Rafael saludos, ya resolví, después de hora me di cuenta que era la versión que estaba usando, decidí instalarlo con la 8.7 y funciona a la perfección, de todas forma gracias.

  8. En el manual de las politicas se explica que esta solucion se aplica a zimbra 8.6 y 8.7, si tienes una version anterior te recomiendo que hagas un upgrade o que instales la ultima version estable en este momento 8.8 para la que tambien funciona la configuracion de la version 8.7

  9. Comentar que hice lo que dices en el articulo para agregar los usuarios y me daba un error y es pq en la consulta para insertarlos omitiste las “” en el miembro, la consulta deberia quedar asi

    insert into policy_group_members (PolicyGroupID,Member,Disabled) values (3,”[email protected]”,0);

Dejar una contestacion

Tu dirección de correo electrónico no será publicada.


*