Ресурс postgres_conf
Используйте ресурс аудита Chef InSpec, чтобы проверить содержимое файла конфигурации PostgreSQL, который обычно находится по пути /etc/postgresql/<version>/main/postgresql.conf или /var/lib/postgres/data/postgresql.conf, в зависимости от платформы.
Доступность
Установка
Этот ресурс распространяется вместе с самим Chef InSpec. Вы можете использовать его автоматически.
Версия
Этот ресурс впервые стал доступен в версии InSpec v1.0.0.
Синтаксис
Блок ресурса postgres_conf объявляет одну (или несколько) настройку в файле postgresql.conf, а затем сравнивает настройку в файле конфигурации со значением, указанным в тесте:
describe postgres_conf('path') do
its('setting') { should eq 'value' }
end
где
-
'setting'указывает настройку в файлеpostgresql.conf -
('path')— это нестандартный путь к файлуpostgresql.conf(необязательно) -
should eq 'value'— ожидаемое значение
Примеры
Следующие примеры показывают, как использовать этот ресурс аудита Chef InSpec.
Проверка максимального количества разрешенных подключений клиентов
describe postgres_conf do
its('max_connections') { should eq '5' }
end
Проверка системного ведения журнала
describe postgres_conf do
its('logging_collector') { should eq 'on' }
its('log_connections') { should eq 'on' }
its('log_disconnections') { should eq 'on' }
its('log_duration') { should eq 'on' }
its('log_hostname') { should eq 'on' }
its('log_line_prefix') { should eq '%t %u %d %h' }
its(['pgaudit.log_parameter']) { should cmp 'on' }
end
Проверка порта, на котором PostgreSQL прослушивает
describe postgres_conf do
its('port') { should eq '5432' }
end
Проверка настроек сокета Unix
describe postgres_conf do
its('unix_socket_directories') { should eq '.s.PGSQL.5432' }
its('unix_socket_group') { should eq nil }
its('unix_socket_permissions') { should eq '0770' }
end
где unix_socket_group установлено на значение по умолчанию PostgreSQL (группа, к которой принадлежит пользователь сервера).
Сопоставители
Полный список доступных сопоставителей см. на странице сопоставителей.
setting
Сопоставитель setting тестирует определенные, именованные настройки в файле postgresql.conf:
its('setting') { should eq 'value' }
Для каждой проверяемой настройки используйте сопоставитель setting.
© 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/postgres_conf/