serverspec 0.12.0 → 0.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/lib/serverspec.rb CHANGED
@@ -6,24 +6,8 @@ require 'serverspec/matchers'
6
6
  require 'serverspec/helper'
7
7
  require 'serverspec/setup'
8
8
  require 'serverspec/subject'
9
- require 'serverspec/commands/base'
10
- require 'serverspec/commands/linux'
11
- require 'serverspec/commands/redhat'
12
- require 'serverspec/commands/debian'
13
- require 'serverspec/commands/gentoo'
14
- require 'serverspec/commands/plamo'
15
- require 'serverspec/commands/aix'
16
- require 'serverspec/commands/solaris'
17
- require 'serverspec/commands/solaris10'
18
- require 'serverspec/commands/solaris11'
19
- require 'serverspec/commands/smartos'
20
- require 'serverspec/commands/darwin'
21
- require 'serverspec/commands/windows'
22
- require 'serverspec/commands/freebsd'
23
9
  require 'rspec/core/formatters/base_formatter'
24
10
 
25
- SPEC_TYPE = 'Serverspec'
26
-
27
11
  module RSpec
28
12
  module Core
29
13
  module Formatters
@@ -1,3 +1,3 @@
1
1
  module Serverspec
2
- VERSION = "0.12.0"
2
+ VERSION = "0.13.0"
3
3
  end
data/serverspec.gemspec CHANGED
@@ -21,7 +21,7 @@ Gem::Specification.new do |spec|
21
21
  spec.add_runtime_dependency "net-ssh"
22
22
  spec.add_runtime_dependency "rspec", ">= 2.13.0"
23
23
  spec.add_runtime_dependency "highline"
24
- spec.add_runtime_dependency "specinfra", ">= 0.0.2"
24
+ spec.add_runtime_dependency "specinfra", ">= 0.0.6"
25
25
  spec.add_development_dependency "bundler", "~> 1.3"
26
26
  spec.add_development_dependency "rake"
27
27
  end
@@ -18,6 +18,13 @@ describe 'path is set' do
18
18
  end
19
19
  end
20
20
 
21
+ describe 'path is reset to nil' do
22
+ context file('/etc/passwd') do
23
+ it { should be_file }
24
+ its(:command) { should eq 'test -f /etc/passwd' }
25
+ end
26
+ end
27
+
21
28
  describe 'pre_command is set' do
22
29
  let(:pre_command) { 'source ~/.zshrc' }
23
30
  context file('/etc/passwd') do
@@ -155,7 +155,7 @@ describe file('/some/test/file') do
155
155
  :match_md5checksum => '35435ea447c19f0ea5ef971837ab9ced',
156
156
  :match_sha256checksum => '0c3feee1353a8459f8c7d84885e6bc602ef853751ffdbce3e3b6dfa1d345fc7a'
157
157
  }.each do |method, args|
158
- expect { should self.send(method, *args) }.to raise_error Serverspec::Commands::Windows::NotSupportedError
158
+ expect { should self.send(method, *args) }.to raise_error SpecInfra::Command::Windows::NotSupportedError
159
159
  end
160
160
  end
161
161
  end
@@ -22,8 +22,7 @@ describe group('test.group') do
22
22
  {
23
23
  :have_gid => [nil],
24
24
  }.each do |method, args|
25
- expect { should self.send(method, *args) }.to raise_error Serverspec::Commands::Windows::NotSupportedError
25
+ expect { should self.send(method, *args) }.to raise_error SpecInfra::Command::Windows::NotSupportedError
26
26
  end
27
27
  end
28
28
  end
29
-
@@ -38,7 +38,7 @@ describe user('test.user') do
38
38
  :have_login_shell => [nil],
39
39
  :have_authorized_key => [nil],
40
40
  }.each do |method, args|
41
- expect { should self.send(method, *args) }.to raise_error Serverspec::Commands::Windows::NotSupportedError
41
+ expect { should self.send(method, *args) }.to raise_error SpecInfra::Command::Windows::NotSupportedError
42
42
  end
43
43
  end
44
44
  end
metadata CHANGED
@@ -1,107 +1,122 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: serverspec
3
- version: !ruby/object:Gem::Version
4
- version: 0.12.0
3
+ version: !ruby/object:Gem::Version
4
+ hash: 43
5
+ prerelease:
6
+ segments:
7
+ - 0
8
+ - 13
9
+ - 0
10
+ version: 0.13.0
5
11
  platform: ruby
6
- authors:
12
+ authors:
7
13
  - Gosuke Miyashita
8
14
  autorequire:
9
15
  bindir: bin
10
16
  cert_chain: []
11
- date: 2013-11-30 00:00:00.000000000 Z
12
- dependencies:
13
- - !ruby/object:Gem::Dependency
17
+
18
+ date: 2013-12-04 00:00:00 +09:00
19
+ default_executable:
20
+ dependencies:
21
+ - !ruby/object:Gem::Dependency
14
22
  name: net-ssh
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - '>='
18
- - !ruby/object:Gem::Version
19
- version: '0'
20
- type: :runtime
21
23
  prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - '>='
25
- - !ruby/object:Gem::Version
26
- version: '0'
27
- - !ruby/object:Gem::Dependency
28
- name: rspec
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - '>='
32
- - !ruby/object:Gem::Version
33
- version: 2.13.0
24
+ requirement: &id001 !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ hash: 3
30
+ segments:
31
+ - 0
32
+ version: "0"
34
33
  type: :runtime
34
+ version_requirements: *id001
35
+ - !ruby/object:Gem::Dependency
36
+ name: rspec
35
37
  prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - '>='
39
- - !ruby/object:Gem::Version
38
+ requirement: &id002 !ruby/object:Gem::Requirement
39
+ none: false
40
+ requirements:
41
+ - - ">="
42
+ - !ruby/object:Gem::Version
43
+ hash: 59
44
+ segments:
45
+ - 2
46
+ - 13
47
+ - 0
40
48
  version: 2.13.0
41
- - !ruby/object:Gem::Dependency
42
- name: highline
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - '>='
46
- - !ruby/object:Gem::Version
47
- version: '0'
48
49
  type: :runtime
50
+ version_requirements: *id002
51
+ - !ruby/object:Gem::Dependency
52
+ name: highline
49
53
  prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - '>='
53
- - !ruby/object:Gem::Version
54
- version: '0'
55
- - !ruby/object:Gem::Dependency
56
- name: specinfra
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - '>='
60
- - !ruby/object:Gem::Version
61
- version: 0.0.2
54
+ requirement: &id003 !ruby/object:Gem::Requirement
55
+ none: false
56
+ requirements:
57
+ - - ">="
58
+ - !ruby/object:Gem::Version
59
+ hash: 3
60
+ segments:
61
+ - 0
62
+ version: "0"
62
63
  type: :runtime
64
+ version_requirements: *id003
65
+ - !ruby/object:Gem::Dependency
66
+ name: specinfra
63
67
  prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - '>='
67
- - !ruby/object:Gem::Version
68
- version: 0.0.2
69
- - !ruby/object:Gem::Dependency
68
+ requirement: &id004 !ruby/object:Gem::Requirement
69
+ none: false
70
+ requirements:
71
+ - - ">="
72
+ - !ruby/object:Gem::Version
73
+ hash: 19
74
+ segments:
75
+ - 0
76
+ - 0
77
+ - 6
78
+ version: 0.0.6
79
+ type: :runtime
80
+ version_requirements: *id004
81
+ - !ruby/object:Gem::Dependency
70
82
  name: bundler
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - ~>
74
- - !ruby/object:Gem::Version
75
- version: '1.3'
76
- type: :development
77
83
  prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
84
+ requirement: &id005 !ruby/object:Gem::Requirement
85
+ none: false
86
+ requirements:
80
87
  - - ~>
81
- - !ruby/object:Gem::Version
82
- version: '1.3'
83
- - !ruby/object:Gem::Dependency
84
- name: rake
85
- requirement: !ruby/object:Gem::Requirement
86
- requirements:
87
- - - '>='
88
- - !ruby/object:Gem::Version
89
- version: '0'
88
+ - !ruby/object:Gem::Version
89
+ hash: 9
90
+ segments:
91
+ - 1
92
+ - 3
93
+ version: "1.3"
90
94
  type: :development
95
+ version_requirements: *id005
96
+ - !ruby/object:Gem::Dependency
97
+ name: rake
91
98
  prerelease: false
92
- version_requirements: !ruby/object:Gem::Requirement
93
- requirements:
94
- - - '>='
95
- - !ruby/object:Gem::Version
96
- version: '0'
99
+ requirement: &id006 !ruby/object:Gem::Requirement
100
+ none: false
101
+ requirements:
102
+ - - ">="
103
+ - !ruby/object:Gem::Version
104
+ hash: 3
105
+ segments:
106
+ - 0
107
+ version: "0"
108
+ type: :development
109
+ version_requirements: *id006
97
110
  description: RSpec tests for your servers configured by Puppet, Chef or anything else
98
- email:
111
+ email:
99
112
  - gosukenator@gmail.com
100
- executables:
113
+ executables:
101
114
  - serverspec-init
102
115
  extensions: []
116
+
103
117
  extra_rdoc_files: []
104
- files:
118
+
119
+ files:
105
120
  - .gitignore
106
121
  - .travis.yml
107
122
  - Gemfile
@@ -112,20 +127,6 @@ files:
112
127
  - WINDOWS_SUPPORT.md
113
128
  - bin/serverspec-init
114
129
  - lib/serverspec.rb
115
- - lib/serverspec/commands/aix.rb
116
- - lib/serverspec/commands/base.rb
117
- - lib/serverspec/commands/darwin.rb
118
- - lib/serverspec/commands/debian.rb
119
- - lib/serverspec/commands/freebsd.rb
120
- - lib/serverspec/commands/gentoo.rb
121
- - lib/serverspec/commands/linux.rb
122
- - lib/serverspec/commands/plamo.rb
123
- - lib/serverspec/commands/redhat.rb
124
- - lib/serverspec/commands/smartos.rb
125
- - lib/serverspec/commands/solaris.rb
126
- - lib/serverspec/commands/solaris10.rb
127
- - lib/serverspec/commands/solaris11.rb
128
- - lib/serverspec/commands/windows.rb
129
130
  - lib/serverspec/helper.rb
130
131
  - lib/serverspec/helper/backend.rb
131
132
  - lib/serverspec/helper/os.rb
@@ -359,31 +360,41 @@ files:
359
360
  - spec/windows/service_spec.rb
360
361
  - spec/windows/user_spec.rb
361
362
  - spec/windows/windows_registry_key_spec.rb
363
+ has_rdoc: true
362
364
  homepage: http://serverspec.org/
363
- licenses:
365
+ licenses:
364
366
  - MIT
365
- metadata: {}
366
367
  post_install_message:
367
368
  rdoc_options: []
368
- require_paths:
369
+
370
+ require_paths:
369
371
  - lib
370
- required_ruby_version: !ruby/object:Gem::Requirement
371
- requirements:
372
- - - '>='
373
- - !ruby/object:Gem::Version
374
- version: '0'
375
- required_rubygems_version: !ruby/object:Gem::Requirement
376
- requirements:
377
- - - '>='
378
- - !ruby/object:Gem::Version
379
- version: '0'
372
+ required_ruby_version: !ruby/object:Gem::Requirement
373
+ none: false
374
+ requirements:
375
+ - - ">="
376
+ - !ruby/object:Gem::Version
377
+ hash: 3
378
+ segments:
379
+ - 0
380
+ version: "0"
381
+ required_rubygems_version: !ruby/object:Gem::Requirement
382
+ none: false
383
+ requirements:
384
+ - - ">="
385
+ - !ruby/object:Gem::Version
386
+ hash: 3
387
+ segments:
388
+ - 0
389
+ version: "0"
380
390
  requirements: []
391
+
381
392
  rubyforge_project:
382
- rubygems_version: 2.0.3
393
+ rubygems_version: 1.6.2
383
394
  signing_key:
384
- specification_version: 4
395
+ specification_version: 3
385
396
  summary: RSpec tests for your servers configured by Puppet, Chef or anything else
386
- test_files:
397
+ test_files:
387
398
  - spec/aix/command_spec.rb
388
399
  - spec/aix/cron_spec.rb
389
400
  - spec/aix/default_gateway_spec.rb
