Augeas - sshd-config的部分控制 - 匹配条目

时间:2016-07-28 17:20:29

标签: match sshd augeas

在配置文件/ etc / ssh / sshd_config中,我想确定一些特定用户(或组)的PasswordAuthentication条目,如:

Match Group xyz_admin, xyz_support
  PasswordAuthentication no
Match User yvonne,yvette
  PasswordAuthentication yes

我不想干涉或控制类似但不相关的条目,这些条目可能存在,也可能不存在,如:

Match User xavier
    X11Forwarding yes
Match Group alice
    AllowTcpForwarding yes

以下Augeas表达式创建了我需要的条目,但可能损坏现有的配置条目。

set /files/etc/ssh/sshd_config/Match[1]/Condition/Group "xyz_admin,xyz_support"
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" 

我知道如何让这些表达更具体,这样他们就可以避免搞乱现有的和不相关的#34;匹配"条目?

1 个答案:

答案 0 :(得分:0)

您可以使用Condition/*子节点过滤掉Match个节点。

例如,您可以在puppet sshd_config provider(在Ruby中)看到它是如何完成的。请注意sshd_config中的所有键都不区分大小写,因此无论情况如何,都需要使用正则表达式来确保它们匹配。