Forum: Cfengine Help
Subject: Re: Strange behaviour with insert_lines
Author: zzamboni
Link to topic: https://cfengine.com/forum/read.php?3,18780,18795#msg-18795
I have written an edit_line body called replace_or_add, which I think could be
useful for what you want to achieve. It takes a regular expression and a line -
if the regex matches, then the matching line is replaced with the given line,
and if nothing matches, then the line is added. I use it to make small changes
in files, for example:
"/etc/ssh/sshd_config"
handle => "sshdconfig_only_protocol2",
comment => "Ensure only ssh protocol v2 is enabled",
edit_line => replace_or_add("^# *Protocol 2,1.*$","Protocol 2"),
classes => if_repaired("restart_sshd");
This is used to modify the stock sshd_config to allow only Protocol 2.
(Although, for this particular case, my set_config_values body is perhaps a
better way of achieving it, it uses both edit_field and insert_line as needed).
You can find my version of cfengine_stdlib here:
http://github.com/zzamboni/cfengine-copbl (I should probably submit these
changes to cfengine at some point).
_______________________________________________
Help-cfengine mailing list
[email protected]
https://cfengine.org/mailman/listinfo/help-cfengine