Ресурс etc_fstab
Используйте ресурс аудита Chef InSpec, чтобы проверить информацию обо всех разделах и устройствах хранения на Linux-системе.
Доступность
Установка
Этот ресурс распространяется вместе с самим Chef InSpec. Вы можете использовать его автоматически.
Версия
Этот ресурс стал доступен в версии InSpec v1.37.6.
Синтаксис
Правило etc_fstab задает имя устройства, точку монтирования, тип файловой системы, опции монтирования, опции dump и порядок проверки файловой системы.
Используйте предложение where для сопоставления свойства с одним или несколькими правилами в файле fstab:
describe etc_fstab.where { device_name == 'value' } do
its('mount_point') { should cmp 'hostname' }
its('file_system_type') { should cmp 'list' }
its('mount_options') { should cmp 'list' }
its('dump_options') { should cmp 'list' }
its('file_system_options') { should cmp 'list' }
end
Используйте необязательный параметр конструктора для указания альтернативного пути к файлу fstab:
describe etc_fstab(hosts_path).where { device_name == 'value' } do
its('mount_point') { should cmp 'hostname' }
its('file_system_type') { should cmp 'list' }
its('mount_options') { should cmp 'list' }
its('dump_options') { should cmp 'list' }
its('file_system_options') { should cmp 'list ' }
end
Свойства
-
device_name— имя, связанное с устройством. -
mount_point— каталог, в котором настроено монтирование файловой системы. -
file_system_type— тип файловой системы устройства или раздела. -
mount_options— опции для устройства или раздела. -
dump_options— число, используемое dump для определения, следует ли создавать резервную копию файловой системы. -
file_system_options— число, определяющее порядок проверки файловой системы.
Примеры свойств
device_name
device_name возвращает строковый массив имён устройств, смонтированных в системе.
describe etc_fstab.where { mount_point == '/mnt/sr0' } do
its('device_name') { should cmp '/dev/sr0' }
end
mount_point
mount_point возвращает строковый массив каталогов, в которых настроены монтирования файловых систем.
describe etc_fstab.where { device_name == '/dev/sr0' } do
its('mount_point') { should cmp '/mnt/sr0' }
end
file_system_type
file_system_type возвращает массив строк каждого типа файловой системы раздела.
describe etc_fstab.where { device_name == '/dev/sr0' } do
its('file_system_type') { should cmp 'iso9660' }
end
mount_options
mount_options возвращает двумерный массив опций монтирования каждого раздела.
describe etc_fstab.where { mount_point == '/' } do
its('mount_options') { should eq [['defaults', 'x-systemd.device-timeout=0']] }
end
dump_options
dump_options возвращает целочисленный массив опций dump каждого раздела.
describe etc_fstab.where { device_name == '/dev/sr0' } do
its('dump_options') { should cmp 0 }
end
file_system_options
file_system_options возвращает целочисленный массив опций файловой системы каждого раздела.
describe etc_fstab.where { device_name == '/dev/sr0' } do
its('file_system_options') { should cmp 0 }
end
Проверка всех разделов с типом ‘nfs’
nfs_systems = etc_fstab.nfs_file_systems.entries
nfs_systems.each do |partition|
describe partition do
its('mount_options') { should include 'nosuid' }
end
end
Проверка раздела, смонтированного в /home, на наличие ‘nosuid’ в mount_options
describe etc_fstab do
its('home_mount_options') { should include 'nosuid' }
end
Проверка, смонтирован ли раздел в заданной точке
describe etc_fstab.where { mount_point == '/home' } do
it { should be_configured }
end
Сопоставители
Полный список доступных сопоставителей см. на странице сопоставителей.
© Chef Software, Inc.
Licensed under the Creative Commons Attribution 3.0 Unported License.
The Chef™ Mark and Chef Logo are either registered trademarks/service marks or trademarks/servicemarks of Chef, in the United States and other countries and are used with Chef Inc's permission.
We are not affiliated with, endorsed or sponsored by Chef Inc.
https://docs.chef.io/inspec/resources/etc_fstab/