gpt4 book ai didi

python - 使用 root 权限从 python 脚本调用 shell 脚本

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:10:49 34 4
gpt4 key购买 nike

我正在尝试使用 call 命令从 python 脚本 (python_script.py) 调用 shell 脚本 shell_script.shshell_script.sh 调用需要 root 权限才能执行的可执行文件。

python_script.py 使用 subprocess.call() 调用 shell_script.sh

见下文:subprocess.call(['/complete_path/shell_script.sh', 'param1', 'param2',
'param3'], shell=True)

当我尝试执行 python 脚本 python_script.py 时,它拒绝了我的许可。

我尝试了不同的方法。

a) 使用 sudo 调用 python - sudo python python_script.py

b) 在调用方法中调用 sudo - subprocess.call(['sudo' '/complete_path/shell_script.sh', 'param1', 'param2',
'param3'], shell=True
)

解决此问题的最佳方法是什么。

谢谢。

最佳答案

我会在 python_script.py 中加入逻辑来检查它的 UID,如果没有以 root 身份执行则失败。 如果 os.getuid() != 0:。这将确保它仅以 root 身份运行,通过 root 登录以 ether 或 sudo 身份运行。

如果您在尝试执行 python_script.py 时遇到权限被拒绝的情况,您需要在其上设置执行位。 chmod +x python_script.py

关于python - 使用 root 权限从 python 脚本调用 shell 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6253613/

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