我可以使用 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
是否可以使用 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