当前位置: 首页 > 知识库问答 >
问题:

如何修复“sudo:没有tty存在和没有askpass程序指定”错误?

越涛
2023-03-14

我正在尝试使用Makefile编译一些源代码。在makefile中,有一堆命令需要作为sudo运行。

当我从终端编译源代码时,一切都很好,make在第一次运行sudo命令等待密码时暂停。一旦我键入密码,使简历和完成。

但我希望能够在NetBeans中编译源代码。因此,我启动了一个项目,并向netbeans展示在哪里可以找到源代码,但当我编译该项目时,它会出现错误:

sudo: no tty present and no askpass program specified

当它第一次命中sudo命令时。

我已经在互联网上查找了这个问题,我找到的所有解决方案都指向一件事:禁用该用户的密码。因为这里讨论的用户是root用户。我不想那样做。

还有其他的解决办法吗?

共有1个答案

梁英喆
2023-03-14

授予用户使用该命令而不提示输入密码应该可以解决问题。首先打开一个shell控制台并键入:

sudo visudo
username ALL = NOPASSWD: /fullpath/to/command, /fullpath/to/othercommand

john ALL = NOPASSWD: /sbin/poweroff, /sbin/start, /sbin/stop

将允许用户Johnsudopoweroffstartstop,而不提示输入密码。

查看屏幕底部的按键,你需要在visudo中使用--顺便说一句,这不是VI-然后在出现任何问题的第一个迹象时退出而不保存。健康警告:损坏此文件将产生严重后果,请小心编辑!

 类似资料:
  • 我已经安装了一个lemp docker容器W/Ubuntu 16.04、Nginx、Mariadb和PHP 7.0,并设置了postfix和基本的ssh功能,这些功能都能正常工作。我已经创建了一个具有sudo权限的非root用户(在sudo组中),但是当我试图使用sudo时,我得到了一个错误 Sudo:没有tty存在,也没有指定askpass程序 这种情况发生在、、等。 我使用visudo进入文件

  • 我有一个php页面,它试图运行服务重启,使用: 我需要编辑我的sudoers文件来实现这一点。因此: 和 当失败时,作为一个测试,我运行: 我运行了一个shell_exec,没有使用sudo命令: 这返回了预期的“Apache”。于是我跑了: 返回“uid=48(apache)gid=48(apache)groups=48(apache),10(wheel)” 我对照正在做同样事情的工作系统检查了

  • 在它遍历每一个gem之后,我在RadRails上遇到了一个错误,说“‘显示启动页’遇到了一个问题。发生了一个内部错误。”然后,当我单击OKE时,它说:“SWT错误发生了。建议您退出工作台。随后的错误可能会发生,并且可能会在没有警告的情况下终止工作台。您想退出工作台吗?”每次我重新启动RadRails时,都会发生完全相同的事情。 我在网上读到,我可以安装askpass,然后在sudoers文件中设置

  • 我想自动化一个构建-目前,在我的开发过程中,所以不涉及安全的东西。 从构建器(Qt Creator)运行脚本时,不会提示我输入sudo密码,但会出现错误 我已经找到了一些解决办法,但就是不起作用...我错过了什么? 确切代码: 我按照上面回答的建议做了:编辑了visudo并添加了脚本...甚至还添加了Qmake... 同样的错误 编辑:在问完这个问题后,我发现了一个类似的建议问题:https://

  • 问题内容: 没有系统更改,每次尝试从中安装gem时,都会因该错误而开始失败,尽管我什至都看不到为什么调用sudo,因为gems安装在本地rvm目录中。 有人看过吗? 问题答案: 要让詹金斯安装gem,他需要属于rvm组: 在debian中,这意味着: 至少对我有用。