From ba4454706682a3218738fce1b47718c9903d937a Mon Sep 17 00:00:00 2001 From: Kris Lamoureux Date: Thu, 4 May 2023 03:09:34 -0400 Subject: [PATCH] testing --- roles/base/tasks/samba.yml | 25 +++++++++++++++++++++++++ roles/base/templates/smb.conf.j2 | 19 +++++++++++++++++++ 2 files changed, 44 insertions(+) create mode 100644 roles/base/tasks/samba.yml create mode 100644 roles/base/templates/smb.conf.j2 diff --git a/roles/base/tasks/samba.yml b/roles/base/tasks/samba.yml new file mode 100644 index 0000000..a06c7f9 --- /dev/null +++ b/roles/base/tasks/samba.yml @@ -0,0 +1,25 @@ +- name: Install Samba + ansible.builtin.apt: + name: samba + state: present + +- name: Create Samba users + ansible.builtin.command: "smbpasswd -a -s {{ item.name }}" + args: + stdin: "{{ item.password }}\n{{ item.password }}" + loop: "{{ samba.users }}" + register: samba_users + changed_when: "'User added' in samba_users.stdout" + +- name: Ensure share directories exist + ansible.builtin.file: + path: "{{ item.path }}" + state: directory + mode: 0755 + loop: "{{ samba.shares }}" + +- name: Configure Samba shares + ansible.builtin.template: + src: smb.conf.j2 + dest: /etc/samba/smb.conf + notify: samba_restart diff --git a/roles/base/templates/smb.conf.j2 b/roles/base/templates/smb.conf.j2 new file mode 100644 index 0000000..5884176 --- /dev/null +++ b/roles/base/templates/smb.conf.j2 @@ -0,0 +1,19 @@ +[global] + workgroup = WORKGROUP + server string = Samba Server %v + netbios name = {{ ansible_hostname }} + security = user + map to guest = bad user + dns proxy = no +{% for user in samba.users %} + smb encrypt = {{ 'mandatory' if user.encrypt | default(false) else 'disabled' }} +{% endfor %} + +{% for share in samba.shares %} +[{{ share.name }}] + path = {{ share.path }} + browsable = yes + guest ok = no + read only = {{ 'yes' if share.read_only | default(false) else 'no' }} + valid users = {{ share.valid_users }} +{% endfor %}