User-Management

使用 Puppet 將文件部署到所有使用者的主目錄

  • October 17, 2011

我想使用 Puppet 將一個簡單的文本文件(一個 git 送出消息模板)部署到每個使用者的主目錄。

我遇到了這篇似乎非常接近的文章,但我不清楚的部分是如何為每個節點生成使用者列表?

在文章中,他們像這樣對使用者進行硬編碼:

applink::desktoplinks { [ "user1", "user2", "user3" ]: }

我無法對列表進行硬編碼,因為這些是開發人員機器,並且可能具有特定於每個節點的各種不同使用者。

這篇文章,我想我需要使用虛擬資源,但作為一個新手,僅僅通過閱讀文件和提供的範例,我似乎不太明白。

有人可以在某個地方指出一個快速範例或食譜來說明如何做到這一點嗎?

要生成使用者列表,您需要創建一個新事實來自將要配置的主機的任何資訊都必須是事實。

例如,以下事實返回整個/etc/passwd

# etcpasswd.rb

Facter.add("etcpasswd") do
       setcode do
               File.read('/etc/passwd')
       end
end

你把這個事實放在lib/facter模組的子目錄下,或者plugins/facter放在 Puppet 的基本目錄下。我認為您也需要pluginsync = truepuppet.conf但這可能僅適用於較舊的 Puppet 版本。

你可以在我的puppet users 模組上看到一個這樣的例子。

引用自:https://serverfault.com/questions/322255