| Server IP : 127.0.0.1 / Your IP : 216.73.216.109 Web Server : Apache/2.4.54 (Win64) OpenSSL/1.1.1q PHP/8.1.10 System : Windows NT DESKTOP-E5T4RUN 10.0 build 19045 (Windows 10) AMD64 User : SERVERWEB ( 0) PHP Version : 8.1.10 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : C:/cygwin64/home/SERVERWEB/webmin-2.105/usermin/ |
Upload File : |
#!/usr/bin/perl
# save_restrict.cgi
# Create, update or delete a user or group module restriction
require './usermin-lib.pl';
$access{'restrict'} || &error($text{'acl_ecannot'});
&ReadParse();
@usermods = &list_usermin_usermods();
$um = $usermods[$in{'idx'}] if (!$in{'new'});
&lock_file("$config{'usermin_dir'}/usermin.mods");
if ($in{'delete'}) {
# Just delete this restriction
@usermods = grep { $_ ne $um } @usermods;
}
else {
# Validate inputs
&error_setup($text{'restrict_err'});
if ($in{'umode'} == 0) {
defined(getpwnam($in{'user'})) ||
&error($text{'restrict_euser'});
$um->[0] = $in{'user'};
}
elsif ($in{'umode'} == 1) {
defined(getgrnam($in{'group'})) ||
&error($text{'restrict_egroup'});
$um->[0] = "\@".$in{'group'};
}
elsif ($in{'umode'} == 3) {
$in{'file'} =~ /^\// && -r $in{'file'} ||
&error($text{'restrict_efile'});
$um->[0] = $in{'file'};
}
else {
$um->[0] = "*";
}
$um->[1] = $in{'mmode'} == 0 ? "" :
$in{'mmode'} == 1 ? "+" : "-";
$um->[2] = [ split(/\0/, $in{'mod'}) ];
# Save the restriction
if ($in{'new'}) {
push(@usermods, $um);
}
}
&save_usermin_usermods(\@usermods);
&unlock_file("$config{'usermin_dir'}/usermin.mods");
&webmin_log($in{'new'} ? "create" : $in{'delete'} ? "delete" : "modify",
"restrict", $um->[0]);
&redirect("list_restrict.cgi");