Python sudo 在新的终端窗口中没有传递密码

Posted

技术标签:

【中文标题】Python sudo 在新的终端窗口中没有传递密码【英文标题】:Python sudo in new terminal window without passing password 【发布时间】:2015-02-14 15:34:21 【问题描述】:

我有问题。我正在尝试从 python 脚本在新的终端窗口中运行 sudo 命令,但每次我必须在新窗口中输入密码。 这是我的代码:

import subprocess
import sys
import os
def run_lirc():
    subprocess.call(['x-terminal-emulator','-e','sudo lircd'])
run_lirc()

是否有任何解决方案允许我不传递我的 root 密码? 我必须在新的终端窗口中打开它。

【问题讨论】:

尝试以 root 用户身份运行命令? 使用 sudo 运行脚本,sudo python your_script.py 【参考方案1】:

除了在另一个“终端窗口”中调用某些子命令是一个坏主意之外,这是 sudo 配置的问题。

Sudo 将 tty cookie 分配给会话,有效地将会话超时限制为获得身份验证的 tty。

您可以通过禁用/etc/sudoers 中的 tty_tickets 选项来防止这种情况发生:

Defaults !tty_tickets

【讨论】:

以上是关于Python sudo 在新的终端窗口中没有传递密码的主要内容,如果未能解决你的问题,请参考以下文章

如何在不使用 sudo 的情况下从终端窗口关闭 Internet 连接?

禁用“在新的 Chrome 配置文件中继续”弹出窗口

在新窗口终端中使用 Visual Studio Code 中的终端运行

求助:这个网站不允许在新的窗口打开网页

Python模块发布构建安装到Python本地副本中,在终端键入 sudo python3 setup.py install。无法识别sudo

更改新 Windows 终端的窗口大小