File: file.rb

package info (click to toggle)
ruby-specinfra 2.94.1-1
  • links: PTS, VCS
  • area: main
  • in suites:
  • size: 2,448 kB
  • sloc: ruby: 10,538; sh: 4; makefile: 4
file content (20 lines) | stat: -rw-r--r-- 539 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
class Specinfra::Command::Linux::Base::File < Specinfra::Command::Base::File
  class << self
    def check_is_accessible_by_user(file, user, access)
      "sudo -u #{user} test -#{access} #{file}"
    end

    def check_is_immutable(file)
      check_attribute(file, 'i')
    end

    def check_attribute(file, attribute)
      "lsattr -d #{escape(file)} 2>&1 | " + 
      "awk '$1~/^[A-Za-z-]+$/ && $1~/#{escape(attribute)}/ {exit 0} {exit 1}'"
    end

    def get_selinuxlabel(file)
      "stat -c %C #{escape(file)}"
    end
  end
end