PHP-关注通过网站运行bash脚本
我正在开发一个游戏面板,我用PHP和BASH构建它。因此,当按下按钮时,web面板通过运行bash脚本来控制游戏服务器。到现在为止,一直都还不错。我的问题出现在我需要运行bash脚本时,因为运行它们的用户需要sudo权限,否则脚本将出现意外行为:PHP-关注通过网站运行bash脚本,php,linux,Php,Linux,我正在开发一个游戏面板,我用PHP和BASH构建它。因此,当按下按钮时,web面板通过运行bash脚本来控制游戏服务器。到现在为止,一直都还不错。我的问题出现在我需要运行bash脚本时,因为运行它们的用户需要sudo权限,否则脚本将出现意外行为: 我应该创建一个新用户并赋予它sudo权限,然后通过SSH(通过PHP)登录到服务器吗?如果是这样的话,我怎样才能安全地存储登录凭据,这样如果黑客破坏了我的网站,他就找不到了 我应该为特定脚本授予www data sudo权限吗?这是一种危险的做法吗 有
我是一名PHP新手,我的第一个项目是运行在Ubuntu服务器上的游戏面板。请发发慈悲。:) 您试图在这里执行的操作非常危险,如果您可以在网页中执行bash脚本,您将被黑客攻击,黑客将拥有对您机器的完全访问权限
您需要做什么取决于您的项目是什么,但基本上您希望设置某种形式的服务器来运行bash命令,并让您的网页调用该服务器。这不是直截了当的。您在这里试图做的事情是非常危险的,如果您可以在网页中执行bash脚本,您将被黑客攻击,黑客将拥有对您机器的完全访问权限
您需要做什么取决于您的项目是什么,但基本上您希望设置某种形式的服务器来运行bash命令,并让您的网页调用该服务器。这不是直截了当的。我不会直接从PHP运行任何bash脚本,而是使用消息队列将两者解耦 让PHP脚本向exchange发送消息,并将操作标记为“正在进行”。然后,让bash脚本作为接收消息的队列的使用者运行,对其进行处理并运行必要的脚本。最后,将消息传递到另一个由PHP使用的队列,并根据结果将操作状态更新为“完成”或“失败”。这不是一个同步过程,但它是处理它的更安全的方法 建议如下: