| Server IP : 182.53.201.61 / Your IP : 216.73.217.175 Web Server : Apache/2.2.15 (Fedora) System : Linux km10.dyndns.org 2.6.31.5-127.fc12.i686.PAE #1 SMP Sat Nov 7 21:25:57 EST 2009 i686 User : apache ( 48) PHP Version : 5.3.3 Disable Function : NONE MySQL : ON | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /usr/libexec/webmin/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");