Ресурс grub_conf
Grub — это загрузчик операционной системы на платформе Linux, используемый для загрузки и передачи управления ядру операционной системы, после чего это ядро инициализирует остальную часть операционной системы. Используйте этот ресурс проверки Chef InSpec для проверки настроек конфигурации загрузчика, которые определены в файле конфигурации.
Доступность
Установка
Этот ресурс распространяется вместе с самим Chef InSpec. Вы можете использовать его автоматически.
Версия
Этот ресурс впервые стал доступен в версии v1.0.0 InSpec.
Синтаксис
Блок ресурса grub_conf объявляет список настроек в файле grub.conf.
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/