class Inspec::Resources::KernelModule
Public Class Methods
new(modulename = nil)
click to toggle source
# File lib/inspec/resources/kernel_module.rb, line 36 def initialize(modulename = nil) @module = modulename # this resource is only supported on Linux return skip_resource "The `kernel_parameter` resource is not supported on your OS." unless inspec.os.linux? end
Public Instance Methods
blacklisted?()
click to toggle source
# File lib/inspec/resources/kernel_module.rb, line 63 def blacklisted? !modprobe_output.match(/^blacklist\s+#{@module}/).nil? || disabled_via_bin_true? || disabled_via_bin_false? end
disabled?()
click to toggle source
# File lib/inspec/resources/kernel_module.rb, line 59 def disabled? !modprobe_output.match(%r{^install\s+#{@module}\s+/(s?)bin/(true|false)}).nil? end
loaded?()
click to toggle source
# File lib/inspec/resources/kernel_module.rb, line 42 def loaded? if inspec.os.redhat? || inspec.os.name == "fedora" lsmod_cmd = "/sbin/lsmod" else lsmod_cmd = "lsmod" end # get list of all modules cmd = inspec.command(lsmod_cmd) return false if cmd.exit_status != 0 # check if module is loaded re = Regexp.new("^" + Regexp.quote(@module) + '\s') found = cmd.stdout.match(re) !found.nil? end
to_s()
click to toggle source
# File lib/inspec/resources/kernel_module.rb, line 72 def to_s "Kernel Module #{@module}" end
version()
click to toggle source
# File lib/inspec/resources/kernel_module.rb, line 67 def version cmd = inspec.command("#{modinfo_cmd_for_os} -F version #{@module}") cmd.exit_status == 0 ? cmd.stdout.delete("\n") : nil end
Private Instance Methods
disabled_via_bin_false?()
click to toggle source
# File lib/inspec/resources/kernel_module.rb, line 102 def disabled_via_bin_false? !modprobe_output.match(%r{^install\s+#{@module}\s+/(s?)bin/false}).nil? end
disabled_via_bin_true?()
click to toggle source
# File lib/inspec/resources/kernel_module.rb, line 98 def disabled_via_bin_true? !modprobe_output.match(%r{^install\s+#{@module}\s+/(s?)bin/true}).nil? end
modinfo_cmd_for_os()
click to toggle source
# File lib/inspec/resources/kernel_module.rb, line 82 def modinfo_cmd_for_os if inspec.os.redhat? || inspec.os.name == "fedora" "/sbin/modinfo" else "modinfo" end end
modprobe_cmd_for_os()
click to toggle source
# File lib/inspec/resources/kernel_module.rb, line 90 def modprobe_cmd_for_os if inspec.os.redhat? || inspec.os.name == "fedora" "/sbin/modprobe" else "modprobe" end end
modprobe_output()
click to toggle source
# File lib/inspec/resources/kernel_module.rb, line 78 def modprobe_output @modprobe_output ||= inspec.command("#{modprobe_cmd_for_os} --showconfig").stdout end