Запуск скрипта Python при запуске от имени root

#python #raspberry-pi #root #boot

#python #raspberry-pi #root #загрузка

Вопрос:

Я написал программу на python, которую хочу выполнить при загрузке, но она ДОЛЖНА выполняться от имени root, и я не знаю как. Что мне нужно сделать для достижения этой цели? Куда я должен поместить файл (скрипт находится в папке с необходимыми пакетами python), чтобы он запускался при загрузке? Как мне запустить файл от имени root? Независимо от того, нужно ли поместить папку python в определенный каталог, использовать другой скрипт для выполнения скрипта python или другим способом, пожалуйста, поделитесь своими решениями! Я делаю это на Raspberry Pi, поэтому ОС — Linux.

Комментарии:

1. Проверьте это: raspberrypi.org/forums/viewtopic.php?t=134401

Ответ №1:

Самый простой способ — создать службу 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 where servicename может быть что угодно, а затем настроить его для запуска при запуске с sudo systemctl enable servicename.service помощью .

Комментарии:

1. Спасибо за ответ Aplet123. Хотя он запускается при запуске, я думаю, что он все еще не запускается как root. Как этого добиться?

2. Что заставляет вас так думать? Systemd должен запускать его от имени root.