我有一个问题。我正在尝试从 python 脚本在新终端窗口中运行 sudo 命令,但每次我都必须在新窗口中输入密码。 这是我的代码:
import subprocess
import sys
import os
def run_lirc():
subprocess.call(['x-terminal-emulator','-e','sudo lircd'])
run_lirc()
有什么解决方案可以让我不传递我的 root 密码吗? 我必须在新的终端窗口中打开它 lirc。
最佳答案
除了在另一个“终端窗口”中调用一些子命令是个坏主意之外,这是 sudo 配置的问题。
Sudo 将 tty cookie 分配给 session ,有效地将 session 超时限制为获得身份验证的 tty。
您可以通过禁用 /etc/sudoers
中的 tty_tickets 选项来防止这种情况发生:
Defaults !tty_tickets
关于新终端窗口中的 Python sudo 无需传递密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27502677/