我知道puppet模块总是有一个文件目录,我知道它应该在哪里,我已经从我自己的手写模块中有效地使用了 source => 语法但是现在我需要学习如何使用Hiera部署文件。
我从saz-sudo模块开始,我已经阅读了文档,但我无法看到有关放置sudoers文件的位置;我要分发的那个。 我不确定是否需要在/ etc / puppetlabs / puppet中设置站点范围的文件目录,然后在每个模块或其中设置子目录。如果我说的话,Hiera是否知道要查看/ etc / puppetlabs / puppet / files / sudo, source => " puppet:/// files / etc / sudoers" ?我需要在/etc/hiera.yaml中添加路径名吗?添加一行 - 文件?
感谢您提供任何线索。
答案 0 :(得分:1)
我对木偶模块的粗略观点,给出了使用hiera的例子:
sudo::configs:
'web':
'source' : 'puppet:///files/etc/sudoers.d/web'
'admins':
'content' : "%admins ALL=(ALL) NOPASSWD: ALL"
'priority' : 10
'joe':
'priority' : 60
'source' : 'puppet:///files/etc/sudoers.d/users/joe'
建议它假设你有一个"文件"木偶模块。所以在你的木偶模块部分:
mkdir -p files/files/etc/sudoers.d/
将文件放在那里。
说明:
url' puppet:///files/etc/sudoers.d/users/joe'因此被打破了:
puppet: protocol
///: Three slashes indicate the source of the file is in a module.
files: name of the module
etc/sudoers.d/users/joe: full path to the file within the module's "files" directory.
答案 1 :(得分:0)
你没有。
模块(Hiera支持与否)的想法是提升管理整个sudoers文件的需求。相反,您可以管理sudoers文件中的每个条目。
我建议您仔细阅读documentation。您绝对应该不在您的清单中拥有file { "/etc/sudoers": }
资源。
答案 2 :(得分:0)
Hiera不需要对文件做任何事情。
Hiera就像一个变量数据库,以及基于您拥有的层次结构的服务器。
puppet中的文件通常以 source => 等方式访问,但这些文件也使用了一些基本结构。
在大多数情况下,当您拨打 文件 或 模板 时。
模板可以满足您根据需要自动构建sudoers的需求。 还有一些模块也支持修改sudoers。
取决于你该怎么做。
在这种情况下,saz将文件的位置存储在hiera中,但真实位置可以是木偶内的文件(如模块文件或类似文件)。
这完全不相关。 阅读puppet file server
如果您有疑问,请询问。
V