以root权限在启动时运行Python脚本

4

我编写了一个Python程序,希望能够在启动时执行,但必须以root身份执行,我不知道怎么做。 要实现这个目标,我需要采取哪些措施? 我应该将文件放在哪里(脚本位于具有必要的Python包的文件夹中),以便它在启动时运行? 如何以root身份运行文件? 请分享您的解决方案,无论是将Python文件夹放置在特定目录中、使用另一个脚本来执行Python脚本,还是其他方式! 我正在树莓派上进行操作,因此操作系统为Linux。


请查看此链接:https://www.raspberrypi.org/forums/viewtopic.php?t=134401 - marsnebulasoup
1个回答

9
最简单的方法是创建一个systemd服务,看起来可能像这样:

创建一个systemd服务 的最简单的方法是:

[Unit]
Description=Some python script
After=network.target

[Service]
ExecStart=/usr/bin/python3 script.py
WorkingDirectory=/path/to/scriptdir
StandardOutput=inherit
StandardError=inherit
Restart=always
User=root

[Install]
WantedBy=multi-user.target

你应该将此保存在/etc/systemd/system/servicename.service文件中,其中servicename可以是任何名称,然后使用sudo systemctl enable servicename.service命令设置其在启动时运行。

感谢Aplet123的回答。虽然它在启动时运行,但我认为它仍然没有以root身份运行。如何实现这一点? - Wilmer Kluever
你为什么这样想?Systemd应该以root身份运行它。 - Aplet123

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接