I did a bit of a dirty work around by editing the webmin module to circumvent the error checking of file access/permissions.
I edited this file:
***************************************************************************************
/usr/libexec/webmin/dansguardian/dansguardian-lib.pl
***************************************************************************************
Then found this section:
***************************************************************************************
##############
sub accessfile
##############
{
# does the user have permission to modify this file?
my ($filepath) = @_;
($filepath =~ m{\b([^/.]+?)(f\d+)?\.(conf|20\d+)$}) || ($filepath =~ m{\b([^/.]+?)(f\d+)?$});
my $listname = $1;
my $group = $2;
$group = 'local' if ($filepath =~ m/\blocal\b/);
$group = 'f0' if ! $group;
(my $branch) = ($filepath =~ m/\b(blacklists|phraselists|authplugins|contentscanners|downloadmanagers)/);
return 0 if ((! $branch) && (! $listname) && (! $group)); # parse failure, wha??? return failure
$listname = 'conf' if $listname eq 'dansguardian';
$listname = $branch if ($branch && (! exists($basefilepermissions{$listname})));
$listname = 'picsfile' if $listname eq 'pics';
$listname =~ s/list.*$/list/ if $listname ne $branch; # truncate filenames only, not directory names
if (exists $basefilepermissions{$listname}) {
return 1 if $access{$basefilepermissions{$listname}};
} else {
return 1 if ($access{$listname} && $access{$group});
}
return 0;
}
***************************************************************************************
and changed the final "return 0;" to "return 1;" this basically overrides all file access error checking. Yes it is a messy fix but now I can edit my files in webmin. I am sure some time down the road this will come back to haunt me but for now all I care about is that I can edit my DG files via webmin. I think whole issue is due to having webmin and DG running as a different users.
James.