From dc679e382b6f60405861ae888c1b560c5117f0e8 Mon Sep 17 00:00:00 2001 From: Marius Cramer <m.cramer@pixcept.de> Date: Fri, 26 Jun 2015 12:00:42 -0400 Subject: [PATCH] - added fuser calls to unmount directoriies more securely --- server/plugins-available/apache2_plugin.inc.php | 4 ++++ server/plugins-available/nginx_plugin.inc.php | 4 ++++ 2 files changed, 8 insertions(+), 0 deletions(-) diff --git a/server/plugins-available/apache2_plugin.inc.php b/server/plugins-available/apache2_plugin.inc.php index 6eabdd8..2b2dba6 100644 --- a/server/plugins-available/apache2_plugin.inc.php +++ b/server/plugins-available/apache2_plugin.inc.php @@ -594,6 +594,7 @@ } //* Unmount the old log directory bfore we move the log dir + exec('fuser -km '.escapeshellcmd($old_dir.'/log')); exec('umount '.escapeshellcmd($old_dir.'/log')); //* Create new base directory, if it does not exist yet @@ -676,6 +677,7 @@ $app->system->removeLine('/etc/fstab', $fstab_line); //* Unmount log directory + exec('fuser -km '.escapeshellarg($data['old']['document_root'].'/'.$old_log_folder)); exec('umount '.escapeshellarg($data['old']['document_root'].'/'.$old_log_folder)); } @@ -1900,10 +1902,12 @@ if(is_array($log_folders) && !empty($log_folders)){ foreach($log_folders as $log_folder){ //if($app->system->is_mounted($data['old']['document_root'].'/'.$log_folder)) exec('umount '.escapeshellarg($data['old']['document_root'].'/'.$log_folder)); + exec('fuser -km '.escapeshellarg($data['old']['document_root'].'/'.$log_folder).' 2>/dev/null'); exec('umount '.escapeshellarg($data['old']['document_root'].'/'.$log_folder).' 2>/dev/null'); } } else { //if($app->system->is_mounted($data['old']['document_root'].'/'.$log_folder)) exec('umount '.escapeshellarg($data['old']['document_root'].'/'.$log_folder)); + exec('fuser -km '.escapeshellarg($data['old']['document_root'].'/'.$log_folder).' 2>/dev/null'); exec('umount '.escapeshellarg($data['old']['document_root'].'/'.$log_folder).' 2>/dev/null'); } } diff --git a/server/plugins-available/nginx_plugin.inc.php b/server/plugins-available/nginx_plugin.inc.php index d3eb706..afde548 100644 --- a/server/plugins-available/nginx_plugin.inc.php +++ b/server/plugins-available/nginx_plugin.inc.php @@ -475,6 +475,7 @@ } //* Unmount the old log directory bfore we move the log dir + exec('fuser -km '.escapeshellcmd($old_dir.'/log')); exec('umount '.escapeshellcmd($old_dir.'/log')); //* Create new base directory, if it does not exist yet @@ -557,6 +558,7 @@ $app->system->removeLine('/etc/fstab', $fstab_line); //* Unmount log directory + exec('fuser -km '.escapeshellarg($data['old']['document_root'].'/'.$old_log_folder)); exec('umount '.escapeshellarg($data['old']['document_root'].'/'.$old_log_folder)); } @@ -1880,10 +1882,12 @@ if(is_array($log_folders) && !empty($log_folders)){ foreach($log_folders as $log_folder){ //if($app->system->is_mounted($data['old']['document_root'].'/'.$log_folder)) exec('umount '.escapeshellarg($data['old']['document_root'].'/'.$log_folder)); + exec('fuser -km '.escapeshellarg($data['old']['document_root'].'/'.$log_folder).' 2>/dev/null'); exec('umount '.escapeshellarg($data['old']['document_root'].'/'.$log_folder).' 2>/dev/null'); } } else { //if($app->system->is_mounted($data['old']['document_root'].'/'.$log_folder)) exec('umount '.escapeshellarg($data['old']['document_root'].'/'.$log_folder)); + exec('fuser -km '.escapeshellarg($data['old']['document_root'].'/'.$log_folder).' 2>/dev/null'); exec('umount '.escapeshellarg($data['old']['document_root'].'/'.$log_folder).' 2>/dev/null'); } } -- Gitblit v1.9.1