Configuración de PICA

PICA tiene actualmente tres ficheros de configuración. Su sintaxis es parecida a la de los ficheros de DNS, por ser clara y legible. En uno especificamos algunos datos necesarios para el propio ejecutable de PICA, y en los otros dos especificamos las máquinas y los objetos que vamos a manejar, respectivamente. Los ficheros se llaman pica.conf, hosts.conf y objects.conf. Aunque no es importante para entender el funcionamiento general de PICA, sí es importante a la hora de usarlo saber que los ficheros se leen en ese orden.

A continuación mostramos tres ejemplos de ficheros de configuración comentados:

Example 3. Ejemplo de pica.conf

# pica.conf

defaults {
   # Directorios (locales) importantes para el ejecutable
   picaroot    = /var/lib/pica;
   picatmp     = /var/lib/pica/tmp;
   picasrc     = /var/lib/pica/src;
   picainclude = /var/lib/pica/include;

   # Rutas de algunos programas usados por PICA
   sshpath   = '/usr/bin/ssh -q';  # Ruta al ssh (y opciones)
   diffpath  = '/usr/bin/diff';
   tarpath   = '/bin/tar';
   rsyncpath = '/usr/bin/rsync';

   # Directorios protegidos (nunca se borrarán ni se cogerán como directorios
   # temporales)
   protecteddirs {
      /,
      /bin,
      /usr/bin,
      /lib,
      /usr/lib
   }
}
    

Example 4. Ejemplo de hosts.conf

# hosts.conf

# Valores por defecto
defaults {
   method      =  'tar';           # método de copia (tar, rsync or ssh)

   # Variables globales
   vars {
      docdir  = '/var/www/html/sysadm';
   }
}

# Definición de máquina
host myhost;

# Definición de grupo
hostgroup mygroup {
    members { myhost }
}
    

Example 5. Ejemplo de objects.conf

# objects.conf

# Inclusión de ficheros
#include <pifia.conf>

# Valores por defecto
defaults {
    uid = 0;
    gid = 0;
    perms = 644;
    verbatim = 0;
}

# Ficheros de prueba
file pica-rules {
    path = '<#$picaroot#>/rules';
    source = 'pica-rules';

    # Variables locales para el fichero
    vars {
       myvar         = 'foo';
       limit         = '2';
       mythirdvar    = 'enough';
    }
}

# Ficheros de autentificación RSA con SSH
group sshauth {
   file auth_keys {
      source = 'SSHAuth/authorized_keys';
      path   = '/root/.ssh/authorized_keys';
      perms  = '600';
   }
   file auth_keys2 {
      source = 'SSHAuth/authorized_keys2';
      path   = '/root/.ssh/authorized_keys2';
      perms  = '600';
   }
}