]> git.proxmox.com Git - pve-manager.git/commitdiff
use setuid/setgid feature from PVE::Daemon
authorDietmar Maurer <dietmar@proxmox.com>
Fri, 2 Jan 2015 13:11:38 +0000 (14:11 +0100)
committerDietmar Maurer <dietmar@proxmox.com>
Fri, 2 Jan 2015 13:11:38 +0000 (14:11 +0100)
bin/pveproxy
bin/spiceproxy

index 4cc24382b27f26cb05268718b9a94fb0b679d262..8c2150f7bfc07190401325324265a4d087921536 100755 (executable)
@@ -6,7 +6,6 @@ delete @ENV{qw(IFS CDPATH ENV BASH_ENV)};
 
 use strict;
 use warnings;
-use English;
 
 use PVE::SafeSyslog;
 use PVE::Daemon;
@@ -44,21 +43,13 @@ my %daemon_options = (
     restart_on_error => 5, 
     stop_wait_time => 15,
     leave_children_open_on_reload => 1,
+    setuid => 'www-data',
+    setgid => 'www-data',
     run_dir => '/var/run/pveproxy',
 );
 
 my $daemon = __PACKAGE__->new('pveproxy', $cmdline, %daemon_options); 
 
-# run as www-data
-my $gid = getgrnam('www-data') || die "getgrnam failed - $!\n";
-POSIX::setgid($gid) || die "setgid $gid failed - $!\n";
-$EGID = "$gid $gid"; # this calls setgroups
-my $uid = getpwnam('www-data') || die "getpwnam failed - $!\n";
-POSIX::setuid($uid) || die "setuid $uid failed - $!\n";
-
-# just to be sure
-die "detected strange uid/gid\n" if !($UID == $uid && $EUID == $uid && $GID eq "$gid $gid" && $EGID eq "$gid $gid");
-
 sub add_dirs {
     my ($result_hash, $alias, $subdir) = @_;
 
index 7adb93262f88dcb714d665e19628bce7be02fb97..b99f8773e88e20241268e0c9907a66552de414e3 100755 (executable)
@@ -10,7 +10,6 @@ delete @ENV{qw(IFS CDPATH ENV BASH_ENV)};
 
 use strict;
 use warnings;
-use English;
 
 use PVE::SafeSyslog;
 use PVE::Daemon;
@@ -36,20 +35,13 @@ my %daemon_options = (
     restart_on_error => 5, 
     stop_wait_time => 15,
     leave_children_open_on_reload => 1,
+    setuid => 'www-data',
+    setgid => 'www-data',
     run_dir => '/var/run/pveproxy',
 );
 
 my $daemon = __PACKAGE__->new('spiceproxy', $cmdline, %daemon_options); 
 
-my $gid = getgrnam('www-data') || die "getgrnam failed - $!\n";
-POSIX::setgid($gid) || die "setgid $gid failed - $!\n";
-$EGID = "$gid $gid"; # this calls setgroups
-my $uid = getpwnam('www-data') || die "getpwnam failed - $!\n";
-POSIX::setuid($uid) || die "setuid $uid failed - $!\n";
-
-# just to be sure
-die "detected strange uid/gid\n" if !($UID == $uid && $EUID == $uid && $GID eq "$gid $gid" && $EGID eq "$gid $gid");
-
 sub init {
     my ($self) = @_;