PHP 安全性:允许一个 PHP 脚本在根用户拥有的位置创建文件


PHP Security: Allow one PHP script to create file in a root-owned location

我需要在root拥有的目录中创建一个非常简单的文件(一行长),但我的PHP服务器www-data运行。

我对系统有完全的控制权,虽然我想授予www-data以完全权限执行这个 ONE 文件,但我不想授予它以 root 身份运行任何其他内容的访问权限。

有没有一个地方可以授予 PHP 或 www-data 用户仅运行该文件的权限,以便它可以在root拥有的位置创建文件

文件名

会改变吗?
通过命令行创建文件并将其chown到 www-data 或 www-data 的组。只要脚本不删除文件。 它不能重写它并随心所欲地使用它。

我感觉您正在尝试通过执行一个文件来获取某些特定进程的root权限。无论如何,这是一个解决方案。

我最近发布了一个项目,允许PHP获取并与真正的Bash shell进行交互。在这里获取:https://github.com/merlinthemagic/MTS

下载后,您只需使用以下代码。

$shell    = 'MTS'Factories::getDevices()->getLocalHost()->getShell('bash', true);
$return1  = $shell->exeCmd('php /path/to/your/script');