在我的 cf-serverd 的 promises.cf 我有一个像
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 { ... }
捆绑包)似乎在未列出 common 时进行了评估bundlesequence
。
如何host_rules
在 cf-serverd 设置中扩展捆绑包?
编辑:
我打算仅将某些目录的访问权限授予由其密钥标识的相应主机。我知道可以$(connection.key)
在路径名中使用但不喜欢它,因为
它是不可读的(有几十个名称无意义的目录
MD5=...
使得很难找到属于 'foo.example.com' 的目录)当客户端密钥更改时(例如,因为它被破坏或因为主机将被重新安装),它会产生麻烦。'git'(用于组织我的 cfengine 规则)不支持重命名文件/目录,我会丢失使用 'git mv' 的更改历史记录。