From e55993769777411e29ffc7027992f75a8b3a6f86 Mon Sep 17 00:00:00 2001 From: fbsanchez Date: Mon, 31 Oct 2016 12:32:45 +0100 Subject: [PATCH] Updated set_file_permissions Allow custom permissions over target file --- pandora_server/lib/PandoraFMS/Tools.pm | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/pandora_server/lib/PandoraFMS/Tools.pm b/pandora_server/lib/PandoraFMS/Tools.pm index 4e68ab9433..4be19caf2d 100755 --- a/pandora_server/lib/PandoraFMS/Tools.pm +++ b/pandora_server/lib/PandoraFMS/Tools.pm @@ -146,13 +146,19 @@ chomp($OS_VERSION); ############################################################################### # Sets user:group owner for the given file ############################################################################### -sub set_file_permissions($$) { - my ($pa_config, $file) = @_; +sub set_file_permissions($$;$) { + my ($pa_config, $file, $grants) = @_; if ($^O !~ /win/i ) { # Only for Linux environments eval { + if (defined ($grants)) { + $grants = oct($grants); + } + else { + $grants = oct("0777"); + } my $uid = getpwnam($pa_config->{'user'}); my $gid = getgrnam($pa_config->{'group'}); - my $perm = oct("0777") & (~oct($pa_config->{'umask'})); + my $perm = $grants & (~oct($pa_config->{'umask'})); chown $uid, $gid, $file; chmod ( $perm, $file );