Browse Source

Merge pull request #301 from vquiering/move_to_publisher_acl

Add new publisher_acl to salt master config
master
Niels Abspoel 7 years ago
parent
commit
03ec0dce2d
1 changed files with 47 additions and 9 deletions
  1. +47
    -9
      salt/files/master.d/f_defaults.conf

+ 47
- 9
salt/files/master.d/f_defaults.conf View File

# This setting should be treated with care since it opens up execution # This setting should be treated with care since it opens up execution
# capabilities to non root users. By default this capability is completely # capabilities to non root users. By default this capability is completely
# disabled. # 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') %} {%- do default_keys.append('client_acl') %}
client_acl:
publisher_acl:
{%- for name, user in cfg_master['client_acl']|dictsort %} {%- for name, user in cfg_master['client_acl']|dictsort %}
{{ name}}: {{ name}}:
{%- for command in user %} {%- for command in user %}
{%- endfor -%} {%- endfor -%}
{%- endfor -%} {%- endfor -%}
{% elif 'client_acl' in cfg_salt -%} {% elif 'client_acl' in cfg_salt -%}
client_acl:
publisher_acl:
{%- for name, user in cfg_salt['client_acl']|dictsort %} {%- for name, user in cfg_salt['client_acl']|dictsort %}
{{ name }}: {{ name }}:
{%- for command in user %} {%- for command in user %}
{%- endfor -%} {%- endfor -%}
{%- endfor -%} {%- endfor -%}
{% else -%} {% else -%}
#client_acl:
#publisher_acl:
# larry: # larry:
# - test.ping # - test.ping
# - network.* # - network.*
# This example would blacklist all non sudo users, including root from # This example would blacklist all non sudo users, including root from
# running any commands. It would also blacklist any use of the "cmd" # running any commands. It would also blacklist any use of the "cmd"
# module. This is completely disabled by default. # 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') %} {%- do default_keys.append('client_acl_blacklist') %}
client_acl_blacklist:
publisher_acl_blacklist:
users: users:
{% for user in cfg_master['client_acl_blacklist'].get('users', []) %} {% for user in cfg_master['client_acl_blacklist'].get('users', []) %}
- {{ user }} - {{ user }}
- {{ mod }} - {{ mod }}
{% endfor %} {% endfor %}
{% elif 'client_acl_blacklist' in cfg_salt %} {% elif 'client_acl_blacklist' in cfg_salt %}
client_acl_blacklist:
publisher_acl_blacklist:
users: users:
{% for user in cfg_salt['client_acl_blacklist'].get('users', []) %} {% for user in cfg_salt['client_acl_blacklist'].get('users', []) %}
- {{ user }} - {{ user }}
- {{ mod }} - {{ mod }}
{% endfor %} {% endfor %}
{% else %} {% else %}
#client_acl_blacklist:
#publisher_acl_blacklist:
# users: # users:
# - root # - root
# - '^(?!sudo_).*$' # all non sudo users # - '^(?!sudo_).*$' # all non sudo users
# - cmd # - cmd
{% endif %} {% 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. # access to the salt command.
{{ get_config('sudo_acl', 'False') }} {{ get_config('sudo_acl', 'False') }}



Loading…
Cancel
Save