是否可以使用Chef user
资源检索一些帐户详细信息?
我可以做例如
u = user 'myuser' do
action :manage
end
然后我想使用u.uid
或其他东西来检索用户的uid
。
这可能吗?怎么样?
答案 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