From 8db8f3ae53eedaee838e6eb8da17a40340122807 Mon Sep 17 00:00:00 2001
From: tbrehm <t.brehm@ispconfig.org>
Date: Mon, 24 Aug 2009 10:52:53 -0400
Subject: [PATCH] Fix for jailkit permissions in high security website mode.
---
server/plugins-available/shelluser_jailkit_plugin.inc.php | 23 +++++++++++++++++++++++
1 files changed, 23 insertions(+), 0 deletions(-)
diff --git a/server/plugins-available/shelluser_jailkit_plugin.inc.php b/server/plugins-available/shelluser_jailkit_plugin.inc.php
index 13705c0..3300b52 100755
--- a/server/plugins-available/shelluser_jailkit_plugin.inc.php
+++ b/server/plugins-available/shelluser_jailkit_plugin.inc.php
@@ -84,6 +84,8 @@
$this->data = $data;
$this->app = $app;
$this->jailkit_config = $app->getconf->get_server_config($conf["server_id"], 'jailkit');
+
+ $this->_update_website_security_level();
$this->_setup_jailkit_chroot();
@@ -119,6 +121,8 @@
$this->data = $data;
$this->app = $app;
$this->jailkit_config = $app->getconf->get_server_config($conf["server_id"], 'jailkit');
+
+ $this->_update_website_security_level();
$this->_setup_jailkit_chroot();
$this->_add_jailkit_user();
@@ -263,6 +267,25 @@
$this->app->log("Added created jailkit parent user home in : ".$this->data['new']['dir'].$jailkit_chroot_puserhome,LOGLEVEL_DEBUG);
}
+ //* Update the website root directory permissions depending on the security level
+ function _update_website_security_level() {
+ global $app,$conf;
+
+ // load the server configuration options
+ $app->uses("getconf");
+ $web_config = $app->getconf->get_server_config($conf["server_id"], 'web');
+
+ // Get the parent website of this shell user
+ $web = $app->db->queryOneRecord("SELECT * FROM web_domain WHERE domain_id = ".$this->data['new']['parent_domain_id']);
+
+ //* If the security level is set to high
+ if($web_config['security_level'] == 20) {
+ exec("chmod 755 ".escapeshellcmd($web["document_root"]."/"));
+ exec("chown root:root ".escapeshellcmd($web["document_root"]."/"));
+ }
+
+ }
+
} // end class
--
Gitblit v1.9.1