Я хочу создать фактору, который возвращает всех пользователей.Как распечатать всех пользователей Linux с помощью Puppet и ruby?
Facter.add("sysusers") do
setcode do
File.readlines('/etc/passwd').each do |line|
line.match(/^[^:]+/)[0]
end
end
end
Тогда в моем .pp
файле у меня есть это:
$users = inline_template("<%= scope.lookupvar('sysusers') %>")
$users.each |String $user| {
notify { "$user":}
}
Это должно работать, но facter возвращается только одна буква в то время.
Так notify { "$user":}
просто печатает:
Notify[r]
Notify[o]
А потом craches, потому что следующая буква также «о» (два o`s в «корень» и корень заявил первый пользователь в/и т.д./пароль).
Итак, как я могу распечатать всех пользователей?
EDIT
С правкой:
Facter.add("sysusers") do
setcode do
File.readlines('/etc/passwd').each do |line|
line.match(/^[^:]+/).to_s
end
end
end
Тогда выход:
[email protected]]# facter sysusers
[
"root:x:0:0:root:/root:/bin/bash
",
"bin:x:1:1:bin:/bin:/usr/bin/nologin
",
"daemon:x:2:2:daemon:/:/usr/bin/nologin
...
...
Так что до сих пор, кажется, не работает, как expeced.
Спасибо, но это все еще не работает. Посмотрите, пожалуйста, мое редактирование. – Rox