【问题标题】:How to run Bash script with PHP and a Password如何使用 PHP 和密码运行 Bash 脚本
【发布时间】:2021-09-15 06:47:18
【问题描述】:

如何使用密码保护 bash 脚本 (Ubuntu) 并使用 PHP 调用它?

如果我只是使用ALL=(ALL) NOPASSWD:/var/www/my_bash_script.sh,这将允许 PHP 随时随地调用脚本而无需密码,这不是我想要的。

【问题讨论】:

  • 将密码逻辑作为参数放入 bash 脚本本身,并像 /var/www/my_bash_script.sh <password> 一样调用它。
  • 通常使用 bash 调用 bash 脚本,使用 PHP 调用 PHP 脚本。您的意思当然是从 PHP 脚本中调用 bash 脚本,对吗?如果是这样,请添加一个简短的示例,您是如何做到的。还请提供更多详细信息如何执行 PHP 脚本(例如,在哪个 SAPI 中:Apache?Nginx?PHP-FPM?CLI?,...)。以及您对sudo(1) 的担忧程度,我无法解释有关它的简短通知,您写道您不想要那个并且不清楚它的上下文是什么。

标签: php bash


【解决方案1】:

PHP 有一个 number of options 来执行此操作。

由于提供的信息非常少,此示例只是使用shell_exec 选项的猜测。

<?php
header('content-type: text/plain');
echo shell_exec('/var/www/my_bash_script.sh yourPassWord');

my_bash_script.sh文件的文件权限很重要。

它们需要适合由网络服务器(实际上是执行 php 脚本和因此 bash 脚本的 php 进程)使用的相同 usergroup 执行。

【讨论】:

    猜你喜欢
    • 2011-07-20
    • 1970-01-01
    • 2017-12-09
    • 1970-01-01
    • 2018-07-05
    • 2017-11-04
    • 2023-03-07
    • 2011-07-27
    相关资源
    最近更新 更多