Linux

Sudo 錯誤“您必須有一個 tty 才能執行 sudo”

  • January 23, 2018

我正在嘗試執行以下命令:

sudo git pull;

我收到以下錯誤:

Command failed: sudo: sorry, you must have a tty to run sudo

該命令正在使用child_process和從 nodejs 伺服器執行exec

我查看了其他嘗試解決此錯誤的問題和站點,但沒有一個解決方案,即編輯/etc/sudoers和使用ssh -t工作。

我沒有 root 訪問權限,因此在命令中使用 sudo。

我正在執行一個基本的 Amazon EC2 Linux 64 位實例。

檢查您的 sudoers 文件(或讓管理員驗證它)。它包含如下所示的內容:

Default requiretty

(預設也可以只是一個組,更容易只搜尋requiretty)

快速簡便的方法是將其註釋掉,這將解決該問題。您還可以使用 !requiretty 為特定命令設置它。

您也可以嘗試使用 –session-command 呼叫 sudo 來克服這個問題

引用自:https://serverfault.com/questions/326310