Hi all,
I'm trying to run the code below. Basically I want to include the
users “user” and “user2” after the line “Authentication:”. I’m running this ruby_block inside a Chef recipe and in a first moment it works as expected, however, after I run “chef-solo” again the recipe is applied again and two more lines are created in the destination file. I need a way for my script to check for the existence of “user” and “user2” lines and then stop the script and write nothing.
I suspect I should use some kind of regular expression but I am not
sure how.
Any ideas? Below follows the code.
Thanks for your help.
**ruby_block "insert_line_to_sshd" do** **block do** **file = Chef::Util::FileEdit.new("/tmp/testconf")** ** file.insert_line_after_match("Authentication:",
“AllowUsers/1 user”)** ** file.insert_line_after_match(“Authentication:”, “AllowUsers/1 user2”)** file.write_file end end