puppet fileserver 提供非模块文件

puppet fileserver 提供非模块文件

我想要位于的服务器文件/etc/puppet/files/key.pgp

  file { "/var/www/key.gpg":
    ensure  => present,
    source  => 'puppet:///files/key.gpg',
  }

我收到此错误:

Not authorized to call find on /file_metadata/files/key.gpg

auth.conf:(我理解这应该匹配file*

path /file
allow *

文件服务器.conf:

[files]
  path /etc/puppet/files
  allow *

我做错什么了吗?我使用 librarian 来管理我的模块,所以我不想将任何特定于模块目录的配置放进去。

答案1

文件描述应该包含完整路径:

file { '/etc/puppet/files/gpg.key'
...

检查运行 puppet master 的用户是否可以访问服务器上的文件。还要检查 puppet 是否被允许进入指定目录。如果是 gpg.key 文件,则很有可能访问模式为 0600,并且 puppet 不允许访问它(可能由 root 或其他人拥有)。

答案2

这个配置看起来正确,假如您的 Puppet 代理正在 192.168.1.x 子网中的主机上运行。

拒绝来自fileserver.conf,因为您auth.conf允许所有/file*资源。看来您的 Puppet 代理未从此范围内的 IP 进行连接 - 尝试暂时添加allow *fileserver.conf[files] 部分以确认这一点。

如果您的 Puppet 代理主机是多宿主的,请检查它从哪个接口发送。

还要检查 fileserver.conf 上的权限和所有权是否正确。

相关内容