我正在尝试从 PHP 运行具有 root 访问权限的脚本。我不能这样做,因为www-data
出于安全原因,Apache 的用户 没有 root 访问权限。为了解决这个问题,建议我使用命名管道。我首先尝试添加 sudo 权限www-data
,但被告知由于安全风险这肯定不好(另外,我尝试添加它但它不起作用)。
这就是我的问题所在。如果我理解正确的话,我将需要一个在系统启动时自动启动的脚本,并不断在后台等待尝试从命名管道读取数据。该脚本(又名管道读取器)必须以 root 身份运行才能获得 root 访问权限。然后,从 PHP 中,我只需通过管道将一些数据发送到管道读取器,然后将其传递到我尝试从 PHP 执行的主脚本。
这样,由于阅读器以 root 身份运行,因此主脚本将以 root 访问权限运行。我所说的“主脚本”是一个创建用户的bash脚本,它需要root才能工作。这是我尝试使用 root 访问权限从 PHP 运行的脚本。
这是解决我的问题的最佳方法吗?我理解正确吗?
更新:我正在运行 Ubuntu 12.04.1。