File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 5555 - ALL=(otheruser) /usr/bin/script.sh
5656 sudo_defaults:
5757 - '!requiretty'
58+ # enable polkitadmin to make user an AdminIdentity for polkit
59+ polkitadmin: True
5860 shell: /bin/bash
5961 remove_groups: False
6062 prime_group:
Original file line number Diff line number Diff line change 33{% set used_sudo = [] % }
44{% set used_googleauth = [] % }
55{% set used_user_files = [] % }
6+ {% set used_polkit = [] % }
67
78{% for group, setting in salt[' pillar.get' ](' groups' , {}).items() % }
89{% if setting.absent is defined and setting.absent or setting.get(' state' , " present" ) == ' absent' % }
@@ -38,9 +39,12 @@ users_group_present_{{ group }}:
3839{%- if salt[' pillar.get' ](' users:' ~ name ~ ' :user_files:enabled' , False ) % }
3940{%- do used_user_files.append(1 ) % }
4041{%- endif % }
42+ {%- if user.get(' polkitadmin' , False ) == True % }
43+ {%- do used_polkit.append(1 ) % }
44+ {%- endif % }
4145{%- endfor % }
4246
43- {%- if used_sudo or used_googleauth or used_user_files % }
47+ {%- if used_sudo or used_googleauth or used_user_files or used_polkit % }
4448include:
4549{%- if used_sudo % }
4650 - users.sudo
@@ -51,6 +55,9 @@ include:
5155{%- if used_user_files % }
5256 - users.user_files
5357{%- endif % }
58+ {%- if used_polkit % }
59+ - users.polkit
60+ {%- endif % }
5461{%- endif % }
5562
5663{% for name, user in pillar.get(' users' , {}).items()
Original file line number Diff line number Diff line change 2727 'bash_package' : 'bash' ,
2828 'sudo_package' : 'sudo' ,
2929 'googleauth_package' : 'libpam-google-authenticator' ,
30- },
30+ 'polkit_dir' : '/etc/polkit-1/localauthority.conf.d' ,
31+ 'polkit_defaults' : 'unix-group:sudo;'
32+ },
3133 'Gentoo' : {
3234 'sudoers_dir' : '/etc/sudoers.d' ,
3335 'sudoers_file' : '/etc/sudoers' ,
8284 'bash_package' : 'bash' ,
8385 'sudo_package' : 'sudo' ,
8486 'googleauth_package' : 'libpam-google-authenticator' ,
87+ 'polkit_dir' : '/etc/polkit-1/localauthority.conf.d' ,
88+ 'polkit_defaults' : 'unix-group:sudo;'
8589 },
8690 }, merge =salt ['pillar.get' ]('users-formula:lookup' )),
8791 base ='users' ,
9094{% if grains .os == 'MacOS' %}
9195 {% set group = salt ['cmd.run' ]("stat -f '%Sg' /dev/console" ) %}
9296 {% do users .update ({'root_group' : group ,}) %}
93- {% endif %}
97+ {% endif %}
Original file line number Diff line number Diff line change 1+ {% from " users/map.jinja" import users with context % }
2+ {% set polkitusers = {} % }
3+ {% set polkitusers = {' value' : ' ' } % }
4+
5+ {% for name, user in pillar.get(' users' , {}).items() % }
6+ {% if user.absent is not defined or not user.absent % }
7+ {% if ' polkitadmin' in user and user[' polkitadmin' ] % }
8+ {% do polkitusers.update({' value' : polkitusers.value + ' unix-user:' + name + ' ;' }) % }
9+ {% endif % }
10+ {% endif % }
11+ {% endfor % }
12+
13+ {% if polkitusers.value != ' ' % }
14+ users_{{ users.polkit_dir }}/ 99salt - users- formula.conf:
15+ file .managed:
16+ - replace: True
17+ - onlyif: ' test -d {{ users.polkit_dir }} '
18+ - name: {{ users.polkit_dir }}/ 99salt - users- formula.conf
19+ - contents: |
20+ # #######################################################################
21+ # File managed by Salt (users-formula).
22+ # Your changes will be overwritten.
23+ # #######################################################################
24+ #
25+ [Configuration]
26+ AdminIdentities= {{ users.polkit_defaults }}{{ polkitusers.value }}
27+ {% else % }
28+ users_{{ users.polkit_dir }}/ 99salt - users- formula.conf_delete:
29+ file .absent:
30+ - name: {{ users.polkit_dir }}/ 99salt - users- formula.conf
31+ {% endif % }
You can’t perform that action at this time.
0 commit comments