gpt4 book ai didi

python - 从 python 调用休眠命令

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:53:36 26 4
gpt4 key购买 nike

我有一个 python 脚本,它会调用一个系统调用来休眠系统 (Ubuntu-Server)。我试试

 #!/usr/bin/env python

import os
os.system('pm-hibernate')

如果我在没有 sudo 权限的情况下运行它,我会得到正确的错误:

This utility may only be run by the root user.

但是当使用 sudo 权限调用这个脚本时什么也没有发生。如何从 python 调用休眠命令?

最佳答案

使用 sudo 运行它:

#!/usr/bin/env python
from subprocess import check_call

check_call(['sudo', '/usr/sbin/pm-hibernate'])

并将运行此脚本的用户配置为允许在没有密码的情况下运行 pm-hibernate 例如,创建 /etc/sudoer.d/pm-hibernate 文件并在其中写入 %admin ALL = NOPASSWD:/usr/sbin/pm-hibernate (sudo visudo -f/etc/sudoers.d/pm-hibernate).

确保 /etc/sudoers 导入 /etc/sudoers.d 目录(sudo visudo)和 /etc/sudoer .d/pm-hibernate 文件具有 0440 权限:

$ sudo chmod 0440 /etc/sudoer.d/pm-hibernate

另请参阅 sudo less/etc/sudoers.d/README

该命令允许 admin 组的所有成员无需密码即可运行 sudo pm-hibernate。运行 groups,查看您所属的组。

关于python - 从 python 调用休眠命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28746632/

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