|
|
|
|
|
|
|
|
{%- if user == None -%} |
|
|
{%- if user == None -%} |
|
|
{%- set user = {} -%} |
|
|
{%- set user = {} -%} |
|
|
{%- endif -%} |
|
|
{%- endif -%} |
|
|
{%- set home = user.get('home', "/home/%s" % name) -%} |
|
|
|
|
|
|
|
|
{%- set current = salt.user.info(name) -%} |
|
|
|
|
|
{%- set home = user.get('home', current.get('home', "/home/%s" % name)) -%} |
|
|
|
|
|
|
|
|
{%- if 'prime_group' in user and 'name' in user['prime_group'] %} |
|
|
{%- if 'prime_group' in user and 'name' in user['prime_group'] %} |
|
|
{%- set user_group = user.prime_group.name -%} |
|
|
{%- set user_group = user.prime_group.name -%} |
|
|
|
|
|
|
|
|
user.present: |
|
|
user.present: |
|
|
- name: {{ name }} |
|
|
- name: {{ name }} |
|
|
- home: {{ home }} |
|
|
- home: {{ home }} |
|
|
- shell: {{ user.get('shell', users.get('shell', '/bin/bash')) }} |
|
|
|
|
|
|
|
|
- shell: {{ user.get('shell', current.get('shell', users.get('shell', '/bin/bash'))) }} |
|
|
{% if 'uid' in user -%} |
|
|
{% if 'uid' in user -%} |
|
|
- uid: {{ user['uid'] }} |
|
|
- uid: {{ user['uid'] }} |
|
|
{% endif -%} |
|
|
{% endif -%} |
|
|
|
|
|
|
|
|
'ssh_config' in user %} |
|
|
'ssh_config' in user %} |
|
|
user_keydir_{{ name }}: |
|
|
user_keydir_{{ name }}: |
|
|
file.directory: |
|
|
file.directory: |
|
|
- name: {{ user.get('home', '/home/{0}'.format(name)) }}/.ssh |
|
|
|
|
|
|
|
|
- name: {{ home }}/.ssh |
|
|
- user: {{ name }} |
|
|
- user: {{ name }} |
|
|
- group: {{ user_group }} |
|
|
- group: {{ user_group }} |
|
|
- makedirs: True |
|
|
- makedirs: True |
|
|
|
|
|
|
|
|
{% set key_type = 'id_' + user.get('ssh_key_type', 'rsa') %} |
|
|
{% set key_type = 'id_' + user.get('ssh_key_type', 'rsa') %} |
|
|
users_user_{{ name }}_private_key: |
|
|
users_user_{{ name }}_private_key: |
|
|
file.managed: |
|
|
file.managed: |
|
|
- name: {{ user.get('home', |
|
|
|
|
|
'/home/{0}'.format(name)) }}/.ssh/{{ key_type }} |
|
|
|
|
|
|
|
|
- name: {{ home }}/.ssh/{{ key_type }} |
|
|
- user: {{ name }} |
|
|
- user: {{ name }} |
|
|
- group: {{ user_group }} |
|
|
- group: {{ user_group }} |
|
|
- mode: 600 |
|
|
- mode: 600 |
|
|
|
|
|
|
|
|
{% endfor %} |
|
|
{% endfor %} |
|
|
users_user_{{ name }}_public_key: |
|
|
users_user_{{ name }}_public_key: |
|
|
file.managed: |
|
|
file.managed: |
|
|
- name: {{ user.get('home', |
|
|
|
|
|
'/home/{0}'.format(name)) }}/.ssh/{{ key_type }}.pub |
|
|
|
|
|
|
|
|
- name: {{ home }}/.ssh/{{ key_type }}.pub |
|
|
- user: {{ name }} |
|
|
- user: {{ name }} |
|
|
- group: {{ user_group }} |
|
|
- group: {{ user_group }} |
|
|
- mode: 644 |
|
|
- mode: 644 |
|
|
|
|
|
|
|
|
{% for key_name, pillar_name in user['ssh_keys_pillar'].items() %} |
|
|
{% for key_name, pillar_name in user['ssh_keys_pillar'].items() %} |
|
|
user_ssh_keys_files_{{ name }}_{{ key_name }}_private_key: |
|
|
user_ssh_keys_files_{{ name }}_{{ key_name }}_private_key: |
|
|
file.managed: |
|
|
file.managed: |
|
|
- name: {{ user.get('home', |
|
|
|
|
|
'/home/{0}'.format(name)) }}/.ssh/{{ key_name }} |
|
|
|
|
|
|
|
|
- name: {{ home }}/.ssh/{{ key_name }} |
|
|
- user: {{ name }} |
|
|
- user: {{ name }} |
|
|
- group: {{ user_group }} |
|
|
- group: {{ user_group }} |
|
|
- mode: 600 |
|
|
- mode: 600 |
|
|
|
|
|
|
|
|
{% endfor %} |
|
|
{% endfor %} |
|
|
user_ssh_keys_files_{{ name }}_{{ key_name }}_public_key: |
|
|
user_ssh_keys_files_{{ name }}_{{ key_name }}_public_key: |
|
|
file.managed: |
|
|
file.managed: |
|
|
- name: {{ user.get('home', |
|
|
|
|
|
'/home/{0}'.format(name)) }}/.ssh/{{ key_name }}.pub |
|
|
|
|
|
|
|
|
- name: {{ home }}/.ssh/{{ key_name }}.pub |
|
|
- user: {{ name }} |
|
|
- user: {{ name }} |
|
|
- group: {{ user_group }} |
|
|
- group: {{ user_group }} |
|
|
- mode: 644 |
|
|
- mode: 644 |