私の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 { ... }
バンドルです) は、共通のリストにない場合に評価されるようbundlesequence
です。
host_rules
cf-serverd セットアップでバンドルを展開するにはどうすればよいですか?
編集:
キーによって識別される対応するホストにのみ、いくつかのディレクトリへのアクセスを許可するつもりです。パス名で使用できることは知っています$(connection.key)
が、嫌いなので
読めません (無意味な
MD5=...
名前のディレクトリが多数あると、「foo.example.com」に属するディレクトリを見つけるのが難しくなります)クライアントキーが変更されたときに問題が発生します (たとえば、侵害された、またはホストが再インストールされるため)。「git」(cfengine ルールの編成に使用) は、ファイル/ディレクトリの名前変更をサポートしていないため、「git mv」による変更履歴が失われます。