Skip to content

Commit

Permalink
Merge pull request #301 from vquiering/move_to_publisher_acl
Browse files Browse the repository at this point in the history
Add new publisher_acl to salt master config
  • Loading branch information
aboe76 authored Apr 8, 2017
2 parents ca204ea + f7189e2 commit 03ec0dc
Showing 1 changed file with 47 additions and 9 deletions.
56 changes: 47 additions & 9 deletions salt/files/master.d/f_defaults.conf
Original file line number Diff line number Diff line change
Expand Up @@ -332,25 +332,42 @@ event_return_blacklist:
# This setting should be treated with care since it opens up execution
# capabilities to non root users. By default this capability is completely
# disabled.
{% if 'client_acl' in cfg_master -%}
{% if 'publisher_acl' in cfg_master -%}
{%- do default_keys.append('publisher_acl') %}
publisher_acl:
{%- for name, user in cfg_master['publisher_acl']|dictsort %}
{{ name}}:
{%- for command in user %}
- {% raw %}'{% endraw %}{{ command }}{% raw %}'{% endraw %}
{%- endfor -%}
{%- endfor -%}
{% elif 'publisher_acl' in cfg_salt -%}
publisher_acl:
{%- for name, user in cfg_salt['publisher_acl']|dictsort %}
{{ name }}:
{%- for command in user %}
- {% raw %}'{% endraw %}{{ command }}{% raw %}'{% endraw %}
{%- endfor -%}
{%- endfor -%}
{% elif 'client_acl' in cfg_master -%}
{%- do default_keys.append('client_acl') %}
client_acl:
publisher_acl:
{%- for name, user in cfg_master['client_acl']|dictsort %}
{{ name}}:
{%- for command in user %}
- {% raw %}'{% endraw %}{{ command }}{% raw %}'{% endraw %}
{%- endfor -%}
{%- endfor -%}
{% elif 'client_acl' in cfg_salt -%}
client_acl:
publisher_acl:
{%- for name, user in cfg_salt['client_acl']|dictsort %}
{{ name }}:
{%- for command in user %}
- {% raw %}'{% endraw %}{{ command }}{% raw %}'{% endraw %}
{%- endfor -%}
{%- endfor -%}
{% else -%}
#client_acl:
#publisher_acl:
# larry:
# - test.ping
# - network.*
Expand All @@ -361,9 +378,30 @@ client_acl:
# This example would blacklist all non sudo users, including root from
# running any commands. It would also blacklist any use of the "cmd"
# module. This is completely disabled by default.
{% if 'client_acl_blacklist' in cfg_master %}
{% if 'publisher_acl_blacklist' in cfg_master %}
{%- do default_keys.append('publisher_acl_blacklist') %}
publisher_acl_blacklist:
users:
{% for user in cfg_master['publisher_acl_blacklist'].get('users', []) %}
- {{ user }}
{% endfor %}
modules:
{% for mod in cfg_master['publisher_acl_blacklist'].get('modules', []) %}
- {{ mod }}
{% endfor %}
{% elif 'publisher_acl_blacklist' in cfg_salt %}
publisher_acl_blacklist:
users:
{% for user in cfg_salt['publisher_acl_blacklist'].get('users', []) %}
- {{ user }}
{% endfor %}
modules:
{% for mod in cfg_salt['publisher_acl_blacklist'].get('modules', []) %}
- {{ mod }}
{% endfor %}
{% elif 'client_acl_blacklist' in cfg_master %}
{%- do default_keys.append('client_acl_blacklist') %}
client_acl_blacklist:
publisher_acl_blacklist:
users:
{% for user in cfg_master['client_acl_blacklist'].get('users', []) %}
- {{ user }}
Expand All @@ -373,7 +411,7 @@ client_acl_blacklist:
- {{ mod }}
{% endfor %}
{% elif 'client_acl_blacklist' in cfg_salt %}
client_acl_blacklist:
publisher_acl_blacklist:
users:
{% for user in cfg_salt['client_acl_blacklist'].get('users', []) %}
- {{ user }}
Expand All @@ -383,15 +421,15 @@ client_acl_blacklist:
- {{ mod }}
{% endfor %}
{% else %}
#client_acl_blacklist:
#publisher_acl_blacklist:
# users:
# - root
# - '^(?!sudo_).*$' # all non sudo users
# modules:
# - cmd
{% endif %}

# Enforce client_acl & client_acl_blacklist when users have sudo
# Enforce publisher_acl & publisher_acl_blacklist when users have sudo
# access to the salt command.
{{ get_config('sudo_acl', 'False') }}

Expand Down

0 comments on commit 03ec0dc

Please sign in to comment.