Filip Pytloun | f5383a4 | 2015-10-06 16:28:32 +0200 | [diff] [blame] | 1 | {%- 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 | |
| 8 | system_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 | |
| 29 | system_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 Pavlik | c860866 | 2016-01-08 10:45:01 +0100 | [diff] [blame] | 40 | /etc/sudoers.d/90-salt-user-{{ name|replace('.', '-') }}: |
Filip Pytloun | f5383a4 | 2015-10-06 16:28:32 +0200 | [diff] [blame] | 41 | 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 Michalec | 1c4c8d8 | 2017-02-28 19:09:21 +0100 | [diff] [blame] | 51 | - check_cmd: /usr/sbin/visudo -c -f |
Filip Pytloun | f5383a4 | 2015-10-06 16:28:32 +0200 | [diff] [blame] | 52 | |
slimakcz | f39cb11 | 2017-05-08 18:39:37 +0200 | [diff] [blame] | 53 | {%- else %} |
| 54 | |
| 55 | /etc/sudoers.d/90-salt-user-{{ name|replace('.', '-') }}: |
| 56 | file.absent |
| 57 | |
Filip Pytloun | f5383a4 | 2015-10-06 16:28:32 +0200 | [diff] [blame] | 58 | {%- endif %} |
| 59 | |
| 60 | {%- else %} |
| 61 | |
| 62 | system_user_{{ name }}: |
| 63 | user.absent: |
| 64 | - name: {{ name }} |
| 65 | |
| 66 | system_user_home_{{ user.home }}: |
| 67 | file.absent: |
| 68 | - name: {{ user.home }} |
| 69 | |
Jakub Pavlik | c860866 | 2016-01-08 10:45:01 +0100 | [diff] [blame] | 70 | /etc/sudoers.d/90-salt-user-{{ name|replace('.', '-') }}: |
Filip Pytloun | f5383a4 | 2015-10-06 16:28:32 +0200 | [diff] [blame] | 71 | file.absent |
| 72 | |
| 73 | {%- endif %} |
| 74 | |
| 75 | {%- endfor %} |
| 76 | |
| 77 | {%- endif %} |