OSDN Git Service

5239f1c3bf8708f9b8052453f687159cfa9ee521
[metasearch/grid-chef-repo.git] / cookbooks / platform_utils / recipes / sudo.rb
1 #
2 # Cookbook Name:: platform_utils
3 # Recipe:: sudo
4 #
5 # Copyright 2017, whitestar
6 #
7 # Licensed under the Apache License, Version 2.0 (the "License");
8 # you may not use this file except in compliance with the License.
9 # You may obtain a copy of the License at
10 #
11 #     http://www.apache.org/licenses/LICENSE-2.0
12 #
13 # Unless required by applicable law or agreed to in writing, software
14 # distributed under the License is distributed on an "AS IS" BASIS,
15 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 # See the License for the specific language governing permissions and
17 # limitations under the License.
18 #
19
20 %w(
21   sudo
22 ).each {|pkg|
23   resources(package: pkg) rescue package pkg do
24     action :install
25   end
26 }
27
28 node['platform_utils']['sudo']['sudoers.d'].each {|sudoers_file, lines|
29   template "/etc/sudoers.d/#{sudoers_file}" do
30     source  'etc/sudoers.d/sudoers'
31     owner 'root'
32     group 'root'
33     mode '0440'
34     variables(
35       lines: lines
36     )
37   end
38 }
39
40 sudo_group = value_for_platform_family(
41   'debian' => 'sudo',
42   'rhel' => 'wheel'
43 )
44 sudo_members = node['platform_utils']['sudo']['group']['members']
45
46 group "append_#{sudo_members.join('_')}_to_#{sudo_group}_group" do
47   group_name sudo_group
48   action :modify
49   members sudo_members
50   append true
51 end unless sudo_members.empty?