checksums.yaml DELETED
@@ -1,7 +0,0 @@
1
- ---
2
- SHA1:
3
- metadata.gz: 752400de68f58e7d7e2605e2d7249e19c7e9031f
4
- data.tar.gz: ad2e694640b507b888251fc6e34af0df35164f1a
5
- SHA512:
6
- metadata.gz: c9d8eb41562f89d01e9a3d13c482b213b05dbf8f8bcfa78da00c3890cb08b1443652c151fae61e81f71cdb2487f77c2ec6b175fd02f78b145f899f582dc2a7ce
7
- data.tar.gz: 0ee62224c780f3e79f0152bcb382d4141435cde8accbd12f3e52511d73a2d70c0bd5762caeb8cfac7eda16458a63264524e3bf4ce79fd811b9e08f7683ff0dfb
@@ -1,69 +0,0 @@
1
- require 'shellwords'
2
-
3
- module Serverspec
4
- module Commands
5
- class AIX < Base
6
- class NotImplementedError < Exception; end
7
-
8
- def check_access_by_user(file, user, access)
9
- "su -s sh -c \"test -#{access} #{file}\" #{user}"
10
- end
11
-
12
- def check_enabled(service,level=nil)
13
- "lssrc -s #{escape(service)} | grep active"
14
- end
15
-
16
- def check_running(service)
17
- "ps -ef | grep -v grep | grep #{escape(service)}"
18
- end
19
-
20
- def check_installed(package,version)
21
-
22
- if version
23
- "lslpp -L #{escape(package)} | awk '{print $2}' | grep -w -- #{version}"
24
- else
25
- "lslpp -L #{escape(package)}"
26
- end
27
- end
28
-
29
- def check_listening(port)
30
- regexp = "*.#{port} "
31
- "netstat -an -f inet | awk '{print $4}' | grep -- #{regexp}"
32
- #"netstat -an -f inet | awk '{print $4}' | grep -- #{escape(regexp)}"
33
- end
34
-
35
- def check_belonging_group(user, group)
36
- "lsuser -a groups #{escape(user)} | awk -F'=' '{print $2}'| sed -e 's/,/ /g' |grep -w -- #{escape(group)}"
37
- end
38
-
39
- def check_gid(group, gid)
40
- regexp = "^#{group}"
41
- "cat etc/group | grep -w -- #{escape(regexp)} | cut -f 3 -d ':' | grep -w -- #{escape(gid)}"
42
- end
43
-
44
- def check_login_shell(user, path_to_shell)
45
- "lsuser -a shell #{escape(user)} |awk -F'=' '{print $2}' | grep -w -- #{escape(path_to_shell)}"
46
- end
47
-
48
- def check_home_directory(user, path_to_home)
49
- "lsuser -a home #{escape(user)} | awk -F'=' '{print $2}' | grep -w -- #{escape(path_to_home)}"
50
- end
51
-
52
- def check_mode(file, mode)
53
- raise NotImplementedError.new
54
- end
55
-
56
- def check_owner(file, owner)
57
- regexp = "^#{owner}$"
58
- "ls -al #{escape(file)} | awk '{print $3}' | grep -- #{escape(regexp)}"
59
- end
60
-
61
- def check_grouped(file, group)
62
- regexp = "^#{group}$"
63
- "ls -al #{escape(file)} | awk '{print $4}' | grep -- #{escape(regexp)}"
64
- end
65
-
66
-
67
- end
68
- end
69
- end
@@ -1,305 +0,0 @@
1
- require 'shellwords'
2
-
3
- module Serverspec
4
- module Commands
5
- class Base
6
- class NotImplementedError < Exception; end
7
-
8
- def escape(target)
9
- str = case target
10
- when Regexp
11
- target.source
12
- else
13
- target.to_s
14
- end
15
-
16
- Shellwords.shellescape(str)
17
- end
18
-
19
- def check_enabled(service, level=3)
20
- raise NotImplementedError.new
21
- end
22
-
23
- def check_yumrepo(repository)
24
- raise NotImplementedError.new
25
- end
26
-
27
- def check_yumrepo_enabled(repository)
28
- raise NotImplementedError.new
29
- end
30
-
31
- def check_mounted(path)
32
- regexp = "on #{path}"
33
- "mount | grep -w -- #{escape(regexp)}"
34
- end
35
-
36
- def check_routing_table(destination)
37
- "ip route | grep -E '^#{destination} |^default '"
38
- end
39
-
40
- def check_reachable(host, port, proto, timeout)
41
- if port.nil?
42
- "ping -n #{escape(host)} -w #{escape(timeout)} -c 2"
43
- else
44
- "nc -vvvvz#{escape(proto[0].chr)} #{escape(host)} #{escape(port)} -w #{escape(timeout)}"
45
- end
46
- end
47
-
48
- def check_resolvable(name, type)
49
- if type == "dns"
50
- "nslookup -timeout=1 #{escape(name)}"
51
- elsif type == "hosts"
52
- "grep -w -- #{escape(name)} /etc/hosts"
53
- else
54
- "getent hosts #{escape(name)}"
55
- end
56
- end
57
-
58
- def check_file(file)
59
- "test -f #{escape(file)}"
60
- end
61
-
62
- def check_socket(file)
63
- "test -S #{escape(file)}"
64
- end
65
-
66
- def check_directory(directory)
67
- "test -d #{escape(directory)}"
68
- end
69
-
70
- def check_user(user)
71
- "id #{escape(user)}"
72
- end
73
-
74
- def check_group(group)
75
- "getent group | grep -wq -- #{escape(group)}"
76
- end
77
-
78
- def check_installed(package, version=nil)
79
- raise NotImplementedError.new
80
- end
81
-
82
- def check_listening(port)
83
- regexp = ":#{port} "
84
- "netstat -tunl | grep -- #{escape(regexp)}"
85
- end
86
-
87
- def check_listening_with_protocol(port, protocol)
88
- regexp = "^#{protocol} .*:#{port} "
89
- "netstat -tunl | grep -- #{escape(regexp)}"
90
- end
91
-
92
- def check_running(service)
93
- "service #{escape(service)} status"
94
- end
95
-
96
- def check_running_under_supervisor(service)
97
- "supervisorctl status #{escape(service)} | grep RUNNING"
98
- end
99
-
100
- def check_running_under_upstart(service)
101
- "initctl status #{escape(service)} | grep running"
102
- end
103
-
104
- def check_monitored_by_monit(service)
105
- "monit status"
106
- end
107
-
108
- def check_monitored_by_god(service)
109
- "god status #{escape(service)}"
110
- end
111
-
112
- def check_process(process)
113
- "ps aux | grep -w -- #{escape(process)} | grep -qv grep"
114
- end
115
-
116
- def check_file_contain(file, expected_pattern)
117
- "#{check_file_contain_with_regexp(file, expected_pattern)} || #{check_file_contain_with_fixed_strings(file, expected_pattern)}"
118
- end
119
-
120
- def check_file_contain_with_regexp(file, expected_pattern)
121
- "grep -q -- #{escape(expected_pattern)} #{escape(file)}"
122
- end
123
-
124
- def check_file_contain_with_fixed_strings(file, expected_pattern)
125
- "grep -qF -- #{escape(expected_pattern)} #{escape(file)}"
126
- end
127
-
128
- def check_file_md5checksum(file, expected)
129
- regexp = "^#{expected}"
130
- "md5sum #{escape(file)} | grep -iw -- #{escape(regexp)}"
131
- end
132
-
133
- def check_file_sha256checksum(file, expected)
134
- regexp = "^#{expected}"
135
- "sha256sum #{escape(file)} | grep -iw -- #{escape(regexp)}"
136
- end
137
-
138
- def check_file_contain_within(file, expected_pattern, from=nil, to=nil)
139
- from ||= '1'
140
- to ||= '$'
141
- sed = "sed -n #{escape(from)},#{escape(to)}p #{escape(file)}"
142
- checker_with_regexp = check_file_contain_with_regexp("-", expected_pattern)
143
- checker_with_fixed = check_file_contain_with_fixed_strings("-", expected_pattern)
144
- "#{sed} | #{checker_with_regexp} || #{sed} | #{checker_with_fixed}"
145
- end
146
-
147
- def check_mode(file, mode)
148
- regexp = "^#{mode}$"
149
- "stat -c %a #{escape(file)} | grep -- #{escape(regexp)}"
150
- end
151
-
152
- def check_owner(file, owner)
153
- regexp = "^#{owner}$"
154
- "stat -c %U #{escape(file)} | grep -- #{escape(regexp)}"
155
- end
156
-
157
- def check_grouped(file, group)
158
- regexp = "^#{group}$"
159
- "stat -c %G #{escape(file)} | grep -- #{escape(regexp)}"
160
- end
161
-
162
- def check_cron_entry(user, entry)
163
- entry_escaped = entry.gsub(/\*/, '\\*')
164
- if user.nil?
165
- "crontab -l | grep -- #{escape(entry_escaped)}"
166
- else
167
- "crontab -u #{escape(user)} -l | grep -- #{escape(entry_escaped)}"
168
- end
169
- end
170
-
171
- def check_link(link, target)
172
- "stat -c %N #{escape(link)} | grep -- #{escape(target)}"
173
- end
174
-
175
- def check_installed_by_gem(name, version=nil)
176
- regexp = "^#{name}"
177
- cmd = "gem list --local | grep -w -- #{escape(regexp)}"
178
- cmd = "#{cmd} | grep -w -- #{escape(version)}" if version
179
- cmd
180
- end
181
-
182
- def check_installed_by_npm(name, version=nil)
183
- cmd = "npm ls #{escape(name)} -g"
184
- cmd = "#{cmd} | grep -w -- #{escape(version)}" if version
185
- cmd
186
- end
187
-
188
- def check_installed_by_pecl(name, version=nil)
189
- regexp = "^#{name}"
190
- cmd = "pecl list | grep -w -- #{escape(regexp)}"
191
- cmd = "#{cmd} | grep -w -- #{escape(version)}" if version
192
- cmd
193
- end
194
-
195
- def check_installed_by_pear(name, version=nil)
196
- regexp = "^#{name}"
197
- cmd = "pear list | grep -w -- #{escape(regexp)}"
198
- cmd = "#{cmd} | grep -w -- #{escape(version)}" if version
199
- cmd
200
- end
201
-
202
- def check_installed_by_pip(name, version=nil)
203
- regexp = "^#{name}"
204
- cmd = "pip list | grep -w -- #{escape(regexp)}"
205
- cmd = "#{cmd} | grep -w -- #{escape(version)}" if version
206
- cmd
207
- end
208
-
209
- def check_installed_by_cpan(name, version=nil)
210
- regexp = "^#{name}"
211
- cmd = "cpan -l | grep -w -- #{escape(regexp)}"
212
- cmd = "#{cmd} | grep -w -- #{escape(version)}" if version
213
- cmd
214
- end
215
-
216
- def check_belonging_group(user, group)
217
- "id #{escape(user)} | awk '{print $3}' | grep -- #{escape(group)}"
218
- end
219
-
220
- def check_gid(group, gid)
221
- regexp = "^#{group}"
222
- "getent group | grep -w -- #{escape(regexp)} | cut -f 3 -d ':' | grep -w -- #{escape(gid)}"
223
- end
224
-
225
- def check_uid(user, uid)
226
- regexp = "^uid=#{uid}("
227
- "id #{escape(user)} | grep -- #{escape(regexp)}"
228
- end
229
-
230
- def check_login_shell(user, path_to_shell)
231
- "getent passwd #{escape(user)} | cut -f 7 -d ':' | grep -w -- #{escape(path_to_shell)}"
232
- end
233
-
234
- def check_home_directory(user, path_to_home)
235
- "getent passwd #{escape(user)} | cut -f 6 -d ':' | grep -w -- #{escape(path_to_home)}"
236
- end
237
-
238
- def check_authorized_key(user, key)
239
- key.sub!(/\s+\S*$/, '') if key.match(/^\S+\s+\S+\s+\S*$/)
240
- "grep -w -- #{escape(key)} ~#{escape(user)}/.ssh/authorized_keys"
241
- end
242
-
243
- def check_iptables_rule(rule, table=nil, chain=nil)
244
- raise NotImplementedError.new
245
- end
246
-
247
- def check_zfs(zfs, property=nil, value=nil)
248
- raise NotImplementedError.new
249
- end
250
-
251
- def get_mode(file)
252
- "stat -c %a #{escape(file)}"
253
- end
254
-
255
- def check_ipfilter_rule(rule)
256
- raise NotImplementedError.new
257
- end
258
-
259
- def check_ipnat_rule(rule)
260
- raise NotImplementedError.new
261
- end
262
-
263
- def check_svcprop(svc, property, value)
264
- raise NotImplementedError.new
265
- end
266
-
267
- def check_svcprops(svc, property)
268
- raise NotImplementedError.new
269
- end
270
-
271
- def check_selinux(mode)
272
- raise NotImplementedError.new
273
- end
274
-
275
- def check_access_by_user(file, user, access)
276
- raise NotImplementedError.new
277
- end
278
-
279
- def check_kernel_module_loaded(name)
280
- raise NotImplementedError.new
281
- end
282
-
283
- def check_ipv4_address(interface, ip_address)
284
- raise NotImplementedError.new
285
- end
286
-
287
- def check_mail_alias(recipient, target)
288
- target = "[[:space:]]#{target}"
289
- "getent aliases #{escape(recipient)} | grep -- #{escape(target)}$"
290
- end
291
-
292
- def get_file_content(file)
293
- "cat #{file}"
294
- end
295
-
296
- def check_container(container)
297
- raise NotImplementedError.new
298
- end
299
-
300
- def check_cotainer_running(container)
301
- raise NotImplementedError.new
302
- end
303
- end
304
- end
305
- end