Class: Inspec::Resources::AuditdRulesLegacy

Inherits:
Object
  • Object
show all
Defined in:
lib/resources/auditd_rules.rb

Instance Method Summary collapse

Constructor Details

#initialize(content) ⇒ AuditdRulesLegacy

Returns a new instance of AuditdRulesLegacy.



12
13
14
15
16
17
18
# File 'lib/resources/auditd_rules.rb', line 12

def initialize(content)
  @content = content
  @opts = {
    assignment_re: /^\s*([^:]*?)\s*:\s*(.*?)\s*$/,
    multiple_values: true,
  }
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(name) ⇒ Object



24
25
26
# File 'lib/resources/auditd_rules.rb', line 24

def method_missing(name)
  params[name.to_s]
end

Instance Method Details

#paramsObject



20
21
22
# File 'lib/resources/auditd_rules.rb', line 20

def params
  @params ||= SimpleConfig.new(@content, @opts).params
end

#status(name) ⇒ Object



28
29
30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/resources/auditd_rules.rb', line 28

def status(name)
  @status_opts = {
    assignment_re: /^\s*([^:]*?)\s*:\s*(.*?)\s*$/,
    multiple_values: false,
  }
  @status_content ||= inspec.command('/sbin/auditctl -s').stdout.chomp
  @status_params = SimpleConfig.new(@status_content, @status_opts).params

  status = @status_params['AUDIT_STATUS']
  return nil if status.nil?

  items = Hash[status.scan(/([^=]+)=(\w*)\s*/)]
  items[name]
end

#to_sObject



43
44
45
# File 'lib/resources/auditd_rules.rb', line 43

def to_s
  'Audit Daemon Rules (for auditd version < 2.3)'
end