【问题标题】:execute Python3 file with Sudo using PHP使用 PHP 使用 Sudo 执行 Python3 文件
【发布时间】:2021-05-27 17:36:45
【问题描述】:

嘿伙计,我如何 sudo 使用 PHP 执行 python3 脚本?我试过了:

exec("sudo -E python3 /var/www/html/send.py " . $_POST['username'] . " " . $_POST['msg']);

应该执行这个:

sudo -E python3 /var/www/html/send.py TheUsername TheMessageIinputed

如果我在终端中执行此命令,它可以工作,但在这里它不起作用......

我也把它放到了 sudoers 脚本中:

www-data ALL=(ALL) NOPASSWD: ALL

但还是不行……

【问题讨论】:

  • & 当某人的用户名是; some nasty command script 时怎么办?使用正确的转义!
  • 为什么不让你的 python 脚本可以被 www-data 运行呢?安全得多,尽管您仍然需要按照 @Jaquarh 的建议转义用户输入。

标签: python php sudo


【解决方案1】:

我希望你知道自己在做什么,因为这绝对是疯了。我希望你的机器在一个本地网络中,你是唯一可以访问的人。

无论如何,如果你想看看发生了什么,你可以试试这个:


$user = $_POST['username'];
$msg  = $_POST['msg'];

$exec = "sudo -E python3 /var/www/html/send.py $user $msg 2>&1"
exec($exec, $output, $return);
var_dump($output);
var_dump($return);

【讨论】:

    猜你喜欢
    • 2012-01-24
    • 2012-01-02
    • 1970-01-01
    • 2015-06-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-10
    • 2013-02-19
    相关资源
    最近更新 更多