67 lines
2.1 KiB
Text
67 lines
2.1 KiB
Text
{%- if (not included) %}
|
|
{%- set sudoers = pillar.get('sudoers', {}) %}
|
|
{%- if grains['os_family'] == 'Debian' %}
|
|
{%- set defaults = sudoers.get('defaults', [
|
|
'env_reset',
|
|
'mail_badpass',
|
|
'secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"'
|
|
]) %}
|
|
{%- set users = sudoers.get('users', {'root': 'ALL=(ALL:ALL) ALL'}) %}
|
|
{%- set groups = sudoers.get('groups', {'sudo': 'ALL=(ALL:ALL) ALL'}) %}
|
|
{%- else %}
|
|
{%- set defaults = sudoers.get('defaults', []) %}
|
|
{%- set users = sudoers.get('users', {}) %}
|
|
{%- set groups = sudoers.get('groups', {}) %}
|
|
{%- endif %}
|
|
{%- set includedir = sudoers.get('includedir', '/etc/sudoers.d') -%}
|
|
{%- else %}
|
|
{%- set defaults = sudoers.get('defaults', []) %}
|
|
{%- set users = sudoers.get('users', {}) %}
|
|
{%- set groups = sudoers.get('groups', {}) %}
|
|
{%- set includedir = sudoers.get('includedir', None) %}
|
|
{%- endif %}
|
|
{%- set aliases = sudoers.get('aliases', {}) %}
|
|
{%- set host_aliases = aliases.get('hosts', {}) %}
|
|
{%- set user_aliases = aliases.get('users', {}) %}
|
|
{%- set command_aliases = aliases.get('commands', {}) %}
|
|
{%- set runas_aliases = aliases.get('runas', {}) -%}
|
|
#
|
|
# This file is managed by salt
|
|
#
|
|
|
|
{% for default in defaults -%}
|
|
Defaults {{ default }}
|
|
{% endfor %}
|
|
# Host alias specification
|
|
{%- for name,hosts in host_aliases.items() %}
|
|
Host_Alias {{ name }} = {{ ",".join(hosts) }}
|
|
{%- endfor %}
|
|
|
|
# User alias specification
|
|
{%- for name,users in user_aliases.items() %}
|
|
User_Alias {{ name }} = {{ ",".join(users) }}
|
|
{%- endfor %}
|
|
|
|
# Cmnd alias specification
|
|
{%- for name,commands in command_aliases.items() %}
|
|
Cmnd_Alias {{ name }} = {{ ",".join(commands) }}
|
|
{%- endfor %}
|
|
|
|
# Runas alias specification
|
|
{%- for name,runas in runas_aliases.items() %}
|
|
Runas_Alias {{ name }} = {{ ",".join(runas) }}
|
|
{%- endfor %}
|
|
|
|
# User privilege specification
|
|
{%- for user,spec in users.items() %}
|
|
{{ user }} {{ spec }}
|
|
{%- endfor %}
|
|
|
|
# Group privilege specification
|
|
{%- for group,spec in groups.items() %}
|
|
%{{ group }} {{ spec }}
|
|
{%- endfor %}
|
|
|
|
{% if includedir %}
|
|
#includedir {{ includedir }}
|
|
{% endif %}
|