X-Git-Url: https://git.openstreetmap.org./chef.git/blobdiff_plain/3a4d52bd4c0f8e6ae7679145846b7bc7845d8ace..c0d36445d65eacdd7dc9b3cae88ab5b5f59c842c:/cookbooks/accounts/recipes/default.rb?ds=inline diff --git a/cookbooks/accounts/recipes/default.rb b/cookbooks/accounts/recipes/default.rb index bdb01eb9e..b0110cf3c 100644 --- a/cookbooks/accounts/recipes/default.rb +++ b/cookbooks/accounts/recipes/default.rb @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # # Cookbook Name:: accounts # Recipe:: default @@ -18,9 +17,7 @@ # limitations under the License. # -package "zsh" do - action :install -end +package "zsh" administrators = [] @@ -31,7 +28,7 @@ search(:accounts, "*:*").each do |account| if details[:status] group_members = details[:members] || account["members"] || [] user_home = details[:home] || account["home"] || "#{node[:accounts][:home]}/#{name}" - manage_home = details[:manage_home] || account["manage_home"] || node[:accounts][:manage_home] + manage_user_home = details.fetch(:manage_home, account.fetch("manage_home", node[:accounts][:manage_home])) group_members = group_members.collect(&:to_s).sort @@ -43,19 +40,17 @@ search(:accounts, "*:*").each do |account| end group name.to_s do - action :create gid account["uid"].to_i members group_members & node[:etc][:passwd].keys end user name.to_s do - action :create uid account["uid"].to_i gid account["uid"].to_i comment account["comment"] if account["comment"] home user_home shell user_shell - supports :manage_home => manage_home + manage_home manage_user_home end remote_directory "/home/#{name}" do @@ -63,10 +58,10 @@ search(:accounts, "*:*").each do |account| source name.to_s owner name.to_s group name.to_s - mode 0755 + mode 0o755 files_owner name.to_s files_group name.to_s - files_mode 0644 + files_mode 0o644 only_if do begin cookbook = run_context.cookbook_collection[cookbook_name] @@ -78,9 +73,7 @@ search(:accounts, "*:*").each do |account| end end - if details[:status] == "administrator" - administrators.push(name.to_s) - end + administrators.push(name.to_s) if details[:status] == "administrator" else user name.to_s do action :remove