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