关闭电源时,Ubuntu 18.04.1打印用户密码[关闭]


10

Ubuntu在文本屏幕上打印用户密码,有时会在关闭电源或切换用户时出现。

TL; DR

这是一个问题,但经过调查发现它是一个错误(IMHO)。我已经在启动板上报告了它。请检查那里的任何更新。

原版的

我刚刚在旧计算机上安装了Ubuntu 18.04.1 LTS(仿生)(也许我只是注意到了,因为它是一台速度较慢的计算机)。我使用从Ubuntu官方网站获得的安装程序,甚至在未安装任何其他程序之前,我就开始怀疑它-但是我花了一些时间来相信。

仅使用一个用户时,我无法重现此问题,但是,在切换用户,登录和注销后,时不时地(在断电期间)文本屏幕会闪烁(在带有进度点的ubuntu徽标之前),并且在服务状态的底部,您可以看到:用户密码!

这台机器上没有安装任何狡猾的东西。

这是一张照片:

在此处输入图片说明

在这种情况下,密码出现两次。我刚刚安装了官方发行版,很难相信我做错了什么。

我不是Ubuntu专家。那被认为是正常的吗?

更新1:

我找到了一种轻松测试它的方法。切换用户并运行后:

sudo cat /dev/tty1

您可以看到最后一个密码-实际上,您可以看到在登录屏幕中键入的所有内容(也包括错误的登录尝试),这也是断电期间还会出现的内容。我已经用相同的Ubuntu版本设置了一个VM,但是到目前为止,我无法复制它。因此,现在我怀疑我安装的应用程序之一实际上是邪恶的。我将继续测试(基本上是复制VM中的所有步骤)并在此处发布。

更新2:

安装了所有应用程序,所有更新,并执行了我记得已经执行的所有步骤(切换语言,配置输入等)。我只是无法复制它-但故障机器始终将登录窗口的所有键(并且仅从登录窗口打印)打印到/dev/tty1

可能问题出在这台旧计算机需要的某些驱动程序中,而VM则不需要。

现在,我要做的只是使这台机器爆炸,但是我将首先报告错误。然后,我将从头开始重新配置这台机器,如果仍然有问题,我将对其进行更新。

更新3:

这是启动板上错误

更新4:

新安装在另一台计算机上。从规范的18.04版本开始,未安装任何应用程序,已安装所有更新-没有任何其他应用程序,我能够复制它。但是,症状未在4.15.0-29-通用恢复模式下显示

运行:

sudo lsof /dev/tty1

打印两个过程,systemd-lgdm-wayla

是的,现在我已经完成了这个主题。它是Ubuntu的一部分,而不是外部应用程序。我会假装它不存在,并认为我已在报告错误中做出了自己的贡献。


2
我高度认为这是不可能的,因为Linux中的密码不是以纯文本格式存储的。
NerdOfCode

这是引导屏幕的输出,如果您修改引导命令行,删除“ quiet”和“ splash”,您将始终可以看到这些行。我的系统上只有一个用户,因此将无法验证此密码显示问题。
查尔斯·格林

@NerdOfCode我不认为它已存储,我的理论是有人在调试时忘了打印到控制台...如果不是我,或者如果我没有从头开始安装它,我也会和你一样使用官方发布...
Feu

@CharlesGreen您正在使用18.04.1吗?如果是这样,我正在使用的其他用户甚至都不是管理员,只需切换到他们然后再切换回去就可以进行测试。如果您可以测试(然后删除用户),我将不胜感激!
Feu

6
我认为您应该在Launchpad上写一个有关此问题的错误报告。在launchpad.net上获取用户ID 并创建错误报告:运行ubuntu-bug ubuntu并按照说明进行操作。(直到我们知道得更多,怪ubuntu)。我想您会得到更多帮助,这些人会在Launchpad上提供有关错误报告的更多信息,以提供有关该问题的更多详细信息。
sudodus

Answers:


1

这是新手,但发现您的问题很有趣。我相信,如果您实际上是在说实话,那么您一次安装或打开的某些程序已经安装了以下内容。输入密码时进行记录。

/unix/138342/how-to-read-write-to-tty-device

不知道您是否可以搜索每个文件的内容,但是下面是我想要的内容。如果您要挑战,请尝试自己创建一个,收集该信息,这可能会帮助您找到罪魁祸首。

#include <stdio.h>
#include <unistd.h>
#include <fcntl.h>    
int main() {
    char byte;
    int fd = open("/dev/pts/3", O_RDWR);
    write(fd, "X", 1);
    ssize_t size = read(fd, &byte, 1);
    printf("Read byte %c\n", byte);
    return 0;
}

祝好运!

丹尼斯


感谢您的见解,您的评论使我有了一个主意,然后我了解了该lsof命令,该命令显示了使用给定资源的进程(例如/dev/tty1/。请阅读我的更新4,我知道很少有人会相信我) ,但我坚信它不是外部应用程序
。– Feu
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.