From 44d2a76d4611e27d348e1c8ed89ff0675f2d262f Mon Sep 17 00:00:00 2001 From: tbrehm <t.brehm@ispconfig.org> Date: Wed, 27 May 2009 08:49:48 -0400 Subject: [PATCH] Added missing error messages to the dns wizard. Improved language file loading. --- server/plugins-available/shelluser_jailkit_plugin.inc.php | 19 +++++++++++++++---- 1 files changed, 15 insertions(+), 4 deletions(-) diff --git a/server/plugins-available/shelluser_jailkit_plugin.inc.php b/server/plugins-available/shelluser_jailkit_plugin.inc.php index be18a9a..13705c0 100755 --- a/server/plugins-available/shelluser_jailkit_plugin.inc.php +++ b/server/plugins-available/shelluser_jailkit_plugin.inc.php @@ -86,6 +86,10 @@ $this->jailkit_config = $app->getconf->get_server_config($conf["server_id"], 'jailkit'); $this->_setup_jailkit_chroot(); + + $command .= 'usermod -U '.escapeshellcmd($data['new']['username']); + exec($command); + $this->_add_jailkit_user(); } @@ -147,8 +151,12 @@ //commented out proved to be dangerous on config errors //exec('rm -rf '.$data['old']['dir'].$jailkit_chroot_userhome); - - $app->log("Jailkit Plugin -> delete chroot home:".$data['old']['dir'].$jailkit_chroot_userhome,LOGLEVEL_DEBUG); + if(@is_dir($data['old']['dir'].$jailkit_chroot_userhome)) { + $command = 'userdel -f -r'; + $command .= ' '.escapeshellcmd($data['old']['username']); + exec($command); + $app->log("Jailkit Plugin -> delete chroot home:".$data['old']['dir'].$jailkit_chroot_userhome,LOGLEVEL_DEBUG); + } } $app->log("Jailkit Plugin -> delete username:".$data['old']['username'],LOGLEVEL_DEBUG); @@ -184,7 +192,7 @@ $tpl->setVar('home_dir',$this->_get_home_dir("")); $bashrc = escapeshellcmd($this->data['new']['dir']).'/etc/bash.bashrc'; - exec('rm '.$bashrc); + if(@is_file($bashrc)) exec('rm '.$bashrc); file_put_contents($bashrc,$tpl->grab()); unset($tpl); @@ -197,7 +205,7 @@ $tpl->setVar('domain',$web['domain']); $motd = escapeshellcmd($this->data['new']['dir']).'/var/run/motd'; - exec('rm '.$motd); + if(@is_file($motd)) exec('rm '.$motd); file_put_contents($motd,$tpl->grab()); @@ -226,6 +234,9 @@ $jailkit_chroot_userhome = $this->_get_home_dir($this->data['new']['username']); $jailkit_chroot_puserhome = $this->_get_home_dir($this->data['new']['puser']); + if(!is_dir($this->data['new']['dir'].'/etc')) mkdir($this->data['new']['dir'].'/etc'); + if(!is_file($this->data['new']['dir'].'/etc/passwd')) exec('touch '.$this->data['new']['dir'].'/etc/passwd'); + // IMPORTANT! // ALWAYS create the user. Even if the user was created before // if we check if the user exists, then a update (no shell -> jailkit) will not work -- Gitblit v1.9.1