Files
webmin/samba/kill_users.cgi
2007-04-12 20:24:50 +00:00

30 lines
842 B
Perl
Executable File

#!/usr/local/bin/perl
# Disconnect multiple Samba users
require './samba-lib.pl';
&ReadParse();
@d = split(/\0/, $in{'d'});
@d || &error($text{'viewu_enone'});
# check acls
%access = &get_module_acl();
&error_setup("<blink><font color=red>$text{'eacl_aviol'}</font></blink>");
if ($in{share}) { # this may be cracked very easy, don't know how to do better :(
# per-share acls ...
&error("$text{'eacl_np'} $text{'eacl_pkill'}")
unless &can('rvV',\%access, $in{share}); # read, view conn, kill conn
}
else {
&error("$text{'eacl_np'} $text{'eacl_pgkill'}")
unless $access{'view_all_con'} && $access{'kill_con'};
}
# Kill them
foreach $pid (@d) {
&kill_logged('TERM', $pid);
}
&webmin_log("kills", undef, scalar(@d), \%in);
if ($in{share}) { &redirect("view_users.cgi?share=$in{share}"); }
else { &redirect("view_users.cgi"); }