gpt4 book ai didi

php - 以 root 用户身份运行 PHP shell_exec()

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:46:47 25 4
gpt4 key购买 nike

我构建了一个 PHP 应用程序,我在其中为 Linux debian Jessie 创建了命令行功能。一切正常,但我需要能够使用一些命令,例如 root 用户。

有没有办法使用 shell_exec() 或类似命令通过 PHP 像 root 用户一样访问?

这个命令行的想法是让有权访问该服务器的人可以从任何地方或设备通过互联网处理它。

这是控制台的图像:

enter image description here

最佳答案

通过 PHP 以 root 身份执行命令将使您自己容易受到各种恶意黑客的攻击。<​​/p>

查看“sudo”文档。

您应该能够将您需要的所有命令设置为“sudo”可用脚本。编写功能有限的特定脚本比暴露底层特权命令要好得多。

如:

exec ('sudo getCurrentUser.sh')

首先,您需要将 PHP 用于运行的用户(大多数情况下是 www-data)添加到 sudo 组(如果尚未分配的话)。

然后,在你的 php 文件中:

使用sudo -S,这样你就可以通过echo传递密码

$exec = "echo your_passwd | /usr/bin/sudo -S your command";
exec($exec,$out,$rcode);

如果路径有问题 - 使用

"bash -lc 'echo your_passwd | /usr/bin/sudo -S your command'"

所以你得到一个新的 bash,它就像一个登录 shell,并设置了路径

关于php - 以 root 用户身份运行 PHP shell_exec(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43095751/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com