Cron has to be executed with the correct user - fixes 13912 and others
This commit is contained in:
parent
0edeefd031
commit
5ebd3a9e89
16
cron.php
16
cron.php
|
@ -73,6 +73,22 @@ try {
|
||||||
// set to run indefinitely if needed
|
// set to run indefinitely if needed
|
||||||
set_time_limit(0);
|
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();
|
$config = OC::$server->getConfig();
|
||||||
$instanceId = $config->getSystemValue('instanceid');
|
$instanceId = $config->getSystemValue('instanceid');
|
||||||
$lockFileName = 'owncloud-server-' . $instanceId . '-cron.lock';
|
$lockFileName = 'owncloud-server-' . $instanceId . '-cron.lock';
|
||||||
|
|
Loading…
Reference in New Issue