Sha256: f5c587dc40b87a074642f2c52e2ed08fb55f2dfa9871cbad65d0898291f915d1

Contents?: true

Size: 865 Bytes

Versions: 16

Compression:

Stored size: 865 Bytes

Contents

require 'shellwords'

module Serverspec
  module Commands
    class Linux < Base
      def check_access_by_user(file, user, access)
        "su -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

      def check_kernel_module_loaded(name)
        "lsmod | grep ^#{name}"
      end

      def get_interface_speed_of(name)
        "ethtool #{name} | grep Speed | gawk '{print gensub(/Speed: ([0-9]+)Mb\\\/s/,\"\\\\1\",\"\")}'"
      end
    end
  end
end

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
serverspec-0.6.28 lib/serverspec/commands/linux.rb
serverspec-0.6.27 lib/serverspec/commands/linux.rb
serverspec-0.6.26 lib/serverspec/commands/linux.rb
serverspec-0.6.25 lib/serverspec/commands/linux.rb
serverspec-0.6.24 lib/serverspec/commands/linux.rb
serverspec-0.6.23 lib/serverspec/commands/linux.rb
serverspec-0.6.22 lib/serverspec/commands/linux.rb
serverspec-0.6.21 lib/serverspec/commands/linux.rb
serverspec-0.6.20 lib/serverspec/commands/linux.rb
serverspec-0.6.19 lib/serverspec/commands/linux.rb
serverspec-0.6.18 lib/serverspec/commands/linux.rb
serverspec-0.6.17 lib/serverspec/commands/linux.rb
serverspec-0.6.16 lib/serverspec/commands/linux.rb
serverspec-0.6.15 lib/serverspec/commands/linux.rb
serverspec-0.6.13 lib/serverspec/commands/linux.rb
serverspec-0.6.12 lib/serverspec/commands/linux.rb