我可以使用Chef User资源检索帐户uid吗?

时间:2015-09-23 13:54:47

标签: chef

是否可以使用Chef user资源检索一些帐户详细信息?

我可以做例如

u = user 'myuser' do
  action :manage
end

然后我想使用u.uid或其他东西来检索用户的uid

这可能吗?怎么样?

1 个答案:

答案 0 :(得分:1)

Chef将所有用户存储在密钥etc下的节点对象中。

此树在运行开始时由ohai填充,因此要更新它并且能够访问node['etc']['passwd']['myuser']['uid'],您必须要求ohai再次运行etc插件(引自{{{ 3}}:

ohai 'reload_passwd' do
  action :nothing
  plugin 'etc'
end

user 'daemonuser' do
  home '/dev/null'
  shell '/sbin/nologin'
  system true
  notifies :reload, 'ohai[reload_passwd]', :immediately
end

ruby_block 'just an example' do
  block do
    # These variables will now have the new values
    puts node['etc']['passwd']['daemonuser']['uid']
    puts node['etc']['passwd']['daemonuser']['gid']
  end
end