diff --git a/tasks/install.yml b/tasks/install.yml index 3a0e06c..2e566e4 100644 --- a/tasks/install.yml +++ b/tasks/install.yml @@ -20,6 +20,17 @@ # enabled: no # ignore_errors: true +- name: Stop Samba services before provisioning + ansible.builtin.service: + name: "{{ item }}" + state: stopped + ignore_errors: true + loop: + - samba-ad-dc + - smbd + - nmbd + - winbind + diff --git a/tasks/provision.yml b/tasks/provision.yml index 4dfed80..de0d4c3 100644 --- a/tasks/provision.yml +++ b/tasks/provision.yml @@ -4,6 +4,16 @@ path: /var/lib/samba/private/adsync.conf register: samba_provisioned +- name: Remove smb.conf if server role conflicts + ansible.builtin.shell: | + if grep -q "server role = standalone server" /etc/samba/smb.conf 2>/dev/null; then + mv /etc/samba/smb.conf /etc/samba/smb.conf.bak.$(date +%s) + fi + args: + executable: /bin/bash + changed_when: false + when: not samba_provisioned.stat.exists + - name: Provision the Samba AD DC ansible.builtin.command: > samba-tool domain provision