|
Server : Apache/2.2.2 (Fedora) System : Linux App1.pathumtani.go.th 2.6.20-1.2320.fc5smp #1 SMP Tue Jun 12 19:40:16 EDT 2007 i686 User : apache ( 48) PHP Version : 5.2.9 Disable Function : NONE Directory : /proc/self/root/usr/libexec/webmin/acl/ |
Upload File : |
require 'acl-lib.pl';
# Rename the .acl files for any groups to .gacl files
sub module_install
{
# Fix up .acl files
local @mods = &get_all_module_infos();
local %isuser = map { $_->{'name'}, 1 } &list_users();
local $g;
foreach $g (&list_groups()) {
next if ($isuser{$g->{'name'}});
local $m;
foreach $m (@mods) {
if (-r "$config_directory/$m->{'dir'}/$g->{'name'}.acl") {
print STDERR "renaming $config_directory/$m->{'dir'}/$g->{'name'}.acl $config_directory/$m->{'dir'}/$g->{'name'}.gacl\n";
rename("$config_directory/$m->{'dir'}/$g->{'name'}.acl",
"$config_directory/$m->{'dir'}/$g->{'name'}.gacl");
}
}
}
# Update sub-groups in webmin.groups file to use @ names
foreach $g (&list_groups()) {
local ($u, @newmembers, $any);
foreach $u (@{$g->{'members'}}) {
if ($u !~ /^\@/ && !$isuser{$u}) {
push(@newmembers, '@'.$u);
$any = 1;
}
else {
push(@newmembers, $u);
}
}
$g->{'members'} = \@newmembers;
if ($any) {
print STDERR "Changing members of $g->{'name'} to ",join(" ", @newmembers),"\n";
&modify_group($g->{'name'}, $g);
}
}
}