Keep existing user's home and shell unless explicitly definedlookup-fix-3
@@ -3,10 +3,11 @@ include: | |||
- users | |||
{% for name, user in pillar.get('users', {}).items() if user.absent is not defined or not user.absent %} | |||
{%- set current = salt.user.info(name) -%} | |||
{%- if user == None -%} | |||
{%- set user = {} -%} | |||
{%- endif -%} | |||
{%- set home = user.get('home', "/home/%s" % name) -%} | |||
{%- set home = user.get('home', current.get('home', "/home/%s" % name)) -%} | |||
{%- set manage = user.get('manage_bashrc', False) -%} | |||
{%- if 'prime_group' in user and 'name' in user['prime_group'] %} | |||
{%- set user_group = user.prime_group.name -%} |
@@ -38,7 +38,8 @@ include: | |||
{%- if user == None -%} | |||
{%- set user = {} -%} | |||
{%- 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'] %} | |||
{%- set user_group = user.prime_group.name -%} | |||
@@ -79,7 +80,7 @@ users_{{ name }}_user: | |||
user.present: | |||
- name: {{ name }} | |||
- 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 -%} | |||
- uid: {{ user['uid'] }} | |||
{% endif -%} | |||
@@ -149,7 +150,7 @@ users_{{ name }}_user: | |||
'ssh_config' in user %} | |||
user_keydir_{{ name }}: | |||
file.directory: | |||
- name: {{ user.get('home', '/home/{0}'.format(name)) }}/.ssh | |||
- name: {{ home }}/.ssh | |||
- user: {{ name }} | |||
- group: {{ user_group }} | |||
- makedirs: True | |||
@@ -166,8 +167,7 @@ user_keydir_{{ name }}: | |||
{% set key_type = 'id_' + user.get('ssh_key_type', 'rsa') %} | |||
users_user_{{ name }}_private_key: | |||
file.managed: | |||
- name: {{ user.get('home', | |||
'/home/{0}'.format(name)) }}/.ssh/{{ key_type }} | |||
- name: {{ home }}/.ssh/{{ key_type }} | |||
- user: {{ name }} | |||
- group: {{ user_group }} | |||
- mode: 600 | |||
@@ -180,8 +180,7 @@ users_user_{{ name }}_private_key: | |||
{% endfor %} | |||
users_user_{{ name }}_public_key: | |||
file.managed: | |||
- name: {{ user.get('home', | |||
'/home/{0}'.format(name)) }}/.ssh/{{ key_type }}.pub | |||
- name: {{ home }}/.ssh/{{ key_type }}.pub | |||
- user: {{ name }} | |||
- group: {{ user_group }} | |||
- mode: 644 | |||
@@ -229,8 +228,7 @@ users_ssh_auth_{{ name }}_{{ loop.index0 }}: | |||
{% for key_name, pillar_name in user['ssh_keys_pillar'].items() %} | |||
user_ssh_keys_files_{{ name }}_{{ key_name }}_private_key: | |||
file.managed: | |||
- name: {{ user.get('home', | |||
'/home/{0}'.format(name)) }}/.ssh/{{ key_name }} | |||
- name: {{ home }}/.ssh/{{ key_name }} | |||
- user: {{ name }} | |||
- group: {{ user_group }} | |||
- mode: 600 | |||
@@ -243,8 +241,7 @@ user_ssh_keys_files_{{ name }}_{{ key_name }}_private_key: | |||
{% endfor %} | |||
user_ssh_keys_files_{{ name }}_{{ key_name }}_public_key: | |||
file.managed: | |||
- name: {{ user.get('home', | |||
'/home/{0}'.format(name)) }}/.ssh/{{ key_name }}.pub | |||
- name: {{ home }}/.ssh/{{ key_name }}.pub | |||
- user: {{ name }} | |||
- group: {{ user_group }} | |||
- mode: 644 |
@@ -3,10 +3,11 @@ include: | |||
- users | |||
{% for name, user in pillar.get('users', {}).items() if user.absent is not defined or not user.absent %} | |||
{%- set current = salt.user.info(name) -%} | |||
{%- if user == None -%} | |||
{%- set user = {} -%} | |||
{%- endif -%} | |||
{%- set home = user.get('home', "/home/%s" % name) -%} | |||
{%- set home = user.get('home', current.get('home', "/home/%s" % name)) -%} | |||
{%- set manage = user.get('manage_profile', False) -%} | |||
{%- if 'prime_group' in user and 'name' in user['prime_group'] %} | |||
{%- set user_group = user.prime_group.name -%} |
@@ -5,9 +5,10 @@ include: | |||
{% set userfile_dirs = salt['cp.list_master_dirs'](prefix='users/files/user/') -%} | |||
{%- for username, user in salt['pillar.get']('users', {}).items() if (user.absent is not defined or not user.absent) -%} | |||
{%- set current = salt.user.info(username) -%} | |||
{%- set user_files = salt['pillar.get'](('users:' ~ username ~ ':user_files'), {'enabled': False}) -%} | |||
{%- set user_group = salt['pillar.get'](('users:' ~ username ~ ':prime_group:name'), username) -%} | |||
{%- set user_home = salt['pillar.get'](('users:' ~ username ~ ':home'), '/home/' ~ username ) -%} | |||
{%- set user_home = salt['pillar.get'](('users:' ~ username ~ ':home'), current.get('home', '/home/' ~ username )) -%} | |||
{%- if user_files.enabled -%} | |||
{%- if user_files.source is defined -%} |
@@ -4,10 +4,11 @@ include: | |||
- vim | |||
{% for name, user in pillar.get('users', {}).items() if user.absent is not defined or not user.absent %} | |||
{%- set current = salt.user.info(name) -%} | |||
{%- if user == None -%} | |||
{%- set user = {} -%} | |||
{%- endif -%} | |||
{%- set home = user.get('home', "/home/%s" % name) -%} | |||
{%- set home = user.get('home', current.get('home', "/home/%s" % name)) -%} | |||
{%- set manage = user.get('manage_vimrc', False) -%} | |||
{%- if 'prime_group' in user and 'name' in user['prime_group'] %} | |||
{%- set user_group = user.prime_group.name -%} |