如何为tigervnc或openvpn等需要用户设置密码或默认设置的软件包编写Puppet模块?

时间:2016-01-08 21:13:25

标签: automation puppet puppet-enterprise

我正在学习木偶,我正在尝试编写模块来安装tigervnc和openvpn等服务。

问题是对于tigervnc,需要用户设置初始密码。我尝试过使用:     " exec {' / usr / bin / echo密码| / usr / bin / vncpasswd> 〜/ .vnc / passwd的" 如果我在命令行上运行它,如果我以用户身份登录但在通过puppet运行时不起作用,则此方法有效。

openvnc的问题在于它需要大量用户交互来进行证书生成/证书颁发机构和密钥生成的默认设置。 我已经尝试过使用带有" pkitool"有效但不太好或不稳定的方法。如果有更好的方法,我也很谨慎使用很多高管。

总而言之,我的主要问题是如何在尝试使用puppet进行自动化安装时如何处理这些用户交互,是否有比运行大量高管更好的方式,这对我来说似乎是最后的手段?

由于

1 个答案:

答案 0 :(得分:0)

如果设置一个软件需要用户互动,我真的没有看到exec的方法。将其使用降至最低确实是一个合理的设计目标。

经济方法是

  1. 创建一个脚本,执行Puppet资源无法执行的所有必要操作
  2. 让Puppet将该脚本部署到代理
  3. 通过exec在适当的时间运行(以及良好的createsonlyif查询)
  4. 运行依赖于交互式输入的安装向导的脚本可能应该依赖于expect和朋友。