Debe introducir al menos 3 caracteres en el buscador.
Inicio / Wikis / Tutoriales / Guía de Administración de Redes con Linux - Interpretación de las Reglas de Escritura - Reescritura

Guía de Administración de Redes con Linux - Interpretación de las Reglas de Escritura - Reescritura

 ****- (23 opiniones)
GNU Free Documentation License Tutorial de Olaf Kirch y Terry Dawson - 14 de Febrero de 2006
Temas Relacionados: Administración de redes
148. Interpretación de las Reglas de Escritura - Reescritura
Es argumentable que la característica más poderosa de sendmail es la regla de reescritura. Las reglas de reescritura son usadas por sendmail para determinar cómo procesar un manseje de correo recibido. sendmail pasa las direcciones desde las cabeceras de un mensaje de correo a través de colecciones de reglas de reescritura llamadas conjuntos de reglas. Las reglas de reescritura transforman una dirección de correo de una forma a otra y puede pensar en ellas como algo similar a una orden en su editor que reemplaza todo el texto que encaje en un patrón especificado con otro.

Cada regla tiene un lado izquierdo y un lado derecho, separados por al menos un carácter de tabulación. Cuando sendmail está procesando correo, busca a través de las reglas de reescritura intentando encontrar una coincidencia con el lado izquierdo. Si una dirección coincide con una de las reglas del lado izquierdo, la dirección es reemplazada por la del lado derecho y es procesada de nuevo.


En el fichero sendmail.cf, los conjuntos de reglas son definidos usando órdenes codificadas como Sn, donde n especifica el conjunto de reglas que se considera el actual.

Las reglas por sí mismas aparecen en órdenes codificadas como R. Cuando cada orden R es leída , se añade al conjunto de reglas actual.

Si está tratando sólo con el fichero sendmail.mc, no necesita preocuparse acerca de las órdenes S para nada, ya que las macros construirán éstas por usted. Necesitará codificar manualmente las reglas R.

Un conjunto de reglas de sendmail entonces tiene la siguiente apariencia:

|| Sn Rlhs rhs Rlhs2 rhs2 ||


sendmail utiliza internamente unas cuantas definiciones de macro estandarizadas. Las más útiles de éstas en la escritura de conjuntos de reglas son:

$j

El nombre completamente cualificado de este anfitrión (FQDN).

$w

El componente del anfitrión del FQDN.

$m

El componente del dominio del FQDN.

Podemos incorporar estas definiciones de macros en nuestras propias reglas de reescritura. Nuestra configuración de la Cervecera Virtual utiliza la macro $m.


A la izquierda de una regla de reescritura, hay que especificar un patrón que coincida con una dirección que desee transformar. La mayoría de los caracteres se les hace coincidir literalmente, pero hay un número de caracteres que tienen significado especial; estos se describen en la lista siguiente. Las reglas de reescritura para el lado izquierdo son:

$@

Coinciden exactamente cero símbolos

$*

Coinciden cero o más símbolos

$+

Coincide uno o más símbolos

$-

Coincide exactamente un símbolo

$=x

Coindice cualquier frase en la clase x

$~x

Coincide con cualquier palabra que no esté en la clase x

Un símbolo es una tira de caracteres delimitados por espacios. No hay manera de incluir espacios en un símbolo, o no es necesario como los patrones de expresiones son suficientemente flexibles para atajar esta necesidad. Cuando una regla coincide con una dirección, el texto que coincide con cada uno de los patrones en la expresión será asignado a variables especiales que se usarán en la parte derecha. La única excepción a esto es con el literal $@, que no coincide con ningún símbolo y entonces nunca generará texto para ser usado en el lado derecho.


Cuando el lado izquierdo de una regla de reescritura coincide con una direción, el texto original se borra y se reemplaza por lo que haya en el lado derecho de la regla. Todos los símbolos en el lado derecho son copiados literalmente , a no ser que comiencen por el signo del dólar. De la misma manera que en el lado izquierdo, unos cuantos metasímbolos pueden usarse en el lado derecho. Estos son descritos en la siguiente lista. Las reglas de reescritura para el lado derecho son:

$n

Este metasímbolo es reemplazado por la expresión nésima del lado izquierdo.

$[nombre$]

Este metasímbolo resuelve el nombre del anfitrión a nombre canónico. Es reemplazado por la forma canónica del nombre del anfitrión suministrado.

$(map_clave $@argum $:omisión $)

