Ubuntu 18.04.1 พิมพ์รหัสผ่านของผู้ใช้ระหว่างปิดเครื่อง [ปิด]


10

Ubuntu พิมพ์รหัสผ่านผู้ใช้ในหน้าจอข้อความที่บางครั้งจะปรากฏขึ้นในระหว่างปิดเครื่องหรือสลับผู้ใช้

TL; DR

นี่เป็นคำถาม แต่หลังจากการสอบสวนมันกลับกลายเป็นข้อผิดพลาด (IMHO) ฉันรายงานเรื่องLaunchpadแล้ว กรุณาตรวจสอบที่นั่นสำหรับการปรับปรุงใด ๆ

เป็นต้นฉบับ

ฉันเพิ่งติดตั้ง Ubuntu 18.04.1 LTS (ไบโอนิค) บนเครื่องเก่า (และบางทีฉันอาจสังเกตเห็นเพียงเพราะเครื่องช้า) ฉันใช้การติดตั้งที่ฉันได้รับจากเว็บไซต์อูบุนตูอย่างเป็นทางการและฉันเริ่มสงสัยว่าก่อนที่ฉันจะติดตั้งสิ่งอื่นใด - แต่ฉันใช้เวลาสักครู่ที่จะเชื่อ

ฉันไม่สามารถทำซ้ำสิ่งนี้ได้เมื่อใช้ผู้ใช้เพียงคนเดียว แต่เมื่อเปลี่ยนผู้ใช้เข้าสู่ระบบและปิดทุก ๆ ครั้ง (และในระหว่างปิดเครื่อง) หน้าจอข้อความจะกะพริบ (ก่อนหน้าโลโก้ Ubuntu ที่มีจุดความคืบหน้า) และ ที่ด้านล่างของสถานะบริการคุณมีมัน: รหัสผ่านผู้ใช้!

ไม่มีสิ่งใดหลบติดตั้งในเครื่องนี้

นี่คือรูปภาพ:

ป้อนคำอธิบายรูปภาพที่นี่

ในกรณีนี้รหัสผ่านจะปรากฏขึ้นสองครั้ง มันยากที่จะเชื่อว่าฉันทำอะไรผิดพลาดเพราะฉันเพิ่งติดตั้งรุ่นอย่างเป็นทางการ

ฉันไม่ใช่ผู้เชี่ยวชาญของ Ubuntu ถือว่าเป็นเรื่องปกติหรือไม่

อัปเดต 1:

ฉันพบวิธีทดสอบอย่างง่ายดาย หลังจากสลับผู้ใช้และทำงาน:

sudo cat /dev/tty1

คุณสามารถดูรหัสผ่านล่าสุด - จริง ๆ แล้วคุณสามารถเห็นทุกสิ่งที่พิมพ์ในหน้าจอเข้าสู่ระบบ (พยายามเข้าสู่ระบบที่ไม่ถูกต้องเช่นกัน) ซึ่งเป็นสิ่งที่ปรากฏขึ้นในระหว่างปิดเครื่อง ฉันได้ตั้งค่า VM ด้วย Ubuntu รุ่นเดียวกัน แต่จนถึงตอนนี้ฉันไม่สามารถทำซ้ำได้ ดังนั้นตอนนี้ฉันสงสัยว่าหนึ่งในแอพที่ฉันติดตั้งจริง ๆ แล้วเป็นผู้ร้าย ฉันจะทำการทดสอบต่อไป (โดยทั่วไปจะทำขั้นตอนทั้งหมดใน VM) และโพสต์ที่นี่

อัปเดต 2:

ติดตั้งแอพทั้งหมดอัปเดตทั้งหมดและดำเนินการทุกขั้นตอนที่ฉันจำได้ว่าฉันใช้งานแล้ว (เปลี่ยนภาษากำหนดค่าอินพุต ฯลฯ ) ฉันเพียงแค่ไม่สามารถทำซ้ำมัน - ยังเครื่องผิดพลาดอย่างต่อเนื่องพิมพ์คีย์ทั้งหมดของหน้าต่างเข้าสู่ระบบ (และจากหน้าต่างเข้าสู่ระบบ) /dev/tty1เพื่อ

