使用 cf-engine 将文件从策略中心复制到主机
File copy using cf-engine from policy hub to hosts
我正在尝试使用 cf-engine 将文件从策略中心复制到主机。在主机上创建空文件。我如何才能写出内容?策略中心和主机是否应该将文件放在同一位置?
为了从 cfengine 服务器复制文件,需要有一个允许将文件共享到远程代理的 acl。你可以看到一些 access promises in the Masterfiles Policy Frameworks bundle server access_rules.
的例子
作为一个简单的例子,假设您希望所有主机共享策略中心上的 /tmp
给所有其他主机。
bundle server kiran_access_rules
{
access:
# First you restrict promises to the proper context
# by using a class guard. Here we allow only hosts
# with the class am_policy_hub or policy_server to
# share /tmp
am_policy_hub|policy_server::
"/tmp"
admit => { "0.0.0.0/0" },
comment => "Probably you would reference a list in
the admit attribute like @(def.acl).
That's the variable named acl in the
bundle named def.";
}
然后您将单独拥有一个承诺复制文件的捆绑包。
bundle agent kirians_bundle
{
files:
"/tmp/myfile"
copy_from => remote_dcp("/tmp/serverfile",$(sys.policy_hub)),
create => "true";
}
现在,您在上面的 copy_from 承诺中看到的实际上是将多个承诺压缩为一个。您承诺该文件存在,并且您承诺该文件应与策略中心共享的文件具有相同的内容。随着 cfengine 的收敛,它能够修复部分但不是全部的复合承诺。我相信这就是您最终得到一个空文件的原因。
此外,询问 cfengine 问题的最佳位置是 cfengine help list or in the cfengine IRC channel。
我正在尝试使用 cf-engine 将文件从策略中心复制到主机。在主机上创建空文件。我如何才能写出内容?策略中心和主机是否应该将文件放在同一位置?
为了从 cfengine 服务器复制文件,需要有一个允许将文件共享到远程代理的 acl。你可以看到一些 access promises in the Masterfiles Policy Frameworks bundle server access_rules.
的例子作为一个简单的例子,假设您希望所有主机共享策略中心上的 /tmp
给所有其他主机。
bundle server kiran_access_rules
{
access:
# First you restrict promises to the proper context
# by using a class guard. Here we allow only hosts
# with the class am_policy_hub or policy_server to
# share /tmp
am_policy_hub|policy_server::
"/tmp"
admit => { "0.0.0.0/0" },
comment => "Probably you would reference a list in
the admit attribute like @(def.acl).
That's the variable named acl in the
bundle named def.";
}
然后您将单独拥有一个承诺复制文件的捆绑包。
bundle agent kirians_bundle
{
files:
"/tmp/myfile"
copy_from => remote_dcp("/tmp/serverfile",$(sys.policy_hub)),
create => "true";
}
现在,您在上面的 copy_from 承诺中看到的实际上是将多个承诺压缩为一个。您承诺该文件存在,并且您承诺该文件应与策略中心共享的文件具有相同的内容。随着 cfengine 的收敛,它能够修复部分但不是全部的复合承诺。我相信这就是您最终得到一个空文件的原因。
此外,询问 cfengine 问题的最佳位置是 cfengine help list or in the cfengine IRC channel。