58 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
		
		
			
		
	
	
			58 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| 
								 | 
							
								---
							 | 
						||
| 
								 | 
							
								  - name: Test root password
							 | 
						||
| 
								 | 
							
								    ignore_errors: yes
							 | 
						||
| 
								 | 
							
								    register: root_password_test
							 | 
						||
| 
								 | 
							
								    vars:
							 | 
						||
| 
								 | 
							
								      ansible_become_user: "{{ item }}"
							 | 
						||
| 
								 | 
							
								      ansible_become_method: su
							 | 
						||
| 
								 | 
							
								      ansible_become_password: "{{ passwords[inventory_hostname] }}"
							 | 
						||
| 
								 | 
							
								    become: yes
							 | 
						||
| 
								 | 
							
								    command: id
							 | 
						||
| 
								 | 
							
								    loop:
							 | 
						||
| 
								 | 
							
								      - root
							 | 
						||
| 
								 | 
							
								      - "{{ ansible_user_id }}"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  - name: Define passwords
							 | 
						||
| 
								 | 
							
								    ignore_errors: yes
							 | 
						||
| 
								 | 
							
								    vars:
							 | 
						||
| 
								 | 
							
								      ansible_become_user: "root"
							 | 
						||
| 
								 | 
							
								      ansible_become_password: "{{ passwords[inventory_hostname] }}"
							 | 
						||
| 
								 | 
							
								    become: yes
							 | 
						||
| 
								 | 
							
								    when: root_password_test.rc is not defined or root_password_test.rc != 0
							 | 
						||
| 
								 | 
							
								    command:
							 | 
						||
| 
								 | 
							
								      cmd: /bin/bash -l -c "echo '{{item}}:{{ passwords[inventory_hostname] }}' | chpasswd {{ item }}"
							 | 
						||
| 
								 | 
							
								    loop:
							 | 
						||
| 
								 | 
							
								      - root
							 | 
						||
| 
								 | 
							
								      - "{{ ansible_user_id }}"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  - name: Ensure deploy user has sudo permissions.
							 | 
						||
| 
								 | 
							
								    vars:
							 | 
						||
| 
								 | 
							
								      ansible_become_method: su
							 | 
						||
| 
								 | 
							
								      ansible_become_password: "{{ passwords[inventory_hostname] }}"
							 | 
						||
| 
								 | 
							
								    become: yes
							 | 
						||
| 
								 | 
							
								    copy:
							 | 
						||
| 
								 | 
							
								      dest: /etc/sudoers.d/basics
							 | 
						||
| 
								 | 
							
								      content: "{{ ansible_user_id }} ALL=(ALL) NOPASSWD: ALL\n"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  - name: Ensure we include /etc/sudoers.d (Current)
							 | 
						||
| 
								 | 
							
								    vars:
							 | 
						||
| 
								 | 
							
								      ansible_become_method: su
							 | 
						||
| 
								 | 
							
								      ansible_become_password: "{{ passwords[inventory_hostname] }}"
							 | 
						||
| 
								 | 
							
								    become: yes
							 | 
						||
| 
								 | 
							
								    when: ansible_architecture != "armv6l"
							 | 
						||
| 
								 | 
							
								    lineinfile:
							 | 
						||
| 
								 | 
							
								      path: /etc/sudoers
							 | 
						||
| 
								 | 
							
								      regexp: "includedir /etc/sudoers.d"
							 | 
						||
| 
								 | 
							
								      line: "@includedir /etc/sudoers.d"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  - name: Ensure we include /etc/sudoers.d (Legacy)
							 | 
						||
| 
								 | 
							
								    vars:
							 | 
						||
| 
								 | 
							
								      ansible_become_method: su
							 | 
						||
| 
								 | 
							
								      ansible_become_password: "{{ passwords[inventory_hostname] }}"
							 | 
						||
| 
								 | 
							
								    become: yes
							 | 
						||
| 
								 | 
							
								    when: ansible_architecture == "armv6l"
							 | 
						||
| 
								 | 
							
								    lineinfile:
							 | 
						||
| 
								 | 
							
								      path: /etc/sudoers
							 | 
						||
| 
								 | 
							
								      regexp: "includedir /etc/sudoers.d"
							 | 
						||
| 
								 | 
							
								      line: "#includedir /etc/sudoers.d"
							 |