Sha256: 2ba62c74a1d30d79db6ab06b245048b56741848ddf3f9883e9fb9c82b9e14cf5
Contents?: true
Size: 1.1 KB
Versions: 6
Compression:
Stored size: 1.1 KB
Contents
# encoding: utf-8 # copyright: 2015, Vulcano Security GmbH # author: Christoph Hartmann # author: Dominik Richter # license: All rights reserved require 'utils/simpleconfig' # Usage: # # describe login_def do # its('UMASK') { # should eq '077' # } # # its('PASS_MAX_DAYS.to_i') { # should be <= 90 # } # end class LoginDef < Inspec.resource(1) name 'login_defs' def initialize(path = nil) @conf_path = path || '/etc/login.defs' end def method_missing(name) read_params[name.to_s] end def read_params return @params if defined?(@params) # read the file file = inspec.file(@conf_path) if !file.file? skip_resource "Can't find file \"#{@conf_path}\"" return @params = {} end content = file.content if content.empty? && file.size > 0 skip_resource "Can't read file \"#{@conf_path}\"" return @params = {} end # parse the file conf = SimpleConfig.new( content, assignment_re: /^\s*(\S+)\s+(\S*)\s*$/, multiple_values: false, ) @params = conf.params end def to_s 'login.defs' end end
Version data entries
6 entries across 6 versions & 1 rubygems