ruby 如何使用Puppet文件资源在目录上给予与文件不同的权限?

cuxqih21  于 2022-11-04  发布在  Ruby
关注(0)|答案(2)|浏览(166)

我想使用Puppet来管理一个目录。我想让这个目录由root用户和管理员组拥有,并拥有0770的权限。
我希望目录中的所有文件都归用户apache和具有0600权限的组admin所有。
我还没有找到使用Puppet中的文件资源来实现这一点的方法。我已经尝试使用两种资源,如下所示:

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,
}

但是我不允许在同一路径下创建两个文件资源,而且我不知道如何使用一个资源来实现我想要的效果。
非常感谢你的帮助。

zwghvu4y

zwghvu4y1#

创建一个包含exec的定义,以在递归目录后更改目录的模式。
http://projects.puppetlabs.com/projects/1/wiki/File_Permission_Check_Patterns

zsbz8rwp

zsbz8rwp2#

据我所知,这在 puppet 中是不可能的。我只能做到以下几点。

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

php/apache应该使用正确的权限在这个文件夹中创建文件,如果他们没有在php.ini中修复这个问题。如果你担心其他东西会沿着并更改权限,那么可以回到cron作业,或者更好的是使用systemd.timer来周期性地检查并纠正它们

相关问题