Todos os usuários no sistema são detectados automaticamente pelo ohai quando o Chef é executado e estão disponíveis no espaço do atributo node['etc']
. Os usuários são node['etc']['passwd']
. Você pode repetir isso como um hash. Você pode excluir "sistema" ou "pré-criado por pacotes" comparando se o ID numérico de um usuário está sobre o que está definido em seus sistemas /etc/login.defs UID_MIN.
Exemplo de uso em uma receita para criar um arquivo de configuração que você armazenou no livro de receitas, um arquivo diferente para cada usuário.
node['etc']['passwd'].each do |user, data|
if data['uid'].to_i > 1000
cookbook_file "#{data['dir']}/custom_config" do
source "#{user}_custom_config"
owner user
group data['gid']
mode 0644
end
end
end
Substitua "custom_config" por qualquer nome de configuração.