簡體   English   中英

Python 腳本在運行 SUDO 命令時拋出 TTY Sudo 錯誤

[英]Python Script throwing TTY Sudo error when running SUDO Command

def execute_cli_locally(command, timeout=CLI_EXECUTION_TIMEOUT,
                    return_output_as_string=True)

try:
    logger.info("Executing commands locally :\n%s", command)
    ssh = Popen(command, shell=True, stdout=PIPE, stderr=PIPE)

    stdout, stderr = ssh.communicate(command)

    if ssh.returncode == 0:
        stdout = stdout.strip()
        if len(stdout) != 0:
            logger.info("Stdout :\n%s", stdout)
        return stdout

    else:
        logger.error("Local command execution failed. Error :\n%s" % stderr)
        print_response_and_exit(STATUS_FAILED,
                                "Local commands [%s] execution failed. Error :\n%s" %
                                (command, stderr))

我正在對這個 python 腳本執行 SUDO 命令,但拋出錯誤“sudo:抱歉,你必須有一個 tty 才能運行 sudo”。

嘗試使用運行您的腳本

sudo -S python {script_name} {args}

在某些情況下,它對我有用。

  1. 在終端中輸入:

sudo visudo /etc/sudoers

  1. 找到這一行:

默認要求

並使用“#”注釋掉該行,即#Defaults requiretty。

  1. 保存並關閉文件:

在 vi/vim 中:輸入“:wq”——這意味着先按:,激活命令模式,然后輸入 wq 並按 Enter。 此序列將保存文件並退出編輯器。

在 nano 中:按 Ctrl+X,然后按 y 確認您要保存更改。 然后在不更改默認文件名的情況下按 Enter。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM