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

Can I retrieve account uid using Chef User resource?

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

举个例子我可以

u = user 'myuser' do
  action :manage
end

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

这可能吗?怎么样?

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

这棵树在 运行 开始由 ohai 填充,因此要更新它并能够访问 node['etc']['passwd']['myuser']['uid'] 您必须让 ohai 运行 etc 再次像这样插件(引自 ohai documentation:

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