อาจมีปัญหาเกิดขึ้นในไดรเวอร์บางตัวที่เครื่องเก่านี้ต้องการและ VM ไม่ได้

ตอนนี้สิ่งที่ฉันต้องทำคือการระเบิดเครื่องนี้ แต่ฉันจะทำรายงานข้อผิดพลาดก่อน จากนั้นฉันจะกำหนดค่าเครื่องใหม่ตั้งแต่เริ่มต้นและหากยังมีปัญหาอยู่ฉันจะอัปเดตสิ่งนี้

อัปเดต 3:

ดังนั้นนี่คือข้อผิดพลาดใน Launchpad

อัปเดต 4:

ใหม่ติดตั้งบนเครื่องอื่น 18.04 จาก canonical ไม่ได้ติดตั้งแอปอัปเดตทั้งหมดที่ติดตั้ง - ไม่มีแอปเพิ่มเติมใด ๆ และฉันก็สามารถทำซ้ำได้ แต่อาการไม่แสดงบน 4.15.0-29 ทั่วไปโหมดการกู้คืน

วิ่ง:

sudo lsof /dev/tty1

พิมพ์สองกระบวนการและsystemd-lgdm-wayla

ใช่ตอนนี้ฉันทำกับเรื่อง มันเป็นส่วนหนึ่งของ Ubuntu และไม่ใช่แอพภายนอก ฉันจะแกล้งทำเป็นว่ามันไม่มีอยู่จริงและพิจารณาว่าฉันได้มีส่วนในการรายงานข้อผิดพลาด


2
ฉันคิดว่าเป็นไปไม่ได้เนื่องจากรหัสผ่านใน Linux ... ไม่ได้จัดเก็บในรูปแบบข้อความล้วน
NerdOfCode

นั่นคือเอาต์พุตของหน้าจอบูตและหากคุณแก้ไขบรรทัดคำสั่งสำหรับบูตให้ลบ "เงียบ" และ "สาด" คุณจะสามารถมองเห็นเส้นได้ตลอดเวลา ฉันมีผู้ใช้เพียงคนเดียวในระบบของฉันและดังนั้นจะไม่สามารถตรวจสอบปัญหาการแสดงรหัสผ่านนี้
ชาร์ลส์กรีน

@NerdOfCode ฉันไม่คิดว่ามันถูกเก็บไว้ทฤษฎีของฉันคือมีคนลืมพิมพ์ไปที่คอนโซลในขณะที่การแก้จุดบกพร่อง ... และฉันจะคิดเหมือนคุณถ้ามันไม่ใช่ฉันหรือถ้าฉันไม่ได้ติดตั้งตั้งแต่เริ่มต้น โดยใช้การเปิดตัวเป็นทางการ ...
Feu

@CharlesGreen คุณใช้ 18.04.1 ไหม หากเป็นเช่นนั้นผู้ใช้รายอื่นที่ฉันใช้ไม่ได้เป็นผู้ดูแลระบบเพียงแค่เปลี่ยนไปใช้พวกเขาและการสลับกลับก็เพียงพอที่จะทดสอบได้ หากคุณสามารถทดสอบได้ (และลบผู้ใช้) ฉันจะขอบคุณ!
Feu

6
ฉันคิดว่าคุณควรเขียนรายงานข้อผิดพลาดที่ Launchpad เกี่ยวกับปัญหานี้ รับ ID ผู้ใช้ที่launchpad.netและสร้างรายงานข้อผิดพลาด: เรียกใช้ubuntu-bug ubuntuและทำตามคำแนะนำ (จนกว่าเราจะรู้ดีกว่าตำหนิubuntu) ฉันคิดว่าคุณจะได้รับความช่วยเหลือเพื่อให้รายละเอียดเพิ่มเติมเกี่ยวกับปัญหาโดยคนที่รู้เพิ่มเติมเกี่ยวกับรายงานข้อผิดพลาดที่ Launchpad
sudodus

คำตอบ:


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 ของฉันฉันทราบว่ามีคนไม่มากที่จะเชื่อฉัน แต่ฉันเชื่อว่ามันไม่ได้เป็น app ภายนอก.
Feu
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.