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 нечувствительны к регистру, поэтому вам нужно использовать регулярные выражения, чтобы убедиться, что они совпадают независимо от их регистра.

Другие вопросы по тегам