You've already forked role_users
							
							[EVO] Générer dynamiquement la liste des utilisateurs
This commit is contained in:
		
							
								
								
									
										44
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										44
									
								
								README.md
									
									
									
									
									
								
							@@ -1,3 +1,43 @@
 | 
				
			|||||||
# role_modele
 | 
					# role_users
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Modèle
 | 
					Ce rôle permet de créer et configurer des utilisateurs systèmes.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Variables
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### users_*
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Liste contenant la configuration des utilisateurs.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					*<span style="text-decoration: underline">Valeur par défaut:</span> aucune*
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Exemple d'utilisation
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### inventory.yml
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```yaml
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					all:
 | 
				
			||||||
 | 
					  hosts:
 | 
				
			||||||
 | 
					   host1.ykn.local:
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### host_vars/host1.ykn.local.yml
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```yaml
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					users: []
 | 
				
			||||||
 | 
					  - name: ansible
 | 
				
			||||||
 | 
					    comment: "Ansible user"
 | 
				
			||||||
 | 
					    update_password: on_create
 | 
				
			||||||
 | 
					    password_lock: true
 | 
				
			||||||
 | 
					    append: true
 | 
				
			||||||
 | 
					    shell: /bin/bash
 | 
				
			||||||
 | 
					    groups: ["sudo"]
 | 
				
			||||||
 | 
					    extras:
 | 
				
			||||||
 | 
					      authorized_keys:
 | 
				
			||||||
 | 
					        - ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILNxxMmKSUHibYrlwyhx6UzyEAIPrghuQ/2fiCvcGAfh ansible
 | 
				
			||||||
 | 
					        - ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJPerG1LAvNuuwuMnlExCyfsRwGqrM1U3C/aUtuXqhyu bot_ansible
 | 
				
			||||||
 | 
					      sudoers: ansible ALL=(ALL) NOPASSWD:AL
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,3 +2,16 @@
 | 
				
			|||||||
# defaults file for users
 | 
					# defaults file for users
 | 
				
			||||||
 | 
					
 | 
				
			||||||
users: []
 | 
					users: []
 | 
				
			||||||
 | 
					#Exemple:
 | 
				
			||||||
 | 
					#  - name: ansible
 | 
				
			||||||
 | 
					#    comment: "Ansible user"
 | 
				
			||||||
 | 
					#    update_password: on_create
 | 
				
			||||||
 | 
					#    password_lock: true
 | 
				
			||||||
 | 
					#    append: true
 | 
				
			||||||
 | 
					#    shell: /bin/bash
 | 
				
			||||||
 | 
					#    groups: ["sudo"]
 | 
				
			||||||
 | 
					#    extras:
 | 
				
			||||||
 | 
					#      authorized_keys:
 | 
				
			||||||
 | 
					#        - ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILNxxMmKSUHibYrlwyhx6UzyEAIPrghuQ/2fiCvcGAfh ansible
 | 
				
			||||||
 | 
					#        - ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJPerG1LAvNuuwuMnlExCyfsRwGqrM1U3C/aUtuXqhyu bot_ansible
 | 
				
			||||||
 | 
					#      sudoers: ansible ALL=(ALL) NOPASSWD:ALL
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,6 +1,14 @@
 | 
				
			|||||||
---
 | 
					---
 | 
				
			||||||
# tasks file for users
 | 
					# tasks file for users
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- name: Construire la liste des utilisateurs
 | 
				
			||||||
 | 
					  ansible.builtin.set_fact:
 | 
				
			||||||
 | 
					    users: "{{ users + specific }}"
 | 
				
			||||||
 | 
					  when: specific | length > 0
 | 
				
			||||||
 | 
					  loop: "{{ lookup('ansible.builtin.varnames', '^users.+', wantlist=True) }}"
 | 
				
			||||||
 | 
					  vars:
 | 
				
			||||||
 | 
					    specific: "{{ lookup('ansible.builtin.vars', item, default='') }}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- name: Créer un groupe au nom de l'utilisateur
 | 
					- name: Créer un groupe au nom de l'utilisateur
 | 
				
			||||||
  ansible.builtin.group:
 | 
					  ansible.builtin.group:
 | 
				
			||||||
    name: "{{ item.name }}"
 | 
					    name: "{{ item.name }}"
 | 
				
			||||||
@@ -16,7 +24,7 @@
 | 
				
			|||||||
  become: true
 | 
					  become: true
 | 
				
			||||||
  loop: "{{ users | subelements('groups', skip_missing=True) }}"
 | 
					  loop: "{{ users | subelements('groups', skip_missing=True) }}"
 | 
				
			||||||
  loop_control:
 | 
					  loop_control:
 | 
				
			||||||
    label: "{{ item.0.name }} to {{ item.1 }}"
 | 
					    label: "{{ item.1 }}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- name: Créer les utilisateurs
 | 
					- name: Créer les utilisateurs
 | 
				
			||||||
  ansible.builtin.user:
 | 
					  ansible.builtin.user:
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user