Sha256: a87fb7c2dd94ed985e7470e32aae1d15d176e81f7001817588127db252d0235c

Contents?: true

Size: 678 Bytes

Versions: 8

Compression:

Stored size: 678 Bytes

Contents

require 'shellwords'

module Serverspec
  module Commands
    class Linux < Base
      class NotImplementedError < Exception; end

      def check_access_by_user file, user, access
        "su -s sh -c \"test -#{access} #{file}\" #{user}"
      end

      def check_iptables_rule rule, table=nil, chain=nil
        cmd = "iptables"
        cmd += " -t #{escape(table)}" if table
        cmd += " -S"
        cmd += " #{escape(chain)}" if chain
        cmd += " | grep -- #{escape(rule)}"
        cmd
      end

      def check_selinux mode
        "getenforce | grep -i -- #{escape(mode)} && grep -i -- ^SELINUX=#{escape(mode)}$ /etc/selinux/config"
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
serverspec-0.6.0 lib/serverspec/commands/linux.rb
serverspec-0.5.8 lib/serverspec/commands/linux.rb
serverspec-0.5.7 lib/serverspec/commands/linux.rb
serverspec-0.5.6 lib/serverspec/commands/linux.rb
serverspec-0.5.5 lib/serverspec/commands/linux.rb
serverspec-0.5.4 lib/serverspec/commands/linux.rb
serverspec-0.5.3 lib/serverspec/commands/linux.rb
serverspec-0.5.2 lib/serverspec/commands/linux.rb