X-Git-Url: https://git.openstreetmap.org./chef.git/blobdiff_plain/77c76717bfc26fe7ba1641244164bc1cb5c38429..ac4c98fd9572dc03e5d883710f2ee5443dd3aee7:/cookbooks/accounts/recipes/default.rb diff --git a/cookbooks/accounts/recipes/default.rb b/cookbooks/accounts/recipes/default.rb index feb57a5e9..fa7dc2814 100644 --- a/cookbooks/accounts/recipes/default.rb +++ b/cookbooks/accounts/recipes/default.rb @@ -1,14 +1,14 @@ # -# Cookbook Name:: accounts +# Cookbook:: accounts # Recipe:: default # -# Copyright 2010, OpenStreetMap Foundation +# Copyright:: 2010, OpenStreetMap Foundation # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, @@ -17,9 +17,7 @@ # limitations under the License. # -package "zsh" do - action :install -end +package "zsh" administrators = [] @@ -41,9 +39,15 @@ search(:accounts, "*:*").each do |account| user_shell = details[:shell] || account["shell"] || node[:accounts][:shell] end + available_users = if node[:etc] + node[:etc][:passwd].keys + else + [] + end + group name.to_s do gid account["uid"].to_i - members group_members & node[:etc][:passwd].keys + members group_members & available_users end user name.to_s do @@ -65,13 +69,11 @@ search(:accounts, "*:*").each do |account| files_group name.to_s files_mode 0o644 only_if do - begin - cookbook = run_context.cookbook_collection[cookbook_name] - files = cookbook.relative_filenames_in_preferred_directory(node, :files, name.to_s) - !files.empty? - rescue Chef::Exceptions::FileNotFound - false - end + cookbook = run_context.cookbook_collection[cookbook_name] + files = cookbook.relative_filenames_in_preferred_directory(node, :files, name.to_s) + !files.empty? + rescue Chef::Exceptions::FileNotFound + false end end