我有一个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
我设法解决了这个问题。如果有人遇到类似的问题,请尝试编辑sudoers文件,使您的
user ALL=NOPASSWD: /sbin/shutdown
是文件中的最后一行,这样它的优先级高于冲突行。你知道吗相关问题 更多 >
编程相关推荐