#Multiple files.
# init.sls for users.
{% for user, args in pillar.get('users', {}).items() %}
{{user}}:
group:
- present
user.present:
- fullname: {{ args['fullname'] }}
- shell: /bin/bash
- home: /home/{{user}}
- password: #hidden hash.
- enforce_password: True
- groups:
- {{user}}
ssh_auth.present:
- user: {{user}}
- source: salt://.ssh_keys/{{user}}.authkey
- config: '%h/.ssh/authorized_keys'
{% if args['admin'] == True %}
# Need to get sudoers here! <---------------------------------------------
{% endif %}
{% endfor %}
# pillar/users.sls
users:
user1:
fullname: I am user1
admin: True
user2:
fullname: I am user2
admin: True
user3:
fullname: I am user3
admin: False
# pillar/sudoers.sls
sudoers:
users:
user1:
- 'ALL=(ALL:ALL) ALL'
user2:
- 'ALL=(ALL) ALL'
- 'ALL=(root) ALL'
user3:
- 'ALL=(ALL) ALL'
- 'ALL=(root) ALL'
# Sudoers is provided by: https://github.com/saltstack-formulas/sudoers-formula