1 打开 /etc/sudoers

1 打开 /etc/sudoers

我正在使用 dancers shell 尝试在网络上的多台机器上运行安装命令,但每次我这样做时都会得到

no tty present and no askpass program specified

我知道如果我使用ssh -t该命令,我可以避免这种情况,但是有没有办法在dshssh使用该命令的情况下在多台机器上运行命令-t

我正在运行的命令:

`dsh -aM -c sudo apt-get install python`

答案1

sudo默认情况下将从连接的终端读取密码。您的问题是从控制台运行时没有连接终端。

1 打开 /etc/sudoers

输入sudo vi /etc/sudoers。这将以编辑模式打开你的文件。

2 添加/修改linux用户

查找 Linux 用户的条目。如果找到,请按如下方式修改或添加新行。

<USERNAME> ALL=(ALL) NOPASSWD: ALL

3 保存并退出编辑模式

答案2

您可以通过在文件中sudo添加此选项来避免需要 TTY 。但如果 sudo 仍然需要密码,那么它对您没有帮助,除非您设置为您的用户。基本上,您想要的更改可能看起来像这样:Defaults !requiretty/etc/sudoersNOPASSWD

Defaults:your_user !requiretty
your_user ALL = NOPASSWD: ALL

编辑此文件的首选方法是使用visudo,它将在将文件写回磁盘之前检查语法。

相关内容