人偶从symlink文件获取内容

时间:2019-03-14 18:06:09

标签: 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 个答案:

答案 0 :(得分:2)

我想您是在问如果file是主服务器上的符号链接,给定的/etc/puppetlabs/shared_files/fullchain.pem资源会产生什么影响。基本答案是Puppet的内置文件服务器遵循符号链接。在您可能会看到的地方并没有清楚地记录下来,但是the documentation for the fileserver configuration file在以下警告中如此清楚地表明:

  

注意:始终限制对已装入目录的写访问。文件服务器遵循文件服务器安装中的所有符号链接,包括   代理节点不应该访问的文件的链接(例如SSL密钥)。   当遵循符号链接时,文件服务器可以访问任何可读的文件   通过Puppet Server的用户帐户。

请注意,这与links资源的File参数无关。当目标节点上的指定路径标识符号链接时,这会影响Puppet的操作。具体来说,如果将links设置为follow(如您的示例),并且本地路径标识了符号链接,则Puppet将管理链接所指向的文件。否则(如果将links设置为manage(默认值),则指定的路径本身始终是受管理的路径。在这种情况下,如果该路径最初标识了符号链接,则Puppet会将其替换为常规文件(假设该示例未经修改)。