Кукольный получает содержимое из файла символической ссылки

#puppet

#кукольный

Вопрос:

Возможно ли получить содержимое символьной ссылки в файле?

Я могу создать файл с содержимым в случае, если fullchain.pem это не символическая ссылка.

Моя конфигурация для файлового сервера

 [shared_files]
    path /etc/puppetlabs/shared_files
    allow *
  

Затем я пытаюсь передать содержимое на другой сервер

 file { '/etc/ssl/fullchain.pem':
    ensure => file,
    mode => '0664',
    owner => 'root',
    group => 'root',
    links => follow,
    source_permissions => ignore,
    source => "puppet:///shared_files/fullchain.pem",
  }
  

Заранее благодарю

Ответ №1:

Я думаю, вы спрашиваете о том, какой эффект оказывает данный file ресурс, если /etc/puppetlabs/shared_files/fullchain.pem является символической ссылкой на master. Основной ответ заключается в том, что встроенный файловый сервер Puppet следует символическим ссылкам. Это четко не задокументировано в тех местах, которые вы, вероятно, будете искать, но в документации к файлу конфигурации файлового сервера об этом ясно сказано в следующем предупреждении:

ВНИМАНИЕ: Всегда ограничивайте доступ на запись к подключенным каталогам. Файловый сервер следует любым символьным ссылкам при подключении файлового сервера, включая ссылки на файлы, к которым узлы агента не должны получать доступ (например, к ключам SSL). При переходе по символическим ссылкам файловый сервер может получить доступ к любым файлам, читаемым учетной записью пользователя Puppet Server.

Обратите внимание, что это не имеет ничего общего с links параметром File ресурса. Это влияет на то, что делает Puppet, когда указанный путь на целевом узле идентифицирует символическую ссылку. В частности, если links установлено значение follow , как в вашем примере, и локальный путь идентифицирует символическую ссылку, то Puppet будет управлять файлом, на который указывает ссылка. В противном случае (если links установлено значение manage по умолчанию) сам указанный путь всегда является управляемым. В этом случае, если в пути изначально указана символическая ссылка, то Puppet заменит ее обычным файлом (предположим, что пример иным образом не изменен).