クライアントではなく、人形サーバー上にあるSELinux .teファイルでコマンドを実行する方法を見つけようとしています私はpuppetforgeのpuppet-selinuxモジュールを使って.teファイルを.ppモジュールファイルにコンパイルするので、クライアントサーバには必要ありません。私が取得クライアントサーバー上でそれを実行しようとしたときPuppetサーバー上のクライアントではなく、ファイル上でBASHコマンドを実行する
class security::selinux_module {
exec { 'selinux_module_check':
command => "grep module selinux_module_source.te | awk '{print $3}' | sed 's/;//' > /tmp/selinux_module_check.txt",
source => 'puppet:///modules/security/selinux_module_source.te',
}
}
けれども:私の基本的な考え方は、のようなものである
Error: Could not retrieve catalog from remote server: Error 400 on SERVER: Invalid parameter source on Exec[selinux_module_check] at /etc/puppet/environments/master/security/manifests/selinux_module.pp:3 on node client.domain.com
Warning: Not using cache on failed catalog
Error: Could not retrieve catalog; skipping run
この上の任意の助けをいただければ幸いです。
カタログのコンパイル時にマスター上で何かをしようとすると、その機能はかなり進んでいます。 'source'を' exec'で使用し、絶対的でない実行ファイルを 'exec'で使用しようとしたときの問題点について言及しているかどうか不明です。 –