新终端窗口中的 Python sudo 无需传递密码

标签 python ubuntu passwords sudo

我有一个问题。我正在尝试从 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/

相关文章:

python - 如何根据数组的另一部分替换数组的一部分?

python - Gunicorn --reload 不适用于具有本地存储库的 Ubuntu

gcc - CUDA 和 gcc 兼容性问题

security - 'forgot password' 实现的最佳方法?

encryption - 如果密码存储在数据库中,那么使用盐如何使密码更安全?

php - MySQL 版本之间的密码实现不兼容

python - 分组数据和搜索值集

python - 在 python 中导入 sikuli 模块时遇到问题。我正在使用 RIDE 运行 python 脚本

c# - 可以在 ubuntu 中运行 winforms 应用程序吗?

python - Django "can' t 在模型中设置属性