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 连接?
在新窗口终端中使用 Visual Studio Code 中的终端运行
Python模块发布构建安装到Python本地副本中,在终端键入 sudo python3 setup.py install。无法识别sudo