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
--
Rodrigo de Campos
Unix System Administrator