gpt4 book ai didi

linux - 运行系统命令的html

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:05:55 24 4
gpt4 key购买 nike

我正在尝试运行此命令以在我的树莓派中创建一个文件夹,但它不起作用。我不擅长 PHP 或 HTML。我用谷歌搜索,我无法解决,所以把它贴在这里。如果重复并且解决方案存在。请给我提供链接。TIA代码:

    <html>
<head>
<?php
if (isset($_POST['TestA']))
{
exec('sudo mkdir /www/test');
}
if (isset($_POST['TestB']))
{
shell_exec('sudo mkdir /www/test1');
}

?>

<title></title>
</head>
<body>
<form method="post">
<table
style="width: 75%; text-align: left; margin-left: auto; margin-right: auto;"
border="0" cellpadding="2" cellspacing="2">
<tbody>
<tr>
<td style="text-align: center;">Test case 1</td>
<td style="text-align: center;">Test case 2</td>
</tr>
<tr>
<td style="text-align: center;"><button name="TestA">test 2</button></td>
<td style="text-align: center;"><button name="TestB">test 2</button></td>
</tr>

</tbody>
</table>
</form>
</body>
</html>

最佳答案

您是否注意到您正在尝试使用 sudo 运行命令,这意味着用户 www-data 必须包含在/etc/sudoers 文件中。

我已经尝试过您的代码,如果我删除“sudo”并在/www 目录中授予权限,它就会工作。

我认为您需要在 sudoers 文件中配置用户。

我的 sudoers 文件示例:

#WWW-DATA
User_Alias WEBUSER = www-data
Cmnd_Alias CMDCOMMAND = /usr/sbin/asterisk, /sbin/iptables
WEBUSER ALL = NOPASSWD:CMDCOMMAND

#Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL

您需要将 CMDCOMMAND 替换为您的网络服务器将以根用户身份运行的命令。在这种情况下 mkdir

请记住,您需要转到 /etc/ 目录并使用 visudo -f sudoers 正确编辑 sudoers 文件。

sudoers Here

P.S:如果你想测试你的网络服务器是否可以运行命令,你可以:

 su - www-data

在它之后是一个sh 控制台。

您可以在添加代码之前运行您的命令。

关于linux - 运行系统命令的html,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41284134/

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