gpt4 book ai didi

python - 使用 root 权限部署 Flask 应用程序

转载 作者:行者123 更新时间:2023-11-28 17:21:42 28 4
gpt4 key购买 nike

我在 Raspberry Pi 上托管了一个 Flask 网络应用程序,它可以控制我的 LED 灯带。当我以 root 用户身份使用 python 运行服务器时,一切都很好,但是我在使用 Apache mod_wsgi 部署它时遇到了困难。我想使用 https,所以部署它似乎是必要的,但 Apache 似乎不允许以 root 权限运行服务器。需要 Root 才能通过在 Flask 服务器中导入的库来控制灯光。

有什么办法可以用root权限部署flask服务器吗?如果没有,是否可以在不部署的情况下使用 https(来自 letsencrypt.org)?还有其他方法可以解决这个问题吗?

最佳答案

出于安全原因,我不会以 root 身份运行 Web 服务器。

相反,我建议:

  1. 将网络用户添加到/etc/sudoers - 没有密码。理想情况下,只允许您想要以 root 身份运行的命令。
  2. 使用 sudo [command] 运行命令

你提到部署,如果你把它打包成 rpm,我会把 sudo 定义放在 /etc/sudoers.d/youpackage

另一种选择是拆分您的应用程序并使用某种消息传递系统 - 通过在数据库表中包含行或使用消息传递服务器,例如 rabbit mq(还有其他服务器,但我发现它很容易设置)。以 root 身份运行的单独进程将实际打开/关闭灯。您的前端将简单地发送一条消息,如“熄灯”,而另一个进程 - 可以作为 root 运行 - 会在需要时收到一条消息。这种方法的优点是 Web 进程永远不会有任何 root 特权,即使它有漏洞,损害也是有限的。

关于python - 使用 root 权限部署 Flask 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41215036/

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