我需要在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');