mirror of
				https://git.lapiole.org/dani/ansible-roles.git
				synced 2025-10-31 02:41:36 +01:00 
			
		
		
		
	Update to 2021-12-01 19:13
This commit is contained in:
		
							
								
								
									
										104
									
								
								roles/unmaintained/nas/tasks/main.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										104
									
								
								roles/unmaintained/nas/tasks/main.yml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,104 @@ | ||||
| --- | ||||
|  | ||||
| - name: Build config for shares | ||||
|   set_fact: nas_shares_conf={{ nas_shares_conf | default([]) + [nas_default_share | combine(item,recursive=True)] }} | ||||
|   with_items: "{{ nas_shares }}" | ||||
|   tags: nas | ||||
| - set_fact: nas_shares={{ nas_shares_conf | default([]) }} | ||||
|   tags: nas | ||||
|  | ||||
| - name: Install needed packages | ||||
|   yum: | ||||
|     name: | ||||
|       - rssh | ||||
|   tags: nas | ||||
|  | ||||
| - name: Allow every user to use rssh | ||||
|   file: path=/bin/rssh mode=755 | ||||
|   tags: nas | ||||
|  | ||||
| - name: Create directories | ||||
|   file: path={{ nas_root_dir }}/{{ item[1] }}/{{ item[0].name }} state=directory | ||||
|   with_nested: | ||||
|     - "{{ nas_shares }}" | ||||
|     - [data,meta] | ||||
|   tags: nas | ||||
|  | ||||
| - name: Create rsync system user | ||||
|   user: | ||||
|     name: rsync | ||||
|     system: True | ||||
|     shell: /sbin/nologin | ||||
|   tags: nas | ||||
|  | ||||
| - name: Deploy samba shares config | ||||
|   template: src=smb.conf.j2 dest=/etc/samba/smb.conf.d/shares.conf | ||||
|   notify: reload samba | ||||
|   tags: nas | ||||
|  | ||||
| - name: Deploy NFS exports | ||||
|   template: src=exports.j2 dest=/etc/exports.d/shares.exports | ||||
|   notify: reload nfs | ||||
|   tags: nas | ||||
|  | ||||
| - name: Deploy rsyncd shares config | ||||
|   template: src=rsyncd.conf.j2 dest=/etc/rsyncd.conf.d/shares.conf | ||||
|   tags: nas | ||||
|  | ||||
| - name: Deploy rsync auth files | ||||
|   template: src=rsync.secrets.j2 dest={{ nas_root_dir }}/meta/{{ item.name }}/rsync.secrets owner=root group=root mode=600 | ||||
|   with_items: "{{ nas_shares }}" | ||||
|   tags: nas | ||||
|  | ||||
| - name: Deploy httpd conf | ||||
|   template: src={{ item.src }} dest={{ item.dest }} mode={{ item.mode | default(omit) }} | ||||
|   loop: | ||||
|     - src: httpd.conf.j2 | ||||
|       dest: /etc/httpd/ansible_conf.d/50-shares.conf | ||||
|       mode: 640 | ||||
|     - src: mod_dav.conf.j2 | ||||
|       dest: /etc/httpd/ansible_conf.modules.d/30-mod_dav.conf | ||||
|     - src: mod_authnz_external.conf.j2 | ||||
|       dest: /etc/httpd/ansible_conf.modules.d/30-mod_authnz_external.conf | ||||
|   notify: | ||||
|     - reload httpd | ||||
|   tags: nas | ||||
|  | ||||
| - name: Allow http to use PAM auth | ||||
|   seboolean: name=httpd_mod_auth_pam state=True persistent=True | ||||
|   when: ansible_selinux.status == 'enabled' | ||||
|   tags: nas | ||||
|  | ||||
| - name: Deploy setfacl script | ||||
|   template: src=setfacl.sh.j2 dest={{ nas_root_dir }}/meta/{{ item.name }}/setfacl.sh mode=755 | ||||
|   with_items: "{{ nas_shares }}" | ||||
|   register: nas_acl | ||||
|   tags: nas | ||||
|  | ||||
| - name: Reset acls | ||||
|   command: "{{ nas_root_dir }}/meta/{{ item.item.name }}/setfacl.sh" | ||||
|   when: item.changed | ||||
|   with_items: "{{ nas_acl.results }}" | ||||
|   tags: nas | ||||
|  | ||||
| - name: Set SELinux content | ||||
|   sefcontext: | ||||
|     target: "{{ nas_root_dir }}/data(/.*)?" | ||||
|     setype: public_content_rw_t | ||||
|     state: present | ||||
|   when: ansible_selinux.status == 'enabled' | ||||
|   tags: nas | ||||
|  | ||||
| - name: Set SEbool | ||||
|   seboolean: name={{ item }} state=True persistent=True | ||||
|   with_items: | ||||
|     - samba_enable_home_dirs | ||||
|     - samba_create_home_dirs | ||||
|     - samba_export_all_rw | ||||
|   tags: nas | ||||
|  | ||||
| - name: Deploy scripts | ||||
|   copy: src={{ item }} dest=/var/lib/samba/scripts/{{ item }} | ||||
|   with_items: | ||||
|     - mkhomedir | ||||
|   tags: nas | ||||
		Reference in New Issue
	
	Block a user
	 Daniel Berteaud
					Daniel Berteaud