mirror of
https://github.com/nextcloud/server.git
synced 2025-03-03 11:46:01 +00:00

Signed-off-by: Frank Karlitschek <karlitschek@users.noreply.github.com> Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at> Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
33 lines
595 B
PHP
Executable file
33 lines
595 B
PHP
Executable file
#!/usr/bin/env php
|
|
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
/**
|
|
* SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors
|
|
* SPDX-License-Identifier: AGPL-3.0-or-later
|
|
*/
|
|
|
|
/**
|
|
* Drop privileges when run as root
|
|
*/
|
|
function dropPrivileges(): void {
|
|
if (posix_getuid() !== 0) {
|
|
return;
|
|
}
|
|
|
|
$configPath = __DIR__ . '/config/config.php';
|
|
$uid = fileowner($configPath);
|
|
if ($uid === false) {
|
|
return;
|
|
}
|
|
$info = posix_getpwuid($uid);
|
|
if ($info === false) {
|
|
return;
|
|
}
|
|
posix_setuid($uid);
|
|
posix_setgid($info['gid']);
|
|
}
|
|
|
|
dropPrivileges();
|
|
require_once __DIR__ . '/console.php';
|