smb_server.yml 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. ---
  2. - name: Share a directory with SMB
  3. hosts: serverd.lab.example.com
  4. become: true
  5. vars_files:
  6. - smb_vars.yml
  7. tasks:
  8. - name: the package for a Samba server is installed
  9. yum:
  10. name: samba
  11. state: present
  12. - name: the Linux user for Samba mount exists
  13. user:
  14. name: "{{ samba_usermount }}"
  15. shell: /sbin/nologin
  16. create_home: no
  17. system: yes
  18. - name: the Samba user for Samba mount exists
  19. command: smbpasswd -s -a {{ samba_usermount }}
  20. args:
  21. stdin: "{{ samba_passmount }}\n{{ samba_passmount }}"
  22. - name: the directory exists
  23. file:
  24. path: "{{ shared_dir }}"
  25. owner: "{{ samba_usermount }}"
  26. group: "{{ allowed_group }}"
  27. mode: '2570'
  28. state: directory
  29. setype: samba_share_t
  30. - name: the directory is shared
  31. template:
  32. src: templates/smb.conf.j2
  33. dest: /etc/samba/smb.conf
  34. owner: root
  35. group: root
  36. mode: '0644'
  37. setype: samba_etc_t
  38. notify: reload smb
  39. - name: the SMB service is started and enabled
  40. service:
  41. name: smb
  42. state: started
  43. enabled: yes
  44. - name: the firewall is opened for SMB
  45. firewalld:
  46. service: samba
  47. state: enabled
  48. immediate: yes
  49. permanent: yes
  50. handlers:
  51. - name: reload smb
  52. service:
  53. name: smb
  54. state: reloaded