Add support for netgroups

This commit is contained in:
9numbernine9 2018-08-13 20:33:05 +01:00
parent 1a46975212
commit d5d68ea963
2 changed files with 17 additions and 0 deletions

View File

@ -7,6 +7,9 @@ sudoers:
sudo: sudo:
- 'ALL=(ALL) ALL' - 'ALL=(ALL) ALL'
- 'ALL=(nodejs) NOPASSWD: ALL' - 'ALL=(nodejs) NOPASSWD: ALL'
netgroups:
sysadmins:
- 'ALL=(ALL) ALL'
defaults: defaults:
generic: generic:
- env_reset - env_reset
@ -49,3 +52,7 @@ sudoers:
groups: groups:
bargroup: bargroup:
- 'ALL=(ALL) NOPASSWD: ALL' - 'ALL=(ALL) NOPASSWD: ALL'
extra-file-3:
netgroups:
other_netgroup:
- 'ALL=(ALL) ALL'

View File

@ -13,6 +13,7 @@
{%- set runas_list_defaults = defaults.get('runas_list', {}) %} {%- set runas_list_defaults = defaults.get('runas_list', {}) %}
{%- set users = sudoers.get('users', {'root': ['ALL=(ALL:ALL) ALL']}) %} {%- set users = sudoers.get('users', {'root': ['ALL=(ALL:ALL) ALL']}) %}
{%- set groups = sudoers.get('groups', {'sudo': ['ALL=(ALL:ALL) ALL']}) %} {%- set groups = sudoers.get('groups', {'sudo': ['ALL=(ALL:ALL) ALL']}) %}
{%- set netgroups = sudoers.get('netgroups', {}) %}
{%- else %} {%- else %}
{%- set defaults = sudoers.get('defaults', {}) %} {%- set defaults = sudoers.get('defaults', {}) %}
{%- set generic_defaults = defaults.get('generic', []) %} {%- set generic_defaults = defaults.get('generic', []) %}
@ -22,6 +23,7 @@
{%- set runas_list_defaults = defaults.get('runas_list', {}) %} {%- set runas_list_defaults = defaults.get('runas_list', {}) %}
{%- set users = sudoers.get('users', {}) %} {%- set users = sudoers.get('users', {}) %}
{%- set groups = sudoers.get('groups', {}) %} {%- set groups = sudoers.get('groups', {}) %}
{%- set netgroups = sudoers.get('netgroups', {}) %}
{%- endif %} {%- endif %}
{%- set includedir = sudoers.get('includedir', '/etc/sudoers.d') -%} {%- set includedir = sudoers.get('includedir', '/etc/sudoers.d') -%}
{%- else %} {%- else %}
@ -33,6 +35,7 @@
{%- set runas_list_defaults = defaults.get('runas_list', {}) %} {%- set runas_list_defaults = defaults.get('runas_list', {}) %}
{%- set users = sudoers.get('users', {}) %} {%- set users = sudoers.get('users', {}) %}
{%- set groups = sudoers.get('groups', {}) %} {%- set groups = sudoers.get('groups', {}) %}
{%- set netgroups = sudoers.get('netgroups', {}) %}
{%- set includedir = sudoers.get('includedir', None) %} {%- set includedir = sudoers.get('includedir', None) %}
{%- endif %} {%- endif %}
{%- set aliases = sudoers.get('aliases', {}) %} {%- set aliases = sudoers.get('aliases', {}) %}
@ -95,6 +98,13 @@ Runas_Alias {{ name }} = {{ ",".join(runas) }}
{%- endfor %} {%- endfor %}
{%- endfor %} {%- endfor %}
# Netgroup privilege specification
{%- for netgroup,specs in netgroups.items() %}
{%- for spec in specs %}
+{{ netgroup }} {{ spec }}
{%- endfor %}
{%- endfor %}
{% if includedir %} {% if includedir %}
## Read drop-in files from /etc/sudoers.d ## Read drop-in files from /etc/sudoers.d
## (the '#' here does not indicate a comment) ## (the '#' here does not indicate a comment)