Executing bash with PHP


Executing bash with PHP

我想用脚本执行bash命令。如果我响应命令,我会得到正确的响应。但如果我从浏览器执行它,它就不起作用。如果我回显命令ls,它将被执行并显示。我已授予所有权限。如果我在终端中编写命令,它就会工作。

<?php
        $banlista = $_POST['banlista'];
        $ip = $_POST['ip'];
        $command = "fail2ban-client set $banlista banip $ip";
        $sporocilo = shell_exec("$command");
?>

最好在php代码中运行该命令。你可以得到回应并验证它是否工作。

如果你有这样的代码

<?php
        $banlista = $_POST['banlista'];
        $ip = $_POST['ip'];
        $command = "fail2ban-client set $banlista banip $ip";
        $sporocilo = shell_exec("$command");
?>

你可以尝试添加这个:

<?php
    exec("sudo user /usr/bin/fail2ban-client set $banlista banip $ip", $output, $return);
    echo "Failtoban client returned $return, and output:'n";
    var_dump($output);
?>

您可能缺少一个sudo和一个有权运行命令。