Skip to content

Instantly share code, notes, and snippets.

@jslatts
Last active December 14, 2015 20:29
Show Gist options
  • Save jslatts/5144146 to your computer and use it in GitHub Desktop.
Save jslatts/5144146 to your computer and use it in GitHub Desktop.
Saltstack adding users using python renderer
#!py
def run():
'''
Manage sudo enabled user adds/removes
'''
users_root = []
if 'users_grp1' in pillar:
users_root = users_root + pillar['users_grp1']
if 'users_grp2' in pillar:
users_root = users_root + pillar['users_grp2']
generated_user_hsd = {}
for user in users_root:
generated_user_hsd[user] = {}
generated_user_hsd[user]['user'] = [
'present',
{'fullname' : user},
{'home' : True},
{'shell' : '/bin/bash'},
{'optional_groups' : ['admin','ubuntu','wheel']}
]
generated_user_hsd[user]['ssh_auth'] = [
'present',
{'user' : user},
{'source' : 'salt://users/keys/' + user + '_id_rsa.pub'},
{'require' : [{'user': user}]}
]
if grains['os'] == 'Debian' or grains['os'] == 'Ubuntu':
generated_user_hsd[user]['file'] = [
'managed',
{'name' : '/etc/sudoers.d/' + user},
{'source' : 'salt://users/sudoers.ubuntu.jinja'},
{'template' : 'jinja'},
{'user' : 'root'},
{'group' : 'root'},
{'mode' : '0440'},
{'defaults' : {
{'suser' : user},
{'command' : 'ALL'}
}}
]
return generated_user_hsd
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment