if details[:status]
group_members = details[:members] || account["members"] || []
- user_home = details[:home] || account["home"] || "#{node[:accounts][:home]}/#{name.to_s}"
+ user_home = details[:home] || account["home"] || "#{node[:accounts][:home]}/#{name}"
manage_home = details[:manage_home] || account["manage_home"] || node[:accounts][:manage_home]
- groups = details[:groups] || account["groups"] || []
- group_members = group_members.collect { |m| m.to_s }.sort
+ group_members = group_members.collect(&:to_s).sort
case details[:status]
when "role"
- user_shell = "/sbin/nologin"
+ user_shell = "/usr/sbin/nologin"
when "user", "administrator"
user_shell = details[:shell] || account["shell"] || node[:accounts][:shell]
end
supports :manage_home => manage_home
end
- remote_directory user_home do
+ remote_directory "/home/#{name}" do
+ path user_home
source name.to_s
owner name.to_s
group name.to_s
begin
cookbook = run_context.cookbook_collection[cookbook_name]
files = cookbook.relative_filenames_in_preferred_directory(node, :files, name.to_s)
- not files.empty?
+ !files.empty?
rescue Chef::Exceptions::FileNotFound
false
end
end
end
-node[:accounts][:groups].each do |name,details|
+node[:accounts][:groups].each do |name, details|
group name do
action :modify
members details[:members]