Esta es la forma más general de búsqueda. La salida es un resultado de mirar la clave en el mapa nombrado map pasándole argum como argumentos. El mapa puede ser cualquiera de los mapas que sendmail soporta como el virtusertable que describimos un poco más tarde. Si la búsqueda es infructuosa, por omisión será la salida. Si no se suministra nada por omisión y la búsqueda falla, la entrada no se altera y la clave es la salida.

$>n

Esto hará que el resto de esta lína sea analizada y entonces dada al conjunto de reglas n para ser evaluada. La salida del conjunto de reglas llamado se escribirá como salida a esta regla. Éste es el mecanismo que permite a las reglas invocar otras reglas.

$#mailer

Este metasímbolo hace que la evaluación del conjunto de reglas se detenga y especifica el transporte que deberá usarse para transportar este mensaje en el siguiente paso de su entrega. Este metasímbolo debería ser llamado sólo desde el conjunto de reglas 0 o una de sus subrutinas. Esta es la parte final del análisis de direcciones y debería ser acompañado de los dos siguientes metasímbolos.

$@host

Este metasímbolo especifica el anfitrión al que este mensaje será reenviado. Si el anfitrión destinatario es el anfitrión local, puede omitirse. El host puede ser una lista de anfitriones de destino separada por dos puntos (:) que a los que se intentará entregar el mensaje en secuencia.

$:user

Este metasímbolo especifica el usuario destinatario para el mensaje de correo.

Una regla de reescritura que coincide se intenta repetidamente hasta que falla una coincidencia, entonces el análisis continúa en la sigiente regla. Este comportamiento puede cambiarse precediendo el lado derecho con uno de dos metasímbolos especiales descritos en la siguiente lista. Las reglas de reescritura para el control del bucle del lado derecho son:

$@

Este metasímbolo causa que el conjunto de regles retorne con el resto del lado derecho como el valor. Ninguna otra regla del conjunto se evalúa.

$:

Este metasímbolo causa que esta regla finalice inmediatamente, pero el resto del conjunto de reglas actual es evaluado.

Un Ejemplo de Patrón de Reglas Sencillo


Para ver mejor cómo funcionan las macros de sustitución de patrones, considere la siguiente regla de lado izquierdo:

|| $* < $+ > ||

Esta regla coincide con “Cero o más símbolos, seguidos por el carácter <, seguidas a su vez por una o más símbolos, seguidos por el carácter >. ”

Si esta regla fuese aplicada a brewer@vbrew.com o Head Brewer < >, la regla no coincidiría. La primera cadena no coincidiría porque no incluye el carácter <, y la segunda fallaría porque $+ coincide con uno o más símbolos y no hay símbolos entre los caracteres <>. En cualquier caso en que una regla co coincida, el lado derecho de la regla no se usa.

Si la regla fuera aplicada a Head Brewer < brewer@vbrew.com >, la regla coincidiría, y en el lado derecho $1 sería sustituido por Head Brewer y $2 sería sustituido por brewer@vbrew.com.

Si la regla fuese aplicada a < brewer@vbrew.com > la regla coincidiría porque $* coincide con cero o más símbolos, y en el lado derecho $1 podría ser sustituido por la cadena vacía.


Cada uno de los conjuntos de reglas de sendmail se les llama para realizar una tarea distinta en el procesado del correo. Cuando se están escribiendo reglas, es importante entender qué se espera que cada uno de los conjuntos de reglas haga. Vamos a echar un vistazo a cada uno de los conjuntos de reglas que los guiones de configuración m4 nos permiten modificar:

LOCAL_RULE_3

El conjunto 3 es responsable de convertir una dirección en un formato arbitrario en un formato común quesendmail procesará. El formato de salida esperado es el aspecto familiar parte-local@especificación-anfitrión-dominio.

El conjunto 3 debería poner la parte del nombre del anfitrión de la dirección convertida entre los caracteres < y > para hacer el análisis de las siguientes reglas más fácil. El conjunto de reglas 3 se aplica antes que sendmail haga cualquier otro procesamiento de una dirección de correo, así que si quiere que sendmail haga de pasarela de correo desde algún sistema que utilice algún formato de dirección poco usual, se debería añadir una regla usando la macro LOCAL_RULE_3 para convertir direcciones en el formato común.

LOCAL_RULE_0 y LOCAL_NET_CONFIG

