grub_conf ресурс
Grub — это загрузчик операционной системы на платформе Linux, используемый для загрузки и передачи управления ядру операционной системы, после чего это ядро инициализирует остальную часть операционной системы. Используйте ресурс проверки аудита Chef InSpec для проверки настроек конфигурации загрузчика, определённых в файле конфигурации.
Доступность
Установка
Этот ресурс распространяется вместе с самим Chef InSpec. Вы можете использовать его автоматически.
Версия
Этот ресурс стал доступен в версии InSpec v1.0.0.
Синтаксис
Блок ресурса объявляет список настроек в файле:
describe grub_conf('path', 'kernel') do
its('setting') { should eq 'value' }
end
или:
describe grub_conf('path') do
its('default') { should eq '0' } #
its('setting') { should eq 'value' }
end
где
-
'service_name'— служба, перечисленная в файлеgrub.conf -
'path'— путь к файлуgrub.conf -
'kernel'указывает на ядро по умолчанию (используя'default') или на конкретное ядро;'default'определяет позицию в списке ядер, где определено ядро по умолчанию, т.е.should eq '0'для первого ядра в списке или'path', 'default'для использования ядра по умолчанию, как указано в файлеgrub.conf -
'value'— ожидаемое значение
Примеры
Следующие примеры показывают, как использовать этот ресурс проверки аудита Chef InSpec.
Тестирование файла grub.conf
Файл конфигурации Grub, расположенный по адресу /etc/grub.conf, похож на следующий:
# grub.conf generated by anaconda
#
# Note: You do not need to rerun grub after making changes to this file
# NOTICE: You have a /boot partition. This means that
# all kernel and initrd paths are relative to /boot/, eg.
# root (hd0,0)
# kernel /vmlinuz-version ro root=/dev/hda6
# initrd /initrd-version.img
#boot=/dev/hda
default=0
timeout=10
splashimage=(hd0,0)/grub/splash.xpm.gz
title Red Hat Enterprise Linux ES (2.6.32-573.7.1.el6.x86_64)
root (hd0,0)
kernel /vmlinuz-2.6.32-573.7.1.el6.x86_64 ro root=/dev/hda6
initrd /initrd-2.6.32-573.7.1.el6.x86_64.img
title Red Hat Enterprise Linux ES (2.6.32-358.14.1.el6.x86_64)
root (hd0,0)
kernel /vmlinuz-2.6.32-358.14.1.el6.x86_64 ro root=/dev/hda6 ramdisk_size=400000
initrd /initrd-2.6.32-358.14.1.el6.x86_64.img
Этот файл определяет две версии RedHat Enterprise Linux, с версией 2.6.32-573.7.1.el6.x86_64 по умолчанию.
Следующий тест проверяет ядро, проверяет, что ядро является ядром по умолчанию, его начальный диск RAM (initrd) и таймаут:
describe grub_conf('/etc/grub.conf', 'default') do
its('kernel') { should include '/vmlinuz-2.6.32-573.7.1.el6.x86_64' }
its('initrd') { should include '/initrd-2.6.32-573.7.1.el6.x86_64.img' }
its('default') { should_not eq '1' }
its('timeout') { should eq '10' }
end
Следующий тест проверяет ramdisk_size для ядра, не являющегося ядром по умолчанию:
describe grub_conf('/etc/grub.conf', 'Red Hat Enterprise Linux ES (2.6.32-358.14.1.el6.x86_64)') do
its('kernel') { should include 'ramdisk_size=400000' }
end
Проверка файла конфигурации и конфигурации загрузки
describe grub_conf('/etc/grub.conf', 'default') do
its('kernel') { should include '/vmlinuz-2.6.32-573.7.1.el6.x86_64' }
its('initrd') { should include '/initramfs-2.6.32-573.el6.x86_64.img=1' }
its('default') { should_not eq '1' }
its('timeout') { should eq '5' }
end
Проверка определённого ядра
grub_conf('/etc/grub.conf', 'CentOS (2.6.32-573.12.1.el6.x86_64)') do
its('kernel') { should include 'audit=1' }
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/grub_conf/