Swuder
@Swuder
Просто хочу быть счастливым и с пивом

Как заменить текст с помощью модуля replace?

Есть в ssh-конфиге такая строка:
Subsystem       sftp    /usr/lib/openssh/sftp-server

Хочу ее закомментить:
- name: Change ssh-config
  replace:
    path: /etc/ssh/sshd_config
    regexp: '^#?Subsystem *sftp *\/usr\/lib\/openssh\/sftp-server'
    replace: '#Subsystem       sftp    /usr/lib/openssh/sftp-server'

Регулярка нормально отрабатывает на сайте-тренажере regex101.com
А в плейбуке - нет.

UPD: решено, в файле были табы вместо пробелов, спасибо @akelsey
'^#?Subsystem.*sftp.*\/usr\/lib\/openssh\/sftp-server'
  • Вопрос задан
  • 103 просмотра
Решения вопроса 1
akelsey
@akelsey
Регулярка верная, всё норм отрабатывает, возможно не хватает прав.
Дополните плейбук опцией:
become: true
или параметр
ansible-playbook -b

PS
подробнее
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы