无法再进行Sudo Su,"不存在,也没有指定askpass程序" [英] Cannot SUDO SU anymore, "no tty present and no askpass program specified"

查看:0
本文介绍了无法再进行Sudo Su,"不存在,也没有指定askpass程序"的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个根服务器,我在其中禁用了通过根用户登录,并在sudoer列表中创建了另一个用户。因此,当我想在服务器上工作时,我会这样做:

ssh myusername@IP_ADDRESS

在服务器上:

sudo su

输入我的密码以获得超级用户权限。这在过去的6个月里一直运行良好。今天,我在执行sudo su:

时收到此消息
sudo: no tty present and no askpass program specified

黑客是怎么回事?这个错误意味着什么?为什么我会得到它??如果没有超级用户权限,我无法在服务器上执行这么多操作。您知道如何修复此问题吗?

推荐答案

sudo尝试打开/dev/tty进行读写,如果失败则打印该错误。您已在注释中指出您的系统中缺少/dev/tty。

Sudo有一个选项-S可以从标准输入读取密码,而不是从/dev/tty读取密码。您应该能够运行sudo -S以成为超级用户。

关于如何恢复/dev/tty,重新启动服务器可能就足够了;系统可能会在启动期间重新创建/dev中的所有设备。或者,要创建设备,您可以使用mknod命令,但您需要知道tty设备的正确主号和次号。在我可用的Ubuntu系统上,我在/dev:

中看到以下条目
crw------- 1 root root      5,   1 Apr 16 18:36 console
crw-rw-rw- 1 root tty       5,   2 Sep 24 15:35 ptmx
crw-rw-rw- 1 root tty       5,   0 Sep 24 14:25 tty

在本例中,主编号为5,次要编号为0。/dev/控制台和/dev/ptmx具有相同的主机号。因此,我要检查/dev/控制台或/dev/ptmx以找到正确的主机号,然后运行:

mknod /dev/tty c major 0

其中"主要"是正确的主要编号。

重新创建/dev/tty后,请确保权限正确:

chmod 666 /dev/tty

这篇关于无法再进行Sudo Su,"不存在,也没有指定askpass程序"的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