Причина этого из-за этой строки:
STATE\CV0228U:(I)(M,WDAC,DC)
Это наследовано от родительского каталога, и "DC" говорит, что предоставляет, "Удаляют Дочернее" право. Это позволяет правообладателям удалять файлы и папки в том каталоге. Явные отклоняют на самом файле, превзойден в этом случае родительским разрешением.
Чтобы сделать то, что Вы, кажется, хотите сделать, постараться не присваиваться, "Удаляют Дочернее" право на каталог и вместо этого просто присваиваются, "Удаляют".
Похоже, ответ golja может сработать. Вот образец, который я на себе нанес. Похоже, что пока он работает.
class yum::reposareready {
# The sole and critical purpose of this class is to act as an
# intermediary between various repositories and the package
# resources. It lets us do things like:
# class yum::repofoo { ... }
# class applicationbar {
# package { 'bazfromtherightrepo': ..., require => yum::reposareready, }
# }
# node n {
# class { 'yum::repofoo': before => Class['yum::reposareready'] }
# }
# With this pattern:
# 1. The repository resource doesn't need to know about its ordering.
# 2. Nodes can mix in repository resources, including and excluding
# repositories as needed.
# 3. Classes that declare package resources need only require a
# generic "repos are ready" class rather than the knowing the
# specific repository from which to get a package.
# DO NOT DO THIS:
# class yum::repofoo { before => Class['yum::reposareready'] }
# class yum::repobar { before => Class['yum::reposareready'] }
#
# node n {
# include yum::repofoo
# }
#
# node m {
# include yum::repobar
# }
# The former scopes the ordering dependency to the node, whereas the
# latter does not. The latter would make Puppet apply yum::repofoo
# to both nodes n and m, whereas the former only applies
# yum::repofoo to node n.
}
Не уверен, что это сработает, но, возможно, вы могли бы попытаться определить зависимости на уровне узла. Например:
class X {
...
}
class Y {
...
}
node N {
include Y
}
node M {
Class['X'] -> Class['Y']
include X
include Y
}