Solange dies ist * nichts, dann können Sie eine benutzerdefinierte Tatsache, fügen Sie die Home-Verzeichnisse auf einem System zusammenzustellen. Ich schlage vor, es homedirs.rb
zu nennen, wenn Sie es innerhalb des lib/facter/
Verzeichnisses des Moduls erstellen.
# collect home directories
Facter.add(:homedirs) do
setcode do
# grab home directories on system and convert into array
`ls /home`.split("\n")
end
end
Wenn Sie dies für alle Nicht-Windows können Sie eine hinzu:
unless Facter.value(:kernel) == 'Windows'
um den Code-Block, oder es bleiben nur noch Linux mit:
confine kernel: linux
über die setcode
.
Anschließend können Sie ein Lambda verwenden, um dieses Faktarray zu durchlaufen und die Dateiressource anzuwenden.
# iterate through homedirs in fact array
$facts['homedirs'].each |$homedir| {
# copy file to home directory
file { "/home/$homedir/filename":
ensure => file,
source => puppet:///filename,
}
}
ich auch dort ein paar Probleme mit Ihrer file
Ressource festgelegt werden.
Einige hilfreiche doc Links Bei jedem dieser ist verwirrend:
https://docs.puppet.com/puppet/latest/type.html#file https://docs.puppet.com/facter/3.6/custom_facts.html#adding-custom-facts-to-facter https://docs.puppet.com/puppet/4.9/function.html#each
Ja, aber Sie müssen entscheiden, ob die Benutzer auf diesem Server zum Zeitpunkt der bekannt oder unbekannt sein sollte Konfigurationsanwendung. Welches wird es sein? –
@MattSchuchard meinst du, ob ich weiß, wie der Benutzername sein wird? Wenn dem so ist, werde ich den Namen nicht im Voraus wissen. –