mirror of
https://github.com/inspec/inspec
synced 2024-12-18 00:53:22 +00:00
bd73b69c9e
* Refactors ini docs Signed-off-by: kagarmoe <kgarmoe@chef.io> * Fixes formatting Signed-off-by: kagarmoe <kgarmoe@chef.io> * Fixes formatting Signed-off-by: kagarmoe <kgarmoe@chef.io>
72 lines
1.6 KiB
Text
72 lines
1.6 KiB
Text
---
|
|
title: About the ini Resource
|
|
---
|
|
|
|
# ini
|
|
|
|
Use the `ini` InSpec audit resource to test settings in an INI file.
|
|
|
|
<br>
|
|
|
|
## Syntax
|
|
|
|
An `ini` resource block declares the configuration settings to be tested:
|
|
|
|
describe ini('path') do
|
|
its('setting_name') { should eq 'value' }
|
|
end
|
|
|
|
where
|
|
|
|
* `'setting_name'` is a setting key defined in the INI file
|
|
* `('path')` is the path to the INI file
|
|
* `{ should eq 'value' }` is the value that is expected
|
|
|
|
For example:
|
|
|
|
describe ini('path/to/ini_file.ini') do
|
|
its('port') { should eq '143' }
|
|
its('server') { should eq '192.0.2.62' }
|
|
end
|
|
|
|
Settings inside of sections, such as the following:
|
|
|
|
[section_name]
|
|
setting_name = 123
|
|
|
|
... can be retrieved by prefixing the setting_name with the section.
|
|
|
|
its('section_name.setting_name') { should cmp 123 }
|
|
|
|
In the event a section or setting name has a period in it, the alternate syntax can be used:
|
|
|
|
its(['section.with.a.dot.in.it', 'setting.name.with.dots']) { should cmp 'lotsadots' }
|
|
|
|
<br>
|
|
## Supported Properties
|
|
|
|
This resource supports any of the settings listed in an INI file as properties.
|
|
|
|
## Examples
|
|
|
|
The following examples show how to use this InSpec audit resource.
|
|
|
|
### Test SMTP settings in a PHP INI file
|
|
|
|
For example, a PHP INI file located at contains the following settings:
|
|
|
|
[mail function]
|
|
SMTP = smtp.gmail.com
|
|
smtp_port = 465
|
|
|
|
and can be tested like this:
|
|
|
|
describe ini('/etc/php5/apache2/php.ini') do
|
|
its('mail function.smtp_port') { should eq('465') }
|
|
end
|
|
|
|
<br>
|
|
|
|
## Matchers
|
|
|
|
For a full list of available matchers please visit our [matchers page](https://www.inspec.io/docs/reference/matchers/).
|