From 02e7eaf2860f6f892eb32639940e97c76b65baad Mon Sep 17 00:00:00 2001
From: Marius Cramer <m.cramer@pixcept.de>
Date: Mon, 15 Jun 2015 13:24:18 -0400
Subject: [PATCH] - backported patches
---
server/plugins-available/shelluser_base_plugin.inc.php | 19 +++++++++++++++++++
1 files changed, 19 insertions(+), 0 deletions(-)
diff --git a/server/plugins-available/shelluser_base_plugin.inc.php b/server/plugins-available/shelluser_base_plugin.inc.php
index d66428b..8a51b10 100755
--- a/server/plugins-available/shelluser_base_plugin.inc.php
+++ b/server/plugins-available/shelluser_base_plugin.inc.php
@@ -149,6 +149,12 @@
$app->system->chown(escapeshellcmd($homedir).'/.bash_history', $data['new']['username']);
$app->system->chgrp(escapeshellcmd($homedir).'/.bash_history', $data['new']['pgroup']);
+ //* Create .profile file
+ $app->system->touch(escapeshellcmd($homedir).'/.profile');
+ $app->system->chmod(escapeshellcmd($homedir).'/.profile', 0644);
+ $app->system->chown(escapeshellcmd($homedir).'/.profile', $data['new']['username']);
+ $app->system->chgrp(escapeshellcmd($homedir).'/.profile', $data['new']['pgroup']);
+
//* Disable shell user temporarily if we use jailkit
if($data['new']['chroot'] == 'jailkit') {
$command = 'usermod -s /bin/false -L '.escapeshellcmd($data['new']['username']).' 2>/dev/null';
@@ -214,6 +220,9 @@
// Check if the user that we want to update exists, if not, we insert it
if($app->system->is_user($data['old']['username'])) {
+ //* Remove webfolder protection
+ $app->system->web_folder_protection($web['document_root'], false);
+
/*
$command = 'usermod';
$command .= ' --home '.escapeshellcmd($data['new']['dir']);
@@ -270,7 +279,17 @@
$app->system->chown(escapeshellcmd($homedir).'/.bash_history', escapeshellcmd($data['new']['username']));
$app->system->chgrp(escapeshellcmd($homedir).'/.bash_history', escapeshellcmd($data['new']['pgroup']));
}
+
+ //* Create .profile file
+ if(!is_file($data['new']['dir']).'/.profile') {
+ $app->system->touch(escapeshellcmd($homedir).'/.profile');
+ $app->system->chmod(escapeshellcmd($homedir).'/.profile', 0644);
+ $app->system->chown(escapeshellcmd($homedir).'/.profile', escapeshellcmd($data['new']['username']));
+ $app->system->chgrp(escapeshellcmd($homedir).'/.profile', escapeshellcmd($data['new']['pgroup']));
+ }
+ //* Add webfolder protection again
+ $app->system->web_folder_protection($web['document_root'], true);
} else {
// The user does not exist, so we insert it now
$this->insert($event_name, $data);
--
Gitblit v1.9.1