无法在 Linux 上以 root 身份执行启动服务 python 脚本

无法在 Linux 上以 root 身份执行启动服务 python 脚本

操作系统:Ubuntu 20.04.6 LTS

我创建了一个执行 python 脚本的服务检查器.py问题是这个服务不能以 root 权限执行 python 脚本,尽管锡尔杰用户具有root权限,而且可以执行sirjay $ sudo python checker.py工作。

我是怎么弄明白的?此 Python 脚本在通过服务执行时不会重新启动并重启系统(而是直接sirjay $ sudo python checker.py重新启动并重启):

import os
os.system("sudo systemctl restart other-task")
os.system("sudo reboot")

服务:

[Unit]
Description=checker.py service
After=network.target

[Service]
User=sirjay
# User=root. <-- does not work also
# Group=www-data
WorkingDirectory=/home/dir

Environment=PYTHONUNBUFFERED=1
Environment="PATH=/home/sirjay/miniconda3/envs/myenv/bin"
ExecStart=/home/dir checker.py
StandardOutput=file:/home/dir/service_checker_output.log
StandardError=file:/home/dir/service_checker_error.log

[Install]
WantedBy=multi-user.target

我在 service_checker_error.log 中没有看到任何错误。有什么想法吗?

答案1

回答:os.system("/usr/bin/sudo /sbin/reboot")

相关内容