mirror of
https://github.com/inspec/inspec
synced 2024-11-23 21:23:29 +00:00
64676b2482
Signed-off-by: Clinton Wolfe <clintoncwolfe@gmail.com>
86 lines
2.3 KiB
Text
86 lines
2.3 KiB
Text
---
|
|
title: About the filesystem Resource
|
|
platform: linux
|
|
---
|
|
|
|
# filesystem
|
|
|
|
Use the `filesystem` Chef InSpec resource to audit filesystem disk space usage.
|
|
|
|
<br>
|
|
|
|
## Availability
|
|
|
|
### Installation
|
|
|
|
This resource is distributed along with Chef InSpec itself. You can use it automatically.
|
|
|
|
### Version
|
|
|
|
This resource first became available in v1.51.0 of InSpec.
|
|
|
|
The `free_kb`, `size_kb`, and `type` properties became available in v3.6 of InSpec.
|
|
|
|
### Note
|
|
|
|
Versions of this resource in Chef InSpec prior to 3.5.x offered a property `size`, which returned a value in GB when on Windows and a value in KB on Linux, though it was documented to always return KB. All new code should use `size_kb` which is unit-stable. The property `size` will remain available in Chef InSpec v3 and 4, but will be deprecated in the future.
|
|
|
|
## Syntax
|
|
|
|
A `filesystem` resource block declares tests for disk space in a partition:
|
|
|
|
describe filesystem('/') do
|
|
its('size_kb') { should be >= 32 * 1024 * 1024}
|
|
its('free_kb') { should be >= 50 * 1024 }
|
|
its('percent_free') { should be >= 20 }
|
|
its('type') { should cmp 'ext4' }
|
|
end
|
|
|
|
where
|
|
|
|
* `filesystem('/')` states that the resource will look at the root (/) partition.
|
|
* `size_kb` is the total partition size and is measured in kilobytes (KB).
|
|
* `free_kb` is the available space on the partition and is measured in kilobytes (KB).
|
|
* `percent_free` is the percentage of available free space, and ranges from 0 to 100.
|
|
|
|
<br>
|
|
|
|
## Resource Property Examples
|
|
|
|
The following examples show how to use this Chef InSpec audit resource.
|
|
|
|
### Test if the root partition is greater than 32000 KB
|
|
|
|
describe filesystem('/') do
|
|
its('size_kb') { should be >= 32000 }
|
|
end
|
|
|
|
<br>
|
|
|
|
### Test that the root partition has more than 5GB free
|
|
|
|
describe filesystem('/') do
|
|
its('free_kb') { should be >= 5000000 }
|
|
end
|
|
|
|
<br>
|
|
|
|
### Test if the C:\ partition is NTFS
|
|
|
|
Note that Windows filesystems (drives) are referred to without any slashes:
|
|
|
|
describe filesystem('c:') do
|
|
its('type') { should cmp 'NTFS' }
|
|
end
|
|
|
|
<br>
|
|
|
|
### Test if the /var partition has sufficient free space
|
|
|
|
describe filesystem('/var') do
|
|
its('percent_free') { should be >= 20 }
|
|
end
|
|
|
|
## Matchers
|
|
|
|
For a full list of available matchers, please visit our [matchers page](https://www.inspec.io/docs/reference/matchers/).
|