3

パペットを使用して、一貫した名前を持たないファイルのアクセス許可を変更するにはどうすればよいですか?

私の仕事は、次のように末尾に日付が追加されたバイナリを管理することです。

lrwxrwxrwx 1 root root       18 Oct 25 18:46 apbridge -> ./apbridge20131025
lrwxrwxrwx 1 root root       18 Oct 25 18:46 apbridge1025 -> ./apbridge20131025
-rwxr-xr-x 1 root root     2914 Oct 25 18:46 apbridge20131025

apbridge20131025 の権限が間違っています。通常、次のように変更します。

  file  {'/root/alpsSim/alps_simulator_r7537/tester/apbridge20131025':
    owner   =>  'root',
    group   =>  'root',
    ensure  =>  file,
    mode    => '0755',
  }

ただし、apbridge が終了する数値を予測できないため、これは壊れる可能性が非常に高くなります。

サードパーティのスクリプトによってインストールされるため、apbridgexxxxx の名前を制御することはできません。末尾の数字は設置日を表しています。

puppet ファイルのリソース宣言でワイルドカードを使用する方法はありますか?

4

2 に答える 2

1

通常exec、一般的に Puppet で使用することはお勧めしませんが、この場合、chmodべき等です。どのように実行しても同じ結果が得られます。Puppet がパーミッションを変更しようとするファイルごとに md5 ハッシュを計算する必要がないというわずかな利点もあります。

とは言うものの、アクセス許可を確実にするより洗練された方法は、apbridge*ファイルのみが存在すると仮定して、ファイルを含むディレクトリにそれらを再帰的に設定することです。

file  {'/root/alpsSim/alps_simulator_r7537/tester':
    owner   =>  'root',
    group   =>  'root',
    ensure  =>  directory,
    recurse => true,
    mode    => '0755',
}
于 2013-10-29T02:12:08.413 に答える