Class: AuditDaemonRules

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

Overview

copyright: 2015, Vulcano Security GmbH author: Christoph Hartmann author: Dominik Richter license: All rights reserved

Instance Method Summary collapse

Constructor Details

#initializeAuditDaemonRules

Returns a new instance of AuditDaemonRules.



19
20
21
22
23
24
25
26
# File 'lib/resources/auditd_rules.rb', line 19

def initialize
  @content = inspec.command('/sbin/auditctl -l').stdout.chomp

  @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



32
33
34
# File 'lib/resources/auditd_rules.rb', line 32

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

Instance Method Details

#paramsObject



28
29
30
# File 'lib/resources/auditd_rules.rb', line 28

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

#status(name) ⇒ Object



36
37
38
39
40
41
42
43
44
45
46
47
48
49
# File 'lib/resources/auditd_rules.rb', line 36

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



51
52
53
# File 'lib/resources/auditd_rules.rb', line 51

def to_s
  'Audit Daemon Rules'
end