Sudo 错误“您必须有一个 tty 才能运行 sudo”

Sudo 错误“您必须有一个 tty 才能运行 sudo”

我正在尝试运行以下命令:

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 位实例。

答案1

检查你的 sudoers 文件(或让管理员验证)。它包含以下内容:

Default requiretty

(默认也可以只是一个组,更容易搜索 requiretty)

快捷简单的方法是将其注释掉,这样可以解决该问题。您也可以使用 !requiretty 为特定命令进行设置。

您还可以尝试使用 --session-command 调用 sudo 来解决这个问题

相关内容