- name: "Create smb user: {{ smbuser }}" user: name: "{{ smbuser }}" shell: /sbin/nologin password: "{{ smbpassword }}" - name: "Create public folder: {{ shared_dir }}" file: path: "{{ shared_dir }}" owner: "{{ smbuser }}" group: "{{ smbuser }}" mode: '0777' state: directory # Install and configure samba server (requires ports 137, 138, 139, 445 open). - name: "Install 4 packages: samba, samba-client, samba-common, cifs-client" package: name: - samba - samba-client - samba-common - cifs-utils state: present - name: Install /etc/samba/smb.conf from template template: src: smb.conf.j2 dest: /etc/samba/smb.conf # RECORD Samba AS INSTALLED - name: "Set 'samba_installed: True'" set_fact: samba_installed: True - name: "Add 'samba_installed: True' to {{ iiab_state_file }}" lineinfile: path: "{{ iiab_state_file }}" # /etc/iiab/iiab_state.yml regexp: '^samba_installed' line: 'samba_installed: True' - name: Enable & Start Samba systemd service ({{ smb_service }}) if samba_enabled service: name: "{{ smb_service }}" state: started enabled: yes when: samba_enabled | bool - name: Enable & Start NetBIOS name service ({{ nmb_service }}) if samba_enabled service: name: "{{ nmb_service }}" state: started enabled: yes when: samba_enabled | bool - name: Disable & Stop Samba systemd service ({{ smb_service }}) if not samba_enabled systemd: name: "{{ smb_service }}" state: stopped enabled: no when: not samba_enabled - name: Disable & Stop NetBIOS name service ({{ nmb_service }}) if not samba_enabled systemd: name: "{{ nmb_service }}" state: stopped enabled: no when: not samba_enabled - name: Add 'samba' variable values to {{ iiab_ini_file }} ini_file: path: "{{ iiab_ini_file }}" section: samba option: "{{ item.option }}" value: "{{ item.value | string }}" with_items: - option: name value: Samba - option: description value: '"Samba is a Microsoft-compatible network file system that re-implements SMB/CIFS (Common Internet File System)."' - option: enabled value: "{{ samba_enabled }}"