Merge pull request #15353 from owncloud/run-cron-with-the-correct-user-master

Cron has to be executed with the correct user
This commit is contained in:
Morris Jobke 2015-04-01 15:32:14 +02:00
commit 8001f2abcd
1 changed files with 16 additions and 0 deletions

View File

@ -73,6 +73,22 @@ try {
// set to run indefinitely if needed
set_time_limit(0);
// the cron job must be executed with the right user
if (!OC_Util::runningOnWindows()) {
if (!function_exists('posix_getuid')) {
echo "The posix extensions are required - see http://php.net/manual/en/book.posix.php" . PHP_EOL;
exit(0);
}
$user = posix_getpwuid(posix_getuid());
$configUser = posix_getpwuid(fileowner(OC::$SERVERROOT . '/config/config.php'));
if ($user['name'] !== $configUser['name']) {
echo "Console has to be executed with the same user as the web server is operated" . PHP_EOL;
echo "Current user: " . $user['name'] . PHP_EOL;
echo "Web server user: " . $configUser['name'] . PHP_EOL;
exit(0);
}
}
$config = OC::$server->getConfig();
$instanceId = $config->getSystemValue('instanceid');
$lockFileName = 'owncloud-server-' . $instanceId . '-cron.lock';