无法再进行Sudo Su,";不存在,也没有指定askpass程序"; [英] Cannot SUDO SU anymore, "no tty present and no askpass program specified"
本文介绍了无法再进行Sudo Su,";不存在,也没有指定askpass程序";的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
ssh myusername@IP_ADDRESS
在服务器上:
sudo su
输入我的密码以获得超级用户权限。这在过去的6个月里一直运行良好。今天,我在执行sudo su:
sudo: no tty present and no askpass program specified
黑客是怎么回事?这个错误意味着什么?为什么我会得到它??如果没有超级用户权限,我无法在服务器上执行这么多操作。您知道如何修复此问题吗?
推荐答案
sudo
尝试打开/dev/tty
进行读写,如果失败则打印该错误。您已在注释中指出您的系统中缺少/dev/tty。
-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屋!
查看全文