【发布时间】:2014-01-20 04:53:56
【问题描述】:
我有一个命令行 PHP 脚本,需要在 Linux 系统上以根级权限运行。
在我们旧的 Redhat Enterprise 2 Linux 发行版上,此代码有效:
// If we are linux, make sure we're root
if ($bIsLinux && $_ENV['USER'] != 'root')
die("This script must be run as root.\n");
但是,我们已经升级了服务器,现在使用的是现代版本的 linux (Amazon Linux)。这很好,但以上不再有效。在 AML 上,您实际上没有 root 密码,但您可以从 ec2-user 执行 sudo。我什至尝试过sudo -i,但这并没有改变环境变量——因此上面的代码失败了。
所以在继续之前我需要一种新的方法来确保 root 级别的权限。
有人有什么想法吗?
谢谢!
【问题讨论】:
-
你看过这个问题吗? Check if a user is root