serverspec 0.12.0 → 0.13.0

Sign up to get free protection for your applications and to get access to all the features.
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