在配置文件/ 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;匹配"条目?
答案 0 :(得分:0)
您可以使用Condition/*
子节点过滤掉Match
个节点。
例如,您可以在puppet sshd_config
provider(在Ruby中)看到它是如何完成的。请注意sshd_config
中的所有键都不区分大小写,因此无论情况如何,都需要使用正则表达式来确保它们匹配。