Question:
I am trying to remove the below section from samba config file smb.conf.
1 2 3 4 5 6 7 |
[public] path = /opt/samba/public guest ok = yes browsable = yes writable = yes read only = no |
Blockinfile module won’t work as there are no markers . Lineinfile will also have a problem as there are lines which are common to other sections. e.g
1 2 3 |
browsable = yes writable = yes |
How do I remove these lines using ansible?
PS: replacing the config file with a new one is not possible as each server has a unique user mapped to it (not ideal when running batch jobs)
Answer:
You can use replace module:
1 2 3 4 5 6 |
- replace: path: /etc/smb.conf regexp: '^\[public\][^[]+' replace: '' backup: yes |
This should remove everything between [public]
and [
or EOF
.