From 4ccdf7b9c1783e2b80000af92ba73c1bcf7cac01 Mon Sep 17 00:00:00 2001
From: ftimme <ft@falkotimme.com>
Date: Tue, 12 Feb 2013 09:01:43 -0500
Subject: [PATCH] - Fixed FS#2666 - Deletion of SSH users generates warning in cron log. - Fixed "usermod: user web25 is currently used by process 8106" error when a site is moved between clients.
---
server/plugins-available/shelluser_base_plugin.inc.php | 3 +--
server/plugins-available/shelluser_jailkit_plugin.inc.php | 2 +-
server/plugins-available/apache2_plugin.inc.php | 8 ++++----
server/plugins-available/nginx_plugin.inc.php | 8 ++++----
4 files changed, 10 insertions(+), 11 deletions(-)
diff --git a/server/plugins-available/apache2_plugin.inc.php b/server/plugins-available/apache2_plugin.inc.php
index 4e21c06..b982189 100644
--- a/server/plugins-available/apache2_plugin.inc.php
+++ b/server/plugins-available/apache2_plugin.inc.php
@@ -462,7 +462,7 @@
exec('chown --recursive --from='.escapeshellcmd($data['old']['system_user']).':'.escapeshellcmd($data['old']['system_group']).' '.escapeshellcmd($data['new']['system_user']).':'.escapeshellcmd($data['new']['system_group']).' '.$new_dir);
//* Change the home directory and group of the website user
- $command = 'usermod';
+ $command = 'killall -u '.escapeshellcmd($data['new']['system_user']).' && usermod';
$command .= ' --home '.escapeshellcmd($data['new']['document_root']);
$command .= ' --gid '.escapeshellcmd($data['new']['system_group']);
$command .= ' '.escapeshellcmd($data['new']['system_user']);
@@ -699,7 +699,7 @@
}
if($web_config['add_web_users_to_sshusers_group'] == 'y') {
- $command = 'usermod';
+ $command = 'killall -u '.escapeshellcmd($data['new']['system_user']).' && usermod';
$command .= ' --groups sshusers';
$command .= ' '.escapeshellcmd($data['new']['system_user']);
$this->_exec($command);
@@ -1748,8 +1748,8 @@
if($data['old']['type'] == 'vhost') {
//delete the web user
- $command = 'userdel';
- $command .= ' '.$data['old']['system_user'];
+ $command = 'killall -u '.escapeshellcmd($data['old']['system_user']).' && userdel';
+ $command .= ' '.escapeshellcmd($data['old']['system_user']);
exec($command);
if($apache_chrooted) $this->_exec('chroot '.escapeshellcmd($web_config['website_basedir']).' '.$command);
diff --git a/server/plugins-available/nginx_plugin.inc.php b/server/plugins-available/nginx_plugin.inc.php
index fdc3d43..97359a1 100644
--- a/server/plugins-available/nginx_plugin.inc.php
+++ b/server/plugins-available/nginx_plugin.inc.php
@@ -466,7 +466,7 @@
exec('chown --recursive --from='.escapeshellcmd($data['old']['system_user']).':'.escapeshellcmd($data['old']['system_group']).' '.escapeshellcmd($data['new']['system_user']).':'.escapeshellcmd($data['new']['system_group']).' '.$new_dir);
//* Change the home directory and group of the website user
- $command = 'usermod';
+ $command = 'killall -u '.escapeshellcmd($data['new']['system_user']).' && usermod';
$command .= ' --home '.escapeshellcmd($data['new']['document_root']);
$command .= ' --gid '.escapeshellcmd($data['new']['system_group']);
$command .= ' '.escapeshellcmd($data['new']['system_user']);
@@ -703,7 +703,7 @@
}
if($web_config['add_web_users_to_sshusers_group'] == 'y') {
- $command = 'usermod';
+ $command = 'killall -u '.escapeshellcmd($data['new']['system_user']).' && usermod';
$command .= ' --groups sshusers';
$command .= ' '.escapeshellcmd($data['new']['system_user']);
$this->_exec($command);
@@ -1817,8 +1817,8 @@
if($data['old']['type'] == 'vhost') {
//delete the web user
- $command = 'userdel';
- $command .= ' '.$data['old']['system_user'];
+ $command = 'killall -u '.escapeshellcmd($data['old']['system_user']).' && userdel';
+ $command .= ' '.escapeshellcmd($data['old']['system_user']);
exec($command);
if($nginx_chrooted) $this->_exec('chroot '.escapeshellcmd($web_config['website_basedir']).' '.$command);
diff --git a/server/plugins-available/shelluser_base_plugin.inc.php b/server/plugins-available/shelluser_base_plugin.inc.php
index 48e2cde..6b4e18f 100755
--- a/server/plugins-available/shelluser_base_plugin.inc.php
+++ b/server/plugins-available/shelluser_base_plugin.inc.php
@@ -204,8 +204,7 @@
// We delete only non jailkit users, jailkit users will be deleted by the jailkit plugin.
if ($data['old']['chroot'] != "jailkit") {
$command = 'userdel -f';
- $command .= ' '.escapeshellcmd($data['old']['username']);
-
+ $command .= ' '.escapeshellcmd($data['old']['username']).' &> /dev/null';
exec($command);
$app->log("Deleted shelluser: ".$data['old']['username'],LOGLEVEL_DEBUG);
}
diff --git a/server/plugins-available/shelluser_jailkit_plugin.inc.php b/server/plugins-available/shelluser_jailkit_plugin.inc.php
index c465b71..b0a457d 100755
--- a/server/plugins-available/shelluser_jailkit_plugin.inc.php
+++ b/server/plugins-available/shelluser_jailkit_plugin.inc.php
@@ -188,7 +188,7 @@
if(@is_dir($data['old']['dir'].$jailkit_chroot_userhome)) {
$command = 'userdel -f';
- $command .= ' '.escapeshellcmd($data['old']['username']);
+ $command .= ' '.escapeshellcmd($data['old']['username']).' &> /dev/null';
exec($command);
$app->log("Jailkit Plugin -> delete chroot home:".$data['old']['dir'].$jailkit_chroot_userhome,LOGLEVEL_DEBUG);
}
--
Gitblit v1.9.1