| 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/samba/ |
Upload File : |
#!/usr/bin/perl
# save_group.cgi
# Update or delete a Samba group
require './samba-lib.pl';
$access{'maint_groups'} || &error($text{'groups_ecannot'});
&ReadParse();
@groups = &list_groups();
$group = $groups[$in{'idx'}] if (!$in{'new'});
$oldname = $group->{'name'} || $in{'name'};
if ($in{'delete'}) {
# Just remove this group
&delete_group($group);
}
else {
# Validate inputs
&error_setup($text{'gsave_err'});
if ($in{'new'}) {
$in{'name'} =~ /\S/ || &error($text{'gsave_ename'});
$group->{'name'} = $in{'name'};
}
$group->{'type'} = $in{'type'};
if ($in{'unix_def'}) {
$group->{'unix'} = -1;
}
else {
getgrnam($in{'unix'}) || $in{'unix'} =~ /^\-?\d+$/ ||
&error($text{'gsave_eunix'});
$group->{'unix'} = $in{'unix'};
}
$group->{'desc'} = $in{'desc'};
if ($in{'new'} && !$in{'priv_def'}) {
$in{'priv'} =~ /\S/ || &error($text{'gsave_epriv'});
$in{'type'} eq 'l' || &error($text{'gsave_elocal'});
$group->{'priv'} = $in{'priv'};
}
# Update or create the group
if ($in{'new'}) {
&create_group($group);
}
else {
&modify_group($group);
}
}
&webmin_log($in{'new'} ? "create" : $in{'delete'} ? "delete" : "modify",
"group", $oldname, \%group);
&redirect("list_groups.cgi");