在我正在处理的模块中,我需要检查机器上是否存在特定用户。这个想法是创建一个包含所有用户数组的自定义事实。在模块中,它应该遍历数组并检查特定用户是否是数组的一部分。
我的自定义事实:
Facter.add("users") do
setcode do
IO.readlines("/etc/passwd").collect do |line|
line.split(":").first
end
end
end
事实的输出是这样的字符串: ["user1", "user2", "user3"]
因为它只是一个字符串而不是数组,所以我无法在我的 puppet 模块中遍历它。
然后我尝试了
shell_split($::users).each |String $user| {
notify { "$user":}
}
但是现在,每个用户的用户名后面都包含一个逗号。
您有一个可行且更好的解决方案的想法吗?