问题:

问题:

问题:

我如何以普通用户身份以 root 权限运行由 root 拥有的脚本?

让我们以一个文件夹为例/path/to/folder。首先我确保该文件夹和所有内容都归 root 所有:

sudo chown -R root:root /path/to/folder

然后我尝试了不同的方法向其他用户授予权限:

sudo chmod -R +x /path/to/folder
sudo chmod -R u+s /path/to/folder
sudo chmod -R 4755 /path/to/folder

但我想要运行的脚本仍然给我:

Can't open /dev/mem: Permission denied

详细的

我有一个 Flask 应用程序,它根据传入的请求改变 LED 灯带的颜色。

无论使用哪个库,访问 GPIO 始终需要 root 权限。

我想改变这一点有两个原因:

  • 我正在使用 venv 并运行该应用程序,这sudo会导致使用全局安装的 python 包而不是 venv 中的包。

  • 在完成状态下,应用程序应该在 apache 中运行。到目前为止,我还没有让 apache 使用 sudo 运行应用程序。


我想集中讨论主要问题,而不是 Flask 或 led-strip 库。

提前致谢!

编辑

我研究了建议的问题,我的用户在 gpio 组中,dev/gpiomem文件夹存在并具有完全相同的权限,但我仍然收到/dev/mem权限被拒绝错误。

现在我发现,我使用的包显然是/dev/mem专门使用的并且不支持/dev/gpiomem。(https://github.com/jgarff/rpi_ws281x

我现在正在寻找替代方案,并愿意接受建议:-)

相关内容