В promises.cf моей Cf-ServerD, я есть связка, какКак использовать параметризованные пакеты в cf-serverd?
bundle server host_rules(key, host) {
access:
"/srv/cfengine3/$(host)"
admit_keys => { "$(key)" };
}
Я попытался создать экземпляр его
body common control {
bundlesequence =>
{
generic_rules,
host_rules("MD5=362c5fcf568b492f78ae392229299c05", "foo.example.com"),
};
}
Но (с Cfengine-3.8.1), это, кажется, не имеют эффект. Например. cf-serverd -v
сообщает только о правилах доступа в пакете generic_rules
и предоставляется доступ к файлам foo.example.com.
generic_rules
(который представляет собой простой комплект bundle server generic_rules { ... }
), по-видимому, оценивается, если не указан общий bundlesequence
.
Как я могу расширить комплект host_rules
в настройке cf-serverd?
EDIT:
Я намерен дать доступ к некоторым каталогам только к соответствующему хосту, который идентифицируется по ключу. Я знаю, что можно использовать $(connection.key)
в путевом имени, но не нравится это, потому что
это неразборчивое (имея десятки каталогов с бессмысленными
MD5=...
имен делает его трудности, чтобы найти каталог, принадлежащий к «foo.example .com ')Это создает проблемы при изменении ключа клиента (например, потому что это было скомпрометировано или потому, что хост будет переустановлен). 'git' ( , используемый для организации моих правил cfengine) не поддерживает переименование файлов/каталогов , и я бы потерял историю изменений с помощью 'git mv'.
спасибо за эту идею, но мне не нравится иметь ключ в пути. Я обновил свой вопрос с подробностями. – ensc