把俄歇语翻译成木偶语俄歇语



使用puppet的augeas功能,我想修改配置文件:

/etc/ssh/sshd_config

在没有木偶的情况下,我用Augas的"augtool"进行了实验,发现了几条似乎有效的线:

augtool> set /files/etc/ssh/sshd_config/Match[1]/Condition/User "bill","ben"   
augtool> set /files/etc/ssh/sshd_config/Match/Settings/PasswordAuthentication "no" 
augtool> save

虽然它看起来还可以,但我真的不明白[1]在这里有什么用途。

我试过把这些台词放进木偶:,但没有成功

augeas { "sshd_config":
  context => "/files/etc/ssh/sshd_config",
  changes => [
  'set Match[1]/Condition/User "bill","ben"',
  'set Settings/PasswordAuthentication "no"',
  ],     
}

它给出了错误:错误:/Stage[main]/Samipermissions/Augas[shd_config]:无法评估:保存失败,请参阅调试

在调试模式下运行Puppet告诉我同样的事情。

有人知道这是怎么回事吗?

谢谢你m0dlx。你的回答让我摆脱了错误,但我想我仍然有点迷失在一系列的比赛中。使用"augtool"我可以完成以下操作:

set /files/etc/ssh/sshd_config/Match[1]/Condition/User "neil","nigel"
set /files/etc/ssh/sshd_config/Match[1]/Settings/PasswordAuthentication "no" 
set /files/etc/ssh/sshd_config/Match[2]/Condition/User "yvonne","yvette"
set /files/etc/ssh/sshd_config/Match[2]/Settings/PasswordAuthentication "yes" 

在配置文件中,它显示为:

Match User neil,nigel
  PasswordAuthentication no
Match User yvonne,yvette
  PasswordAuthentication yes

这是完美的。我把这个翻译成Puppet:

  augeas { "sshd_config":
    context => "/files/etc/ssh/sshd_config",
    changes => [
      'set Match[1]/Condition/User "neil","nigel"',
      'set Match[1]/Settings/PasswordAuthentication "no"',
      'set Match[2]/Condition/User "yvonne","yvette"',
      'set Match[2]/Settings/PasswordAuthentication "yes"',
    ],
  }

但配置文件中的结果却大不相同:

Match User neil
  PasswordAuthentication no
Match User yvonne
  PasswordAuthentication yes

虽然它看起来还可以,但我真的不明白[1]在这里有什么用途。

[1]类似于访问数组元素,它表示如果有多个Match条目,则要访问第一个。

'设置设置/PasswordAuthentication"否"',

您在augtool测试中错过了领先的Match/,这可能会导致Puppet的保存失败。

如果您仍然有问题,请在问题中包含Puppet的完整调试输出。

m0dlx的回答和后来的评论让我找到了以下完美的方法:

  augeas { "sshd_config":
    context => "/files/etc/ssh/sshd_config",
    changes => [
      'set Match[1]/Condition/User "neil,nigel"',
      'set Match[1]/Settings/PasswordAuthentication "no"',
      'set Match[2]/Condition/User "yvonne,yvette"',
      'set Match[2]/Settings/PasswordAuthentication "yes"',
    ],
  }

谢谢你m0dlx。

相关内容

  • 没有找到相关文章

最新更新