Copiar ficheros de configuración a /etc/skel y replicar en directorios home mediante puppet | Algo de Linux

martes, 16 de junio de 2015

Copiar ficheros de configuración a /etc/skel y replicar en directorios home mediante puppet

Es interesante poder añadir ficheros de configuración para nuevos usuarios mediante puppet en /etc/skel, para que cuando se cree un nuevo usuario, se le apliquen las nuevas configuraciones, pero tan importante como ésto es aplicar también las nuevas configuraciones a los usuarios ya creados.

Del mismo modo que en el post anterior, la parte de añadir ficheros de configuración en /etc/skel es trivial:
file { "/etc/skel/.config/plank/dock1/settings":
       source => "puppet:///puppet-plank-sync-portatiles/settings",
       owner => root, group => root, mode => 644,
}
Lo que no resulta tan trivial es colocar la misma configuración en los directorios home de los usuarios. No obstante, si utilizamos el comando find en un recurso exec y lo relacionamos con el recurso file, la cosa no resulta tan complicada:
file { "/etc/skel/.config/plank/dock1/settings":
       source => "puppet:///puppet-plank-sync-portatiles/settings",
       owner => root, group => root, mode => 644,
       notify => Exec['sincroniza-ajustes-plank-user']
}

exec { 'sincroniza-ajustes-plank-user':
       command => '/usr/bin/find /home/ -type d -path "*.config/plank/dock1" -exec cp /etc/skel/.config/plank/dock1/settings {} \;',
       subscribe => File ['/etc/skel/.config/plank/dock1/settings'],
       refreshonly => true
}
De este modo, estamos colocando el fichero settings en el directorio /etc/skel/.config/plank/dock1, y, siempre que se modifique, lo copiamos a los directorios home de los usuarios.
Publicado por primera vez en http://enavas.blogspot.com.es

No hay comentarios: