mirror of https://github.com/jumpserver/jumpserver
33 lines
918 B
Django/Jinja
33 lines
918 B
Django/Jinja
#!/bin/bash
|
|
|
|
|
|
sudo_file=/etc/sudoers
|
|
|
|
|
|
# Add Command Aliases
|
|
add_cmd_alias() {
|
|
{% for sudo in sudo_alias %}
|
|
if $(grep '^Cmnd_Alias {{ sudo.name }}' ${sudo_file} &> /dev/null); then
|
|
sed -i 's@^Cmnd_Alias.*{{ sudo.name }}.*@Cmnd_Alias {{ sudo.name }} = {{ sudo.commands }}@g' ${sudo_file}
|
|
else
|
|
echo "Cmnd_Alias {{ sudo.name }} = {{ sudo.commands }}" >> ${sudo_file}
|
|
fi
|
|
{% endfor %}
|
|
}
|
|
|
|
|
|
add_role_chosen() {
|
|
{% for role, sudos in role_chosen_aliase.items %}
|
|
{% for sudo in sudos %}
|
|
if $(grep '^{{ role }}.*sudo.name' ${sudo_file} &> /dev/null); then
|
|
sed -i 's@^{{ role }}.*sudo.name@{{ role }} ALL = ({{ sudo.runas }}) NOPASSWD: {{ sudo.name }}@g' ${sudo_file}
|
|
else
|
|
echo "{{ role }} ALL = ({{ sudo.runas }}) NOPASSWD: {{ sudo.name }}" >> ${sudo_file}
|
|
fi
|
|
{% endfor %}
|
|
{% endfor %}
|
|
}
|
|
|
|
|
|
add_cmd_alias
|
|
add_role_chosen |