|
1 | 1 | ---
|
2 | 2 | - name: Creating groups
|
3 |
| - group: name="{{item}}" |
4 |
| - with_items: groups_to_create |
| 3 | + group: name="{{item.name}}" gid="{{item.gid | default(omit)}}" |
| 4 | + with_items: "{{groups_to_create}}" |
5 | 5 | tags: ['users','groups','configuration']
|
6 | 6 |
|
7 | 7 | - name: Per-user group creation
|
8 | 8 | group: name="{{item.username}}"
|
9 | 9 | gid="{{item.gid if item.gid is defined else item.uid}}"
|
10 | 10 | with_items: users
|
| 11 | + with_items: "{{users}}" |
11 | 12 | when: users_create_per_user_group
|
12 | 13 | tags: ['users','configuration']
|
13 | 14 |
|
14 | 15 | - name: User creation
|
15 |
| - user: name="{{item.username}}" |
16 |
| - group="{{item.username if users_create_per_user_group |
17 |
| - else users_group}}" |
18 |
| - groups="{{item.groups | join(',')}}" |
19 |
| - shell={{item.shell if item.shell is defined else users_default_shell}} |
20 |
| - password="{{item.password if item.password is defined else '!'}}" |
21 |
| - comment="{{item.name if item.name is defined else ''}}" |
22 |
| - uid="{{item.uid}}" |
23 |
| - createhome="{{'yes' if users_create_homedirs else 'no'}}" |
24 |
| - with_items: users |
| 16 | + user: |
| 17 | + name: "{{item.username}}" |
| 18 | + group: "{{item.username if users_create_per_user_group else users_group}}" |
| 19 | + # empty string removes user from all secondary groups |
| 20 | + groups: "{{item.groups | join(',') if 'groups' in item else ''}}" |
| 21 | + shell: "{{item.shell if item.shell is defined else users_default_shell}}" |
| 22 | + password: "{{item.password if item.password is defined else '!'}}" |
| 23 | + comment: "{{item.name if item.name is defined else ''}}" |
| 24 | + uid: "{{item.uid}}" |
| 25 | + createhome: "{{'yes' if users_create_homedirs else 'no'}}" |
| 26 | + with_items: "{{users}}" |
25 | 27 | tags: ['users','configuration']
|
26 | 28 |
|
27 | 29 | - name: SSH keys
|
28 | 30 | authorized_key: user="{{item.0.username}}" key="{{item.1}}"
|
29 | 31 | with_subelements:
|
30 |
| - - users |
| 32 | + - "{{users}}" |
31 | 33 | - ssh_key
|
32 | 34 | tags: ['users','configuration']
|
33 | 35 |
|
| 36 | +- name: Setup user profiles |
| 37 | + blockinfile: |
| 38 | + block: "{{item.profile}}" |
| 39 | + dest: "/home/{{item.username}}/.profile" |
| 40 | + owner: "{{item.username}}" |
| 41 | + group: "{{item.username}}" |
| 42 | + mode: 0644 |
| 43 | + create: true |
| 44 | + when: users_create_homedirs and item.profile is defined |
| 45 | + with_items: "{{users}}" |
| 46 | + |
34 | 47 | - name: Deleted user removal
|
35 | 48 | user: name="{{item.username}}" state=absent
|
36 |
| - with_items: users_deleted |
| 49 | + with_items: "{{users_deleted}}" |
37 | 50 | tags: ['users','configuration']
|
38 | 51 |
|
39 | 52 | - name: Deleted per-user group removal
|
40 | 53 | group: name="{{item.username}}" state=absent
|
41 |
| - with_items: users_deleted |
| 54 | + with_items: "{{users_deleted}}" |
42 | 55 | when: users_create_per_user_group
|
43 | 56 | tags: ['users','configuration']
|
0 commit comments