python - 如何在服务器上通过web启动特权进程?

标签 python linux web flask raspberry-pi

我在运行 Raspbian 的 Raspberry Pi 上使用 Python Flask 框架创建了一个 Web 应用程序。我想通过Web控制硬件并在Pi上触发一些sudo任务。

基于 Flask 的服务器以非 sudo 模式运行,监听端口 8080。当 Web 客户端通过 HTTP 发送请求时,我想启动一个具有 sudo 权限的子进程。 (例如,触发 GPIO 引脚上的更改、打开相机等)。实现这种行为的最佳实践是什么?

网络服务器可以向客户端询问 sudo 密码,该密码可用于提升权限。我想要一些关于如何实现这一目标的指导。

最佳答案

最佳实践是永远不要做这种事情。如果您授予 sudo 从互联网访问您的 pi 的权限,然后执行用户输入,那么您就为互联网上的每个人提供了在您的系统中执行任意命令的可能性。我知道这可能是您喜欢的项目,但仍然想象有人在您没有真正预料到的情况下访问您的计算机并转动相机。

关于python - 如何在服务器上通过web启动特权进程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23454521/

相关文章:

java - Intellij IDEA 工件,后处理不起作用

python - 我的 Python3 HTTP 头解析代码可以吗?

python - 无法正确发布请求

python - 如何让 QInputDialog 触发虚拟键盘显示?

linux - X509Certificate2 在 .NET Core 应用程序中的 widows 和 linux 不同

c++ - 在 Linux mint 中使用 g++ 导致对 'Class::Function' 的 undefined reference (collect2 : error)

python - 使用带有可选参数的 Django url 模板标记时出现 NoReverseMatch 错误,但在浏览器中访问 URL 时出现错误

python - 无法使用 python -m 调用工具执行

linux - 如何测试系统重启时间是否超过一年?

python - 在给定目录 : static files not found 上部署 Flask 应用程序