Techioz Blog

Puppet ファイル リソースを使用して、ディレクトリに対してファイルとは異なるアクセス許可を与えるにはどうすればよいですか?

概要

Puppetを使ってディレクトリを管理したいと考えています。このディレクトリをユーザー root とグループ admin が所有し、0770 権限を持つようにしたいと考えています。

ディレクトリ内のすべてのファイルを、ユーザー apache と 0600 権限を持つグループ admin が所有するようにしたいと考えています。

Puppet のファイル リソースを使用してこれを実現する方法はまだ見つかりません。次のように 2 つのリソースを使用してみました。

file { 'phpsessions_files':
    path => '/var/phpsessions',
    ensure => directory,
    owner => 'apache',
    group => 'admin',
    mode => 0600,
    recurse => true,
    before => File['phpsessions_dir'],
}

file { 'phpsessions_dir':
    path => '/var/phpsessions',
    recurse => false,
    owner => 'root',
    group => 'admin',
    mode => 0770,
}

しかし、同じパスに 2 つのファイル リソースを作成することは許可されておらず、1 つのリソースだけで希望する内容を実現する方法がわかりません。

ご協力をよろしくお願いいたします。

解決策

再帰後にディレクトリのモードを変更するには、exec を含む定義を作成します。

http://projects.puppetlabs.com/projects/1/wiki/File_Permission_Check_Patterns