Augeas - частичное управление sshd-config - совпадение записей
В файле конфигурации /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"
Любая идея, как я могу сделать эти выражения более конкретными, чтобы они не мешали существующим и не связанным записям "Match"?
1 ответ
Вы можете использовать Condition/*
подузлы, чтобы отфильтровать Match
узлы.
Например, вы можете увидеть, как это делается в марионетке sshd_config
провайдер (в рубине). Обратите внимание, что все ключи в sshd_config
нечувствительны к регистру, поэтому вам нужно использовать регулярные выражения, чтобы убедиться, что они совпадают независимо от их регистра.