Spec-Zone.ru › Chef 18

grub_conf ресурс

[редактировать на GitHub]

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/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API