El conjunto 0 se aplica por sendmail a las direcciones del destinatario tras el conjunto de reglas 3. La macro LOCAL_NET_CONFIG provoca que las reglas sean introducidas en la mitad inferior del conjunto 0.

El conjunto 0 se espera que realice la entrega del mensaje al destinatario, así que debe resolver un triplete que especifica el correo, el anfitrión y el usuario. Las reglas serán colocadas antes de cualquier definición de anfitrión inteligente que quiera incluir, así que si añade reglas que resuelvan direcciones apropiadamente cualquier dirección que coincida con una regla no será tratada por el anfitrión inteligente. Así es como tratamos los smtp directos para los usuarios de nuestra red local en nuestro ejemplo.

LOCAL_RULE_1 y LOCAL_RULE_2

El conjunto 1 se aplica a todas las direcciones de remite y el conjunto 2 de aplica a todas las direcciones de destino. Ambos están normalmente vacíos.


Nuestro ejemplo en Ejemplo 18-3 usa la macro LOCAL_NET_CONFIG para declarar una regla local que asegure que cualquier correo dentro de nuestro dominio se entregue directamente usando el transporte de correo smtp. Ahora que sabe cómo se construyen las reglas de reescritura, es capaz de entender cómo funciona esta regla. Echémosle un vistazo.



Sabemos que la macro LOCAL_NET_CONFIG hará que la regla se introduzca en algún lugar cerca del final del conjunto de reglas 0, pero antes de cualquier definición del anfitrión inteligente. Sabemos también que el conjunto 0 es el último conjunto en ser ejecutado y que debería resolver un triplete especificando transporte de correo, usuario y anfitrión.

Podemos ignorar las dos líneas de comentariso; no hacen nada útil. La regla en sí misma es la línea que comienza con R. Sabemos que la R es una instrucción de sendmail y que añade esta regla al conjunto de reglas actual, en este caso el conjunto . Miremos al lado izquierdo y al lado derecho que devuelve.

El lado izquierdo es como éste: $* < @ $* .$m. > $*.

El conjunto 0 espera los caracteres < y > porque es alimentado por el conjunto 3. El conjunto 3 convierte direcciones en una forma común y para hacer el análisis más fácil, coloca la parte del anfitrión de la dirección de correo entre < y >.

Esta regla coincide con cualquier dirección que parecezca como: 'UsuarioDestino < @ cualquieranfitrión.nuestrodominio. > Algún Texto'. Esto es, coincide con el correo de cualquier usuario y de cualquier anfitrión dentro de nuestro dominio.

Recordará que el texto que coincide con los metasímbolos en el lado izquierdo de una regla de reescritura se asigna a definiciones de macro para su uso en el lado derecho. En nuestro ejemplo, el primer $* coincide con todo el texto desde el inicio de la dirección hasta el carácter <. Todo este texto se asigna al $1 para su uso en el lado derecho. Similarmente, el segundo $* en nuestra regla de reescritura se asigna a $2, y el último se asigna a $3.

Ahora tenemos suficiente para entender el lado izquierdo. Esta regla coincide con el correo de cualquier usuario en cualquier anfitrión dentro de nuestro dominio. Asigna el nombre de usuario a $1, el nombre del anfitrión a $2, y cualquier texto subsiguiente a $3. El lado derecho se invoca entonces para procesar éstos.

Echemos un vistazo a aquello que estamos esperando ver a la salida. El lado derecho de nuestra regla de reescritura de ejemplo es semejante a: $#smtp $@ $2.$m. $: $1 < @ $2.$m. > $3.

Cuando la regla del lado derecho de nuestro conjunto de reglas se procesa, se interpreta cada uno de los metasímbolos y se realizan las sustituciones correspondientes.

El metasímbolo $# hace que esta regla resuelva un transporte específico, smtp en nuestro caso.

El $@ resuelve el anfitrión objetivo. En nuestro ejemplo, el anfitrión objetivo se especifica como $2.$m., el cual es el nombre completamente cualificado del anfitrión en nuestro dominio. El NDCC se construye con el componente del nombre del anfitrión asignado a $2 desde nuestro lado izquierdo con nuestro nombre de dominio (.$m.) concatenado.

El metasímbolo $: especifica el usuario objetivo, el cual se captura otra vez del lado izquierdo y se almacena en $1.

Preservamos los contenidos de la sección <> y cualquier texto acompañante, usando los datos que recogimos desde el lado izquierdo de la regla.

