Files
webmin/grub2/acl_security.pl

44 lines
1.1 KiB
Perl

use strict;
use warnings;
no warnings 'redefine';
no warnings 'uninitialized';
do 'grub2-lib.pl';
our (%in, %text);
# acl_security_form(&options)
# Outputs HTML for editing security options for the GRUB 2 module.
sub acl_security_form
{
my ($o) = @_;
# View permissions
print &ui_table_row($text{'acl_view'},
&ui_yesno_radio("view", $o->{'view'}), 3);
print &ui_table_hr();
# Change permissions modify GRUB configuration without granting install rights.
foreach my $a (qw(edit security apply runtime)) {
print &ui_table_row($text{'acl_'.$a},
&ui_yesno_radio($a, $o->{$a}), 3);
}
print &ui_table_hr();
# Admin permissions expose direct file editing, backup, and boot-loader install.
foreach my $a (qw(manual install backup)) {
print &ui_table_row($text{'acl_'.$a},
&ui_yesno_radio($a, $o->{$a}), 3);
}
}
# acl_security_save(&options)
# Parses the form for security options for the GRUB 2 module.
sub acl_security_save
{
my ($o) = @_;
foreach my $a (qw(view edit security apply runtime manual install backup)) {
# Missing checkbox/radio values fall back to denied.
$o->{$a} = $in{$a} || 0;
}
}
1;