Crontab重新启动权限

2024-04-26 12:08:09 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个python脚本,在脚本末尾重新启动设备。我通过在sudoers文件中授予/sbin/shutdown的用户权限,使它在我的用户帐户上运行良好。但问题是,当我尝试使用用户的crontab将其自动化时,会出现以下错误:

sudo: no tty present and no askpass program specified

有什么办法解决这个问题吗?我以为用户的crontab将拥有与用户相同的权限,但似乎不是这样。你知道吗

我不能使用root crontab,因为python脚本的一部分使用Selenium和geckodriver,并且geckodriver不能作为root运行。你知道吗

下面是python脚本的重新启动部分:

def restart():
    command = "/usr/bin/sudo /sbin/shutdown -r now"
    import subprocess
    process = subprocess.Popen(command.split(), stdout=subprocess.PIPE)
    output = process.communicate()[0]
    print output

我用的是ubuntu18.10


Tags: no用户脚本权限outputsudorootprocess
1条回答
网友
1楼 · 发布于 2024-04-26 12:08:09

我设法解决了这个问题。如果有人遇到类似的问题,请尝试编辑sudoers文件,使您的user ALL=NOPASSWD: /sbin/shutdown是文件中的最后一行,这样它的优先级高于冲突行。你知道吗

相关问题 更多 >