通过网络脚本在设备上读/写

通过网络脚本在设备上读/写

使用 PHP 编写的 Web 脚本与设备进行通信。该设备需要 root 权限。如何以安全的最佳方式做到这一点?

Web 应用程序有两种模式,一种是用户模式,一种是管理员模式。在用户模式下,可以通过一个作为系统运行的后台脚本并检查队列来解决这个问题。然而,在管理模式下,人们可以拥有更多互动谈话与设备一起用于调试目的。在此模式下更直接连接会更好。

文件系统 ext3。

答案1

  1. 不要为此使用 PHP(或至少单独使用 PHP)。它可能是目前最有漏洞和最破损的网络脚本语言实现。

  2. 将问题分为三个部分:

    • 前端 - 创建网页的 PHP(Python、Ruby、Perl...)代码。

    • 后端 - shell、Perl 脚本、编译的二进制文件,用于访问设备。不要在 下运行它root。仅为此任务设置一个单独的帐户,并允许其在必要时访问它。如果chmod或 还setfacl不够,并且您使用的是 Linux,请使用通过或capabilities(7)设置的 Linux 功能(请参阅手册页)。setcapcapsh

    • 前端和后端之间使用的通信协议和手段。理想情况下,它应该尽可能受到限制,基本上允许前端查询后端。根据您的需要,它可以像通过 Unix 套接字或命名管道发送“从设备读取最多 1KB”和“将此 7812B 写入设备”类型的消息一样简单(请参阅 参考资料mkfifo)。

相关内容