Class: TrainPlugins::TrainKubernetes::File::LinuxPermissions

Inherits:
Inspec::Resources::UnixFilePermissions
  • Object
show all
Defined in:
lib/train-kubernetes-docs/file/linux_permissions.rb

Instance Method Summary collapse

Constructor Details

#initialize(inspec, pod:, namespace: nil, container: nil) ⇒ LinuxPermissions

Returns a new instance of LinuxPermissions.



5
6
7
8
9
10
# File 'lib/train-kubernetes-docs/file/linux_permissions.rb', line 5

def initialize(inspec, pod:, namespace: nil, container: nil)
  @pod = pod
  @namespace = namespace
  @container = container
  super(inspec)
end

Instance Method Details

#check_file_permission_by_user(access_type, user, path) ⇒ Object



12
13
14
15
16
17
# File 'lib/train-kubernetes-docs/file/linux_permissions.rb', line 12

def check_file_permission_by_user(access_type, user, path)
  flag = permission_flag(access_type)
  perm_cmd = "su -s /bin/sh -c \"test -#{flag} #{path}\" #{user}"
  cmd = inspec.backend.run_command(perm_cmd, { pod: pod, namespace: namespace, container: container })
  cmd.exit_status == 0
end