mirror of
https://github.com/webmin/webmin.git
synced 2026-03-20 08:40:24 +00:00
Read and write group ACL when editing a group
https://sourceforge.net/tracker/?func=detail&atid=117457&aid=3151868&group_id=17457
This commit is contained in:
@@ -69,7 +69,14 @@ $desc = &text($user ? 'acl_title2'.$ga : 'acl_title3'.$ga,
|
||||
|
||||
# Get the host's ACL options
|
||||
&remote_foreign_require($serv->{'host'}, "acl", "acl-lib.pl");
|
||||
$aref = &remote_eval($serv->{'host'}, "acl", "\%rv = &get_module_acl('$who', '$mod->{'dir'}'); \\%rv");
|
||||
if ($user) {
|
||||
$aref = &remote_eval($serv->{'host'}, "acl",
|
||||
"\%rv = &get_module_acl('$who', '$mod->{'dir'}'); \\%rv");
|
||||
}
|
||||
else {
|
||||
$aref = &remote_eval($serv->{'host'}, "acl",
|
||||
"\%rv = &get_group_module_acl('$who', '$mod->{'dir'}'); \\%rv");
|
||||
}
|
||||
%access = %$aref;
|
||||
|
||||
# Display the editor form from this host
|
||||
|
||||
@@ -70,9 +70,11 @@ foreach $h (@hosts) {
|
||||
}
|
||||
|
||||
# Save the .acl file
|
||||
local $cd = &remote_eval($s->{'host'}, "acl", '$config_directory');
|
||||
local $cd = &remote_eval($s->{'host'}, "acl",
|
||||
'$config_directory');
|
||||
$sfx = $in{'_acl_user'} ? "acl" : "gacl";
|
||||
&remote_foreign_call($s->{'host'}, "acl", "write_file",
|
||||
"$cd/$in{'_acl_mod'}/$who.acl", \%maccess);
|
||||
"$cd/$in{'_acl_mod'}/$who.$sfx", \%maccess);
|
||||
|
||||
# Recursively update the ACL for all member users and groups
|
||||
if ($in{'_acl_group'}) {
|
||||
|
||||
Reference in New Issue
Block a user