Add new Redis cookbook
This commit is contained in:
17
cookbooks/selinux/libraries/boolean.rb
Normal file
17
cookbooks/selinux/libraries/boolean.rb
Normal file
@@ -0,0 +1,17 @@
|
||||
module SELinux
|
||||
module Cookbook
|
||||
module BooleanHelpers
|
||||
def selinux_bool(bool)
|
||||
if ['on', 'true', '1', true, 1].include?(bool)
|
||||
'on'
|
||||
elsif ['off', 'false', '0', false, 0].include?(bool)
|
||||
'off'
|
||||
else
|
||||
raise ArgumentError, "selinux_bool: Invalid selinux boolean value #{bool}"
|
||||
end
|
||||
end
|
||||
|
||||
module_function :selinux_bool
|
||||
end
|
||||
end
|
||||
end
|
||||
22
cookbooks/selinux/libraries/install.rb
Normal file
22
cookbooks/selinux/libraries/install.rb
Normal file
@@ -0,0 +1,22 @@
|
||||
module SELinux
|
||||
module Cookbook
|
||||
module InstallHelpers
|
||||
def default_install_packages
|
||||
case node['platform_family']
|
||||
when 'rhel', 'fedora', 'amazon'
|
||||
%w(make policycoreutils selinux-policy selinux-policy-targeted selinux-policy-devel libselinux-utils setools-console)
|
||||
when 'debian'
|
||||
if node['platform'] == 'ubuntu'
|
||||
if node['platform_version'].to_f == 18.04
|
||||
%w(make policycoreutils selinux selinux-basics selinux-policy-default selinux-policy-dev auditd setools)
|
||||
else
|
||||
%w(make policycoreutils selinux-basics selinux-policy-default selinux-policy-dev auditd setools)
|
||||
end
|
||||
else
|
||||
%w(make policycoreutils selinux-basics selinux-policy-default selinux-policy-dev auditd setools)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
43
cookbooks/selinux/libraries/state.rb
Normal file
43
cookbooks/selinux/libraries/state.rb
Normal file
@@ -0,0 +1,43 @@
|
||||
module SELinux
|
||||
module Cookbook
|
||||
module StateHelpers
|
||||
def selinux_disabled?
|
||||
selinux_state.eql?(:disabled)
|
||||
end
|
||||
|
||||
def selinux_enforcing?
|
||||
selinux_state.eql?(:enforcing)
|
||||
end
|
||||
|
||||
def selinux_permissive?
|
||||
selinux_state.eql?(:permissive)
|
||||
end
|
||||
|
||||
def state_change_reboot_required?
|
||||
(selinux_disabled? && %i(enforcing permissive).include?(action)) || ((selinux_enforcing? || selinux_permissive?) && action == :disabled)
|
||||
end
|
||||
|
||||
def selinux_state
|
||||
state = shell_out!('getenforce').stdout.strip.downcase.to_sym
|
||||
raise "Got unknown SELinux state #{state}" unless %i(disabled enforcing permissive).include?(state)
|
||||
|
||||
state
|
||||
end
|
||||
|
||||
def selinux_activate_required?
|
||||
return false unless platform_family?('debian')
|
||||
|
||||
!File.read('/etc/default/grub').match?('security=selinux')
|
||||
end
|
||||
|
||||
def default_policy_platform
|
||||
case node['platform_family']
|
||||
when 'rhel', 'fedora', 'amazon'
|
||||
'targeted'
|
||||
when 'debian'
|
||||
'default'
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user