mirror of
https://github.com/iiab/iiab.git
synced 2025-02-13 11:42:08 +00:00
85 lines
2.2 KiB
YAML
Executable file
85 lines
2.2 KiB
YAML
Executable file
- 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:
|
|
dest: "{{ iiab_state_file }}" # /etc/iiab/iiab_state.yml
|
|
regexp: '^samba_installed'
|
|
line: 'samba_installed: True'
|
|
|
|
|
|
- name: Enable & Start Samba ({{ smb_service }}) systemd service, if samba_enabled
|
|
service:
|
|
name: "{{ smb_service }}"
|
|
state: started
|
|
enabled: yes
|
|
when: samba_enabled | bool
|
|
|
|
- name: Enable & Start NetBIOS name server ({{ nmb_service }}) if samba_enabled
|
|
service:
|
|
name: "{{ nmb_service }}"
|
|
state: started
|
|
enabled: yes
|
|
when: samba_enabled | bool
|
|
|
|
- name: Disable & Stop Samba ({{ smb_service }}) systemd service, if not samba_enabled
|
|
systemd:
|
|
name: "{{ smb_service }}"
|
|
state: stopped
|
|
enabled: no
|
|
when: not samba_enabled
|
|
|
|
- name: Disable & Stop NetBIOS name server ({{ 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 }}"
|