有没有什么办法来枚举Puppet中的一个组内的所有用户数组,作为一个事实或东西,所以我可以做这样的事情?
$users = enumusers('wheel') each($users) |$user| { dostuff{"stuff:$user": user=>$user } }
用户通过LDAP进行pipe理,但是我可以让PuppetselectLDAP用户并使其一致。
这种kludgy,但你可以有一个外部的事实发生器,枚举所有的用户,并为每个用户创build一个user_USERNAME事实。 你可以在你的Puppet清单中的条件语句中使用它:
if $user_lars { file { '/home/lars': ensure => directory, owner => lars, group => lars, mode => 0700, } }
写外部事实很简单, 你可以使用任何你喜欢的语言,它可以像下面这样简单:
#!/bin/sh getent passwd | cut -f1 -d:
…取决于你的环境。
你知道,看着这让我感到内疚,但这是我现在所能想到的最好的。