48 lines
1.2 KiB
Plaintext
48 lines
1.2 KiB
Plaintext
|
|
{% if salt.pillar.get('manage_root_bashrc', False) %}
|
|
/root/.bashrc:
|
|
file.managed:
|
|
- source: 'salt://users/files/bashrc.jinja'
|
|
- template: jinja
|
|
- user: root
|
|
- group: root
|
|
- mode: 0640
|
|
- context:
|
|
bashrc_user: root
|
|
{% endif %}
|
|
|
|
{% for user, config in salt.pillar.get('users', {}).items() %}
|
|
{{ user }}_user:
|
|
user.present:
|
|
- name: {{ user }}
|
|
- shell: {{ config.get('shell', '/bin/bash') | yaml_encode }}
|
|
{% for key, val in config.items() %}
|
|
{% if key not in ('shell', 'manage_bashrc') %}
|
|
- {{ key }}: {{ val | tojson }}
|
|
{% endif %}
|
|
{% endfor %}
|
|
|
|
{% if config.get('manage_bashrc', False) %}
|
|
{% set homedir = salt.user.info(user).get('home', None) %}
|
|
{% if homedir is none %}
|
|
{{ "~%s/.bashrc" | format(user) }}:
|
|
test.fail_without_changes:
|
|
- name: {{ "No homedir for %s - if they were created in this run, run this state again" | format(user) }}
|
|
{% else %}
|
|
|
|
{{ homedir }}/.bashrc:
|
|
file.managed:
|
|
- source: 'salt://users/files/bashrc.jinja'
|
|
- template: jinja
|
|
- user: {{ user }}
|
|
- group: {{ user }}
|
|
- mode: 0640
|
|
- context:
|
|
bashrc_user: {{ user }}
|
|
- require:
|
|
- user: {{ user }}_user
|
|
{% endif %}
|
|
{% endif %}
|
|
{% endfor %}
|
|
|