server-config/roles/nethcfg/tasks/samba.yml

152 lines
4.9 KiB
YAML

---
# SAMBA and ibays
- name: Installing SAMBA and ibays packages
yum:
name: "{{ item }}"
state: present
with_items:
- nethserver-ibays
- nethserver-samba
- nethserver-samba-audit
# SAMBA
- name: "Verifying modifications on templates-custom."
shell: grep -q 'server signing = mandatory' /etc/e-smith/templates-custom/etc/samba/smb.conf/10global
register: check_tempcust
changed_when: check_tempcust.rc != 0
ignore_errors: true
- 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
when: check_tempcust is changed
- 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 is changed
- name: "Enabling unix extensions on SAMBA"
replace:
dest: /etc/e-smith/templates-custom/etc/samba/smb.conf/10global
regexp: '^unix extensions = no$'
replace: 'unix extensions = yes'
when: check_tempcust is changed
- name: Adding server signing as mandatory
lineinfile:
dest: /etc/e-smith/templates-custom/etc/samba/smb.conf/10global
line: "server signing = mandatory"
insertafter: "^workgroup = "
state: present
when: check_tempcust is changed
- name: Checking SMB configuration
shell: /sbin/e-smith/db configuration printprop smb RoamingProfiles
register: chk_smb
changed_when: "'RoamingProfiles=yes' not in chk_smb.stdout"
ignore_errors: true
- name: Configuring SMB
shell: /sbin/e-smith/db configuration setprop smb RoamingProfiles yes ServerRole PDC Workgroup "{{ ansible_local.domain.domainshort }}" status enabled
when: chk_smb is changed
- name: Activating SMB
shell: /sbin/e-smith/signal-event nethserver-samba-save
when: chk_smb is changed
# ibays
- name: Enabling SMB services restart when managing ibays
file:
src: reload
dest: "{{ item }}/smb"
state: link
force: yes
with_items:
- /etc/e-smith/events/ibay-delete/services2adjust
- /etc/e-smith/events/ibay-create/services2adjust
- /etc/e-smith/events/ibay-modify/services2adjust
- 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 is 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 is 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 is 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 is failed
- name: Configuring shared ibay
shell: /sbin/e-smith/db accounts set shared ibay AclRead domusers,domadmins AclWrite domusers,domadmins Description "Cartella condivisa" GroupAccess rw HttpStatus disabled OtherAccess r OwningGroup locals SmbAuditStatus enabled SmbGuestAccessType none SmbRecycleBinStatus enabled SmbRecycleBinVersionsStatus enabled SmbStatus enabled
when: chk_shared is failed
- name: Activating shared ibay
shell: /sbin/e-smith/signal-event ibay-create shared
become: yes
when: chk_shared is 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 is failed
- name: Saving new version of smb.conf
shell: /sbin/e-smith/signal-event nethserver-samba-save
become: yes
when: check_tempcust is changed
- 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 is failed or check_tempcust is 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 ALL=(ALL:ALL) NOPASSWD: ALL'
create: yes
owner: root
group: root
mode: 0440
validate: 'visudo -cf %s'