Puppet:SERVER上的错误400:权限被拒绝

我想使用DOCSF模块(从github)。 如果我尝试使用它,我得到这个结果:

Error: /File[/var/lib/puppet/facts.d]: Failed to generate additional resources using 'eval_generate': Error 400 on SERVER: Permission denied - /etc/puppet/environments/production/modules/docsf/metadata.json Error: /File[/var/lib/puppet/facts.d]: Could not evaluate: Could not retrieve file metadata for puppet://puppetmaster.example.com/pluginfacts: Error 400 on SERVER: Permission denied - /etc/puppet/environments/production/modules/docsf/metadata.json Info: Retrieving plugin Error: /File[/var/lib/puppet/lib]: Failed to generate additional resources using 'eval_generate': Error 400 on SERVER: Permission denied - /etc/puppet/environments/production/modules/docsf/metadata.json Error: /File[/var/lib/puppet/lib]: Could not evaluate: Could not retrieve file metadata for puppet://puppetmaster.example.com/plugins: Error 400 on SERVER: Permission denied - /etc/puppet/environments/production/modules/docsf/metadata.json Info: Loading facts Error: Could not retrieve catalog from remote server: Error 400 on SERVER: Permission denied - /etc/puppet/environments/production/modules/docsf/metadata.json on node pp-testexample.com Warning: Not using cache on failed catalog Error: Could not retrieve catalog; skipping run 

这些是模块上的文件权限:

 -r--r--r--. 1 puppet root 734 24. Jun 2014 checksums.json drwxrwxr-x. 3 puppet root 19 15. Sep 2015 lib -r--r--r--. 1 puppet root 651 15. Sep 2015 LICENSE drwxr-sr-x. 2 puppet root 71 15. Sep 2015 manifests -r--r--r--. 1 puppet root 792 15. Sep 2015 metadata.json -r--r--r--. 1 puppet root 2770 15. Sep 2015 README.md drwxr-xr-x. 2 puppet root 27 15. Sep 2015 spec drwxr-xr-x. 2 puppet root 4096 15. Sep 2015 templates drwxr-xr-x. 2 puppet root 20 15. Sep 2015 tests 

这是树:

 ├── checksums.json ├── lib │  └── facter │  └── configserver_firewall.rb ├── LICENSE ├── manifests │  ├── init.pp │  ├── params.pp │  ├── postinit.pp │  └── preinit.pp ├── metadata.json ├── README.md ├── spec │  └── spec_helper.rb ├── templates │  ├── conf.maldet.erb │  ├── csf.allow.erb │  ├── csf.conf.erb │  ├── csf.fignore.erb │  ├── csf.ignore.erb │  └── csf.pignore.erb └── tests └── init.pp 

有任何想法吗?

另一个问题可能是SELinux政策。 尝试在文件上运行restorcon。

restorcon -r / etc / puppet / files /

傀儡模块内的文件至less需要为0644 。 在github上有几个例子:

https://tickets.puppetlabs.com/browse/FORGE-163

https://github.com/voxpupuli/puppet-collectd/issues/179

https://github.com/rodjek/librarian-puppet/issues/251

只要改变烫发来匹配其他文件,你应该没问题