我想要位于的服务器文件/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 上的权限和所有权是否正确。