blob: 70c9c51994eab0309923ddc8e62ed896b22fcf67 [file] [log] [blame]
Filip Pytlounf5383a42015-10-06 16:28:32 +02001{%- from "linux/map.jinja" import system with context %}
2{%- if system.enabled %}
3
4{%- for name, user in system.user.iteritems() %}
5
6{%- if user.enabled %}
7
8system_user_{{ name }}:
9 user.present:
10 - name: {{ name }}
11 - home: {{ user.home }}
12 {%- if user.password is defined %}
13 - password: {{ user.password }}
14 - enforce_password: true
15 - gid_from_name: true
16 {%- endif %}
17 {%- if user.groups is defined %}
18 - groups: {{ user.groups }}
19 {%- endif %}
20 {%- if user.system is defined and user.system %}
21 - system: True
22 {%- else %}
23 - shell: {{ user.get('shell', '/bin/bash') }}
24 {%- endif %}
25 {%- if user.uid is defined and user.uid %}
26 - uid: {{ user.uid }}
27 {%- endif %}
28
29system_user_home_{{ user.home }}:
30 file.directory:
31 - name: {{ user.home }}
32 - user: {{ name }}
33 - mode: 700
34 - makedirs: true
35 - require:
36 - user: system_user_{{ name }}
37
38{%- if user.get('sudo', False) %}
39
Jakub Pavlikc8608662016-01-08 10:45:01 +010040/etc/sudoers.d/90-salt-user-{{ name|replace('.', '-') }}:
Filip Pytlounf5383a42015-10-06 16:28:32 +020041 file.managed:
42 - source: salt://linux/files/sudoer
43 - template: jinja
44 - user: root
45 - group: root
46 - mode: 440
47 - defaults:
48 user_name: {{ name }}
49 - require:
50 - user: system_user_{{ name }}
Petr Michalec1c4c8d82017-02-28 19:09:21 +010051 - check_cmd: /usr/sbin/visudo -c -f
Filip Pytlounf5383a42015-10-06 16:28:32 +020052
slimakczf39cb112017-05-08 18:39:37 +020053{%- else %}
54
55/etc/sudoers.d/90-salt-user-{{ name|replace('.', '-') }}:
56 file.absent
57
Filip Pytlounf5383a42015-10-06 16:28:32 +020058{%- endif %}
59
60{%- else %}
61
62system_user_{{ name }}:
63 user.absent:
64 - name: {{ name }}
65
66system_user_home_{{ user.home }}:
67 file.absent:
68 - name: {{ user.home }}
69
Jakub Pavlikc8608662016-01-08 10:45:01 +010070/etc/sudoers.d/90-salt-user-{{ name|replace('.', '-') }}:
Filip Pytlounf5383a42015-10-06 16:28:32 +020071 file.absent
72
73{%- endif %}
74
75{%- endfor %}
76
77{%- endif %}