是否可以在文件中获取符号链接的内容?
如果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",
}
预先感谢
答案 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会将其替换为常规文件(假设该示例未经修改)。