Можно ли заставить puppet комбинировать рекурсивные и нерекурсивные изменения в данном каталоге

Я использую puppet 3.8.4 в debian. Я хочу рекурсивно установить владельца и группу в заданном каталоге, но установить разрешения только для самого каталога, т.е. Я не хочу изменять что-либо в каталоге chmod, только chown / chgrp it.

Я пробовал следующее ...

file {[
    "/foo/bar" ,
  ] :
  ensure  => directory,
  owner   => root,
  group   => bar,
  recurse => true,
  require       => [
    User[root],
    Group[bar],
  ],
}
file {[
    "/foo/bar" ,
  ] :
  ensure  => directory,
  mode    => 0640,           # +x automatically added to directories
  recurse => false,
}

Но, конечно, puppet затем жалуется на повторяющееся объявление: File [/ foo / bar] if вы делаете это.

Есть ли способ в puppet сделать это без необходимости явно делать каталог верхнего уровня, а затем все файлы и папки в нем?

3
задан 5 November 2015 в 18:20
2 ответа

Просто для ответа: вы не можете.

Параметр namevar - это путь, поэтому у вас не может быть двух файловых ресурсов с одинаковым путем.

Проверьте документацию о файловом ресурсе: https://docs.puppetlabs.com/references/latest/type.html#file

1
ответ дан 3 December 2019 в 08:03

Не тестировалось, но это должно работать:

Для второго ресурса просто назовите его по-другому и задайте явный путь :

file {"/foo/bar_root":
  path    => "/foo/bar",
  ensure  => directory,
  mode    => 0640,           # +x automatically added to directories
  recurse => false,
}
-1
ответ дан 3 December 2019 в 08:03

Теги

Похожие вопросы