134 lines
4.3 KiB
YAML

---
# SAMBA and ibays
- name: Installing SAMBA and ibays packages
yum:
name:
- "@nethserver-file-server"
- nethserver-samba-audit
state: present
# SAMBA
- name: Checking for default SAMBA behaviour
shell: /sbin/e-smith/db configuration getprop smb HomeAdmStatus
register: check_smbbehavior
changed_when: "'enabled' not in check_smbbehavior"
ignore_errors: yes
- name: Configuring standard SAMBA behaviour on shared folders
shell: /sbin/e-smith/db configuration setprop smb HomeAdmStatus enabled InheritOwner yes ShareAdmStatus enabled
when: check_smbbehavior|changed
- name: Activating default SAMBA behaviour
shell: /sbin/e-smith/signal-event nethserver-samba-save
when: check_smbbehavior|changed
- name: "Create directory structure for templates-custom"
file:
path: "/etc/e-smith/templates-custom/etc/samba/smb.conf"
owner: root
group: root
mode: 0755
state: directory
register: check_tempcust
- name: "Copying settings from default."
copy:
src: /etc/e-smith/templates/etc/samba/smb.conf/10global
dest: /etc/e-smith/templates-custom/etc/samba/smb.conf/10global
remote_src: true
owner: root
group: root
mode: 0644
when: check_tempcust|changed
- name: "Enabling unix extensions on SAMBA"
lineinfile:
dest: /etc/e-smith/templates-custom/etc/samba/smb.conf/10global
line: 'unix extensions = yes'
state: present
insertafter: EOF
when: check_tempcust|changed
- name: Adding server signing as mandatory
lineinfile:
dest: /etc/e-smith/templates-custom/etc/samba/smb.conf/10global
line: "server signing = mandatory"
state: present
insertafter: EOF
when: check_tempcust|changed
- name: Applying custom configurations to running SAMBA
shell: /sbin/e-smith/signal-event nethserver-samba-save
become: yes
when: check_tempcust|changed
# ibays
- name: Checking for shared ibay
shell: /sbin/e-smith/db accounts show shared
ignore_errors: true
register: chk_shared
#- name: Copying default templates for shared template type
# shell: cp -r /etc/e-smith/templates/etc/samba/smb.conf/ibay-default /etc/e-smith/templates/etc/samba/smb.conf/ibay-shared
# when: force_ibay_shared|bool or chk_shared|failed
#
#- name: Configuring ibay-shared template structure (directory mask)
# lineinfile:
# dest: /etc/e-smith/templates/etc/samba/smb.conf/ibay-shared/20profile_default
# line: 'directory mask = 0775'
# insertafter: '^create mask'
# state: present
# when: force_ibay_shared|bool or chk_shared|failed
#
#- name: Configuring force create mode
# lineinfile:
# dest: /etc/e-smith/templates/etc/samba/smb.conf/ibay-shared/20profile_default
# line: 'force create mode = 0664'
# insertafter: '^directory mask'
# state: present
# when: force_ibay_shared|bool or chk_shared|failed
#
#- name: Configuring force directory mode
# lineinfile:
# dest: /etc/e-smith/templates/etc/samba/smb.conf/ibay-shared/20profile_default
# line: 'force directory mode = 0775'
# insertafter: '^force create mode'
# state: present
# when: force_ibay_shared|bool or chk_shared|failed
- name: Configuring shared ibay
shell: /sbin/e-smith/db accounts set shared ibay AclRead "" AclWrite "" Description "Cartella condivisa" GroupAccess rw OtherAccess "" OwningGroup "domain users@{{ ansible_local.domain.domainfull }}" SmbAuditStatus enabled SmbGuestAccessType none SmbRecycleBinStatus enabled SmbRecycleBinVersionsStatus enabled SmbShareBrowseable enabled
when: chk_shared|failed
- name: Activating shared ibay
shell: /sbin/e-smith/signal-event ibay-create shared
become: yes
when: chk_shared|failed
#- name: Changing ibay profile for shared
# shell: /sbin/e-smith/db accounts setprop shared SmbProfileType shared
# become: yes
# when: force_ibay_shared|bool or chk_shared|failed
#- name: Forcing regeneration of smb.conf
# shell: /sbin/e-smith/signal-event nethserver-samba-update
# become: yes
# when: force_ibay_shared|bool or chk_shared|failed or check_tempcust|changed
# Fixing issue #3 - Configure sudo access for admin on server for operator
# access
# https://github.com/bglug-it/server-config/issues/3
- name: Configuring sudo access for admin account
lineinfile:
dest: /etc/sudoers.d/admin
line: 'admin@{{ ansible_local.domain.domainfull }} ALL=(ALL) NOPASSWD: ALL'
create: yes
owner: root
group: root
mode: 0440
validate: 'visudo -cf %s'