Используя марионетку для управления ntpd сертификатами

Моя компания требует, чтобы я реализовал подписанное время в ntpd с автоключом. Одно из требований для автоключа к работе должно генерировать, включает каждый хост. Все клиенты являются частью той же группы, таким образом, они все используют тот же пароль. Я хотел бы не должным быть вручную генерировать ключ на каждом хосте, если это возможно. Существует ли путь к типу файла для выполнения команды, если марионетка обнаруживает, что это не существует? Или есть ли некоторые другие альтернативы, которые я могу использовать для руководящих ключей через марионетку?

2
задан 4 August 2014 в 22:48
1 ответ

В марионетке, чтобы выполнить команду, используйте ресурс exec. Чтобы убедиться, что ваша команда будет выполнена только в том случае, если конкретного файла не существует, укажите опцию create.

Например:

exec { "create_needed_directory":
    command => "/bin/mkdir -p /tmp/needed/directory",
    creates => "/tmp/needed/directory"
}

Если вам нужно выполнить более сложную проверку, вы можете использовать опцию onlyif:

exec { "run_account_purger":
    command => "/usr/local/sbin/account_purger",
    onlyif => "grep -c old_account /etc/passwd",
}

Оба примера взяты из PuppetCookBook.

Честно говоря, я понятия не имею, является ли это лучшим способом генерации ключей для NTP. Вы также можете сгенерировать все ключи на одной машине, поместить их в кукольный репо и распространять их с помощью ресурса file. Это может быть немного более безопасно, потому что таким образом вам не нужно будет раскрывать пароль.

.
2
ответ дан 3 December 2019 в 11:41

Теги

Похожие вопросы