Как я могу сказать Марионетке, “Если я объявляю класс X, применяю его ресурсы перед классом Y”?

Причина этого из-за этой строки:

STATE\CV0228U:(I)(M,WDAC,DC)

Это наследовано от родительского каталога, и "DC" говорит, что предоставляет, "Удаляют Дочернее" право. Это позволяет правообладателям удалять файлы и папки в том каталоге. Явные отклоняют на самом файле, превзойден в этом случае родительским разрешением.

Чтобы сделать то, что Вы, кажется, хотите сделать, постараться не присваиваться, "Удаляют Дочернее" право на каталог и вместо этого просто присваиваются, "Удаляют".

4
задан 20 September 2012 в 08:23
2 ответа

Похоже, ответ 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.

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

Не уверен, что это сработает, но, возможно, вы могли бы попытаться определить зависимости на уровне узла. Например:

class X {
    ...
}

class Y {
    ...
}

node N {
   include Y
}

node M {
    Class['X'] -> Class['Y']
    include X
    include Y
}
2
ответ дан 3 December 2019 в 03:45

Теги

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