Debido a que esta regla resuelve a un transporte de correo, el mensaje es reenviado al transporte para su entrega. En nuestro exemplo, el mensaje sería reenviado al anfitrión de destino usando el protocolo SMTP.
Tabla de contenidos
  1. 1 - Prefacio
  2. 2 - Fuentes de información
  3. 3 - Estandares de Sistemas de Ficheros
  4. 4 - Estandar del Sistema Basico Linux
  5. 5 - Acerca de este Libro
  6. 6 - La Versión Oficial Impresa
  7. 7 - Envío de Cambios
  8. 8 - Agradecimientos
  9. 9 - La traducción al español
  10. 10 - Historia del trabajo en redes
  11. 11 - Redes TCP/IP
  12. 12 - Redes UUCP
  13. 13 - Redes con GNU/Linux
  14. 14 - Mantenimiento del Sistema
  15. 15 - Interfaces de red
  16. 16 - Direcciones IP
  17. 17 - Resolución de direcciones
  18. 18 - Encaminamiento IP
  19. 19 - El Internet Control Message Protocol
  20. 20 - Resolución de nombres de puesto
  21. 21 - Configuración del hardware de red
  22. 22 - Configuracion del núcleo
  23. 23 - Un vistazo a los dispositivos de red de Linux
  24. 24 - Instalación de una Ethernet
  25. 25 - El controlador PLIP
  26. 26 - Los controladores PPP y SLIP
  27. 27 - Otros tipos de redes
  28. 28 - Configuración del Hardware Serie
  29. 29 - Software de Comunicaciones para Enlaces con Módem
  30. 30 - Introducción a los Dispositivos Serie
  31. 31 - Acceso a Dispositivos Serie
  32. 32 - Hardware Serie
  33. 33 - Uso de las Utilidades de Configuración
  34. 34 - Dispositivos Serie y el Indicador login: (ingreso)
  35. 35 - Configuración del Protocolo TCP/IP
  36. 36 - Montando el Sistema de Ficheros /proc
  37. 37 - Instalación de los ejecutables
  38. 38 - Establecimiento del Nombre de la Maquina
  39. 39 - Asignación de una dirección IP
  40. 40 - Creación de Subredes
  41. 41 - Preparación de los ficheros hosts y networks
  42. 42 - Interfaz Configuración de la Interfaz para IP
  43. 43 - Todo sobre ifconfig
  44. 44 - La orden netstat
  45. 45 - Comprobación de las tablas ARP
  46. 46 - El servicio de nombres y su configuración
  47. 47 - La biblioteca de resolución
  48. 48 - Cómo funciona el DNS
  49. 49 - Ejecución de named (I)
  50. 50 - Ejecución de named (II)
  51. 51 - Ejecución de named (III)
  52. 52 - SLIP: IP por línea serie
  53. 53 - Requerimientos Generales para SLIP o PPP
  54. 54 - Operación de SLIP
  55. 55 - Trabajando con direcciones de red IP privadas
  56. 56 - Usando dip
  57. 57 - Funcionamiento en modo Servidor
  58. 58 - El Protocolo Punto-a-Punto
  59. 59 - PPP en Linux
  60. 60 - Ejecutando pppd
  61. 61 - Usando los Ficheros de Opciones
  62. 62 - Realización de la Llamada con chat
  63. 63 - Opciones de Configuración IP
  64. 64 - Opciones de Control de Enlace
  65. 65 - Consideraciones de Seguridad General
  66. 66 - Autentificación con PPP
  67. 67 - Depurando su configuración de PPP
  68. 68 - Configuraciones avanzadas de PPP
  69. 69 - Cortafuegos de TCP/IP
  70. 70 - Métodos de ataque
  71. 71 - ¿Qué es un cortafuegos?
  72. 72 - ¿Qué es el filtrado de IP?
  73. 73 - Configuración de Linux como cortafuegos
  74. 74 - Las tres formas posibles de filtrado
  75. 75 - El cortafuegos original de IP (núcleos 2.0)
  76. 76 - Cortafuegos 'IP Chains' (núcleos 2.2) (I)
  77. 77 - Cortafuegos 'IP Chains' (núcleos 2.2) (II)
  78. 78 - Netfilter e 'IP Tables' (Núcleos 2.4)
  79. 79 - Manipulación de los bits de TOS
  80. 80 - Comprobación de una configuración del cortafuegos
  81. 81 - Un ejemplo de configuración del cortafuegos
  82. 82 - Contabilidad IP
  83. 83 - Configurando el núcleo para contabilidad IP
  84. 84 - Configurando Contabilidad IP
  85. 85 - Utilizando los resultados de contabilidad IP
  86. 86 - Restableciendo contadores
  87. 87 - Vaciando las reglas
  88. 88 - Colección pasiva de datos de contabilidad
  89. 89 - Enmascaramiento IP yTraducción de Direcciones de Red
  90. 90 - Efectos Laterales y Beneficios Accesorios
  91. 91 - Configuración del Núcleopara enmascaramiento IP
  92. 92 - Configuración del enmascaramiento IP
  93. 93 - Manipulación del Servicio de Nombres
  94. 94 - Mas sobre la traducción de direcciones de red
  95. 95 - Características Importantesde Redes
  96. 96 - El Super Servidor inetd
  97. 97 - La Facilidad de Control de Acceso tcpd
  98. 98 - Los Ficheros de Servicios Y Protocolos
  99. 99 - Llamada a Procedimiento Remoto
  1. 100 - Configurando el Registro y Ejecución Remotos
  2. 101 - El Sistema de Información de Red (NIS)
  3. 102 - Familiarizandose con NIS
  4. 103 - NIS Versus NIS+
  5. 104 - La Parte Cliente en NIS
  6. 105 - Ejecutando un Servidor NIS
  7. 106 - Seguridad en el Servidor NIS
  8. 107 - Configurando un Cliente NIS con la libc de GNU
  9. 108 - Escogiendo los Mapas Correctos
  10. 109 - Utilizando los Mapas passwd y group
  11. 110 - Usando NIS con Soporte de Contraseñas Ocultas
  12. 111 - El Sistema de Ficherosde Red
  13. 112 - Preparando NFS
  14. 113 - Montando un Volumen NFS
  15. 114 - Los Demonios NFS
  16. 115 - El Fichero exports
  17. 116 - Soporte para NFSv2 Basado en Núcleo
  18. 117 - Soporte para NFSv2 Basado en Núcleo
  19. 118 - IPX y el Sistema de Ficheros NCP
  20. 119 - Xerox, Novell, e Historia
  21. 120 - IPX y Linux
  22. 121 - Configurando el núcleo para IPX y NCPFS
  23. 122 - Configurando las interfaces IPX
  24. 123 - Configurando un Encaminador IPX
  25. 124 - Montando un Volumen NetWare Remoto
  26. 125 - Explorando Algunas de las Otras Herramientas IPX
  27. 126 - Imprimiendo en una Cola de Impresión NetWare
  28. 127 - Emulación del Servidor NetWare
  29. 128 - Administración deTaylor UUCP
  30. 129 - Transferencias UUCP y ejecución remota
  31. 130 - Ficheros de configuración de UUCP (I)
  32. 131 - Ficheros de configuración de UUCP (II)
  33. 132 - Controlar el acceso a las prestaciones de UUCP
  34. 133 - Configuración de su sistema para recibir llamadas
  35. 134 - Protocolos UUCP de bajo nivel
  36. 135 - Resolución de problemas
  37. 136 - Ficheros de registro y depuración
  38. 137 - Correo Electrónico
  39. 138 - ¿Qué es un mensaje de correo?
  40. 139 - ¿Cómo se reparte el correo?
  41. 140 - Direcciones de correo electrónico
  42. 141 - ¿Cómo funciona el encaminamiento del correo?
  43. 142 - como configurar elm
  44. 143 - Sendmail
  45. 144 - Instalando Sendmail
  46. 145 - Un Vistazo a los Ficheros de Configuración
  47. 146 - Los Ficheros sendmail.cf y sendmail.mc
  48. 147 - Generando el Fichero sendmail.cf
  49. 148 - Interpretación de las Reglas de Escritura - Reescritura
  50. 149 - Configuración de las Opciones de Sendmail
  51. 150 - Algunas configuraciones útiles para Sendmail
  52. 151 - Probando la Configuración
  53. 152 - Ejecución de Sendmail
  54. 153 - Pistas y Trucos
  55. 154 - Poner Exim en marcha
  56. 155 - Ejecución de Exim
  57. 156 - Si el correo no llega a su destino
  58. 157 - Compilar Exim
  59. 158 - Modos de Envío de Correo
  60. 159 - Otras opciones de configuración
  61. 160 - Encaminamiento y envío de mensajes
  62. 161 - Protegerse contra el "spam"
  63. 162 - Instalación UUCP
  64. 163 - Noticias
  65. 164 - Historia de Usenet
  66. 165 - Pero, ¿qué es Usenet después de todo?
  67. 166 - ¿Cómo maneja Usenet las noticias?
  68. 167 - C-News
  69. 168 - Enviando noticias
  70. 169 - Instalación
  71. 170 - El fichero sys
  72. 171 - El Fichero active
  73. 172 - Procesar Artículos por Lotes
  74. 173 - Caducando Noticias
  75. 174 - Ficheros Diversos
  76. 175 - Mensajes de Control
  77. 176 - C-News en un Entorno NFS
  78. 177 - Herramientas y Tareas de Mantenimiento
  79. 178 - NNTP y el Demonio nntpd
  80. 179 - El Protocolo NNTP
  81. 180 - Instalar el servidor NNTP
  82. 181 - Restringir el acceso con NNTP
  83. 182 - Autorización NNTP
  84. 183 - Interacción de nntpd con C News
  85. 184 - Noticias de Internet
  86. 185 - Algunos aspectos internos de INN
  87. 186 - INN y los lectores de noticias
  88. 187 - Instalación de INN
  89. 188 - Configuración de INN: Configuración Basica
  90. 189 - INN: Ficheros de Configuración (I)
  91. 190 - INN: Ficheros de Configuración (II)
  92. 191 - Activación de INN
  93. 192 - Uso de INN: El programa ctlinnd
  94. 193 - Configuración del lector de noticias
  95. 194 - Configuración de tin
  96. 195 - Configuración de trn
  97. 196 - Configuración de nn
  98. 197 - Apéndice A. Red de ejemplo:La Cervecera Virtual
  99. 198 - Apéndice B. Configuraciones de cableado útiles
Autor y licencia de 'Guía de Administración de Redes con Linux - Interpretación de las Reglas de Escritura - Reescritura'
Olaf Kirch y Terry Dawson Extraído de: http://es.tldp.org/Manuales-LuCAS/GARL2/garl2/ GNU Free Documentation License
Licencia GNU Free Documentation License: http://www.es.gnu.org/licencias/fdles.html
Este contenido ha sido recopilado por el equipo de Wikilearning. Todo el contenido recopilado se ha obtenido respetando y comunicando en nuestro site la licencia de cada fuente.
Wikilearning tiene permiso expreso por escrito de los autores para publicar los contenidos que ha extraído de otras webs, incluyendo su uso comercial.

Wikis relacionados con 'Guía de Administración de Redes con Linux - Interpretación de las Reglas de Escritura - Reescritura'

Este Cómo es la base para entender la evolución de las capacidades de Linux para... Más »
A lo largo de este trabajo se va a intentar hacer un repaso de los... Más »
Entre la diversidad y riqueza de la escritura de Cristina Peri Rossi, escritora uruguaya nacida... Más »
Quisiera por lo tanto partir ahora de un conjunto de apuntes generales, de una veloz... Más »
En este documento se presenta la información acerca de la instalación, configuración, ejecución y mantenimiento... Más »
Gente Wiki
Marcelo Cáceres
Historiador profesional, dedicado a los temas de historia militar, sociedad colonial en hispanoamerica, conservación de patrimonio y reconstrucción virtual.
Wilbert Jeens Trujillo
Comunicador social, docente investigador, manejo de áreas audiovisuales, diseño grafico, multimedia, asesor en nuevas tecnologías, padre de familia,...
Medios online, Periodismo científico,...
Cmdte. Gabriel Maldonado Ayala
Especialista en seguridad industrial, seguridad patrimonial y seguridad compleja. Asesor y capacitador de personal en protecion a funcionarios.
Bob Edd
Soy sub-director general de pro-plan en americá. Me encantan los doberman y en general todos los perros, soy amante de la...
Fabian
Hola a todos. Soy analista de sistemas, docente y estudiante de la licenciatura en sistemas de la univ. Nac. De...
Pedagogía
Sandra Viviana
Soy editora lider del portal www.comunikandonos.com una página de comunicación organizacional y relaciones públicas. Busco personas interesadas en el tema...
Gabinetes de prensa, Gestión de medios de comunicación,...
Suscribirse
¿Estás seguro de que deseas eliminar este capítulo?