Tại sao mật khẩu nhắc chậm một chút sau khi nhập tên người dùng trong tty?


7

Tôi có loại hành vi này và tôi không biết cách khắc phục hoặc thậm chí cách tìm kiếm bản sửa lỗi vì tôi không biết tôi sẽ gọi nó như thế nào.

Đây là những gì đang xảy ra:

Lần đầu tiên tôi khởi động, khi tôi gõ tên người dùng và nhấn Retrundấu nhắc mật khẩu sẽ xuất hiện khoảng một nửa hoặc một phần tư giây sau đó. Vấn đề là sau khi tôi nhập tên người dùng, tôi thường nhấn Returnvà ngay lập tức bắt đầu nhập mật khẩu; tuy nhiên vì Password:chưa xuất hiện, nên ttybắt đầu in các ký tự tôi nhập trực tiếp lên màn hình.

Ví dụ: giả sử tên người dùng và mật khẩu của tôi là: UsernamePasswordtương ứng. Nếu tôi đăng nhập vào tty1thì nó sẽ trông như thế này. "Pa" lúc đầu là ở đó bởi vì tôi đã bắt đầu gõ "Mật khẩu" trước khi Password:thực sự xuất hiện.

Debian GNU/Linux stretch/sid hostname tty1

hostname login: Username
PaPassword:

Tất nhiên, một giải pháp đơn giản cho việc này là nhập tên người dùng và đợi một chút trước khi nhập mật khẩu, tuy nhiên tôi muốn tìm hiểu sâu về vấn đề này và tìm ra nguyên nhân của vấn đề này. Tôi có một nỗi sợ rằng một ngày nào đó lời nhắc có thể trễ hơn một phần tư giây (ví dụ vài giây) và tôi đã vô tình gõ toàn bộ mật khẩu của mình lên màn hình trước khi Password:cuối cùng xuất hiện.

Có cách nào để biết những gì đang xảy ra ở đây?


1
Bạn đang sử dụng cơ sở dữ liệu người dùng / mật khẩu cục bộ hoặc một cái gì đó từ xa, chẳng hạn như NIS, AD hoặc LDAP?
Đánh dấu Plotnick

1
Vâng, đó là một người dùng cục bộ được đặt trên một máy cục bộ.
cam cam

getent passwd Usernametriển lãm bất kỳ độ trễ?
steve

1
Độ trễ ban đầu có lẽ là do mã cần được tải vào bộ nhớ; sau lần đầu tiên mã nằm trong bộ đệm và do đó có thể được tải nhanh chóng. Ngoài ra, hệ thống vẫn đang bận rộn với việc khởi tạo daemon, v.v. vì vậy chương trình đăng nhập chỉ đơn giản là không có chu kỳ CPU đủ nhanh.
wurtel

Tôi có cùng một vấn đề. Chúng ta có phải chấp nhận hành vi này hoặc ai đó tìm ra cách khắc phục?
Al.G.

Câu trả lời:


2

Hành vi mặc định của TTY là lặp lại (hiển thị ngay lập tức) bất cứ điều gì người dùng gõ vào màn hình. Điều này cung cấp phản hồi tức thì của các phím được nhấn. Đây là chế độ mà thiết bị TTY đang ở khi login:lời nhắc được hiển thị.

Trước khi yêu cầu mật khẩu, chương trình đăng nhập thực hiện cuộc gọi hệ thống để thay đổi chế độ của TTY để không lặp lại các ký tự đã nhập (để mật khẩu của bạn không được hiển thị khi bạn nhập mật khẩu). Tuy nhiên, nếu bạn bắt đầu nhập các ký tự trước khi chương trình đăng nhập thực sự thực hiện cuộc gọi hệ thống đó, thì các ký tự đó thực sự sẽ được hiển thị.

Sau khi hỏi mật khẩu, chương trình đăng nhập sẽ đặt chế độ echo TTY trở về mặc định (echo những gì người dùng gõ).


Câu trả lời này giải thích tại sao mật khẩu ban đầu được hiển thị nhưng không giải thích được tại sao độ trễ quá lớn.
Bob

2

Như @wurtel đã nói trong nhận xét của mình, tôi tin rằng quá trình đăng nhập đang bị lặp lại bởi các quy trình thời gian khởi động khác, kết hợp với I / O ổ cứng. Câu trả lời mỉa mai sẽ là đăng nhập (natch!) Và xem topvà / hoặc iostat/ hoặc vmstatđể xem hệ thống đang bận làm gì trong khi bạn cố gắng đăng nhập (một lần nữa).

Tôi sẽ nói "luôn chờ lời nhắc mật khẩu" (vì bạn không muốn mạo hiểm đưa mật khẩu của mình cho người hoặc chương trình sai!) Nhưng tôi sẽ là người đầu tiên thừa nhận rằng tôi đã làm điều đó nhiều lần. Tôi đã thấy nhật ký hệ thống trong đó người dùng rõ ràng bị lẫn lộn giữa dấu nhắc tên người dùng và lời nhắc mật khẩu và chúng tôi nhận được nhật ký hệ thống như "đăng nhập thất bại cho P @ ssW0rD". Đó có thể là phiên ssh từ xa, phiên FTP, bất cứ điều gì yêu cầu thông tin đăng nhập trong khi hệ thống đang bận làm việc khác - điểm chính tôi sẽ làm là bạn phải đảm bảo rằng bạn có sự chú ý của hệ thống phù hợp trước khi bạn cung cấp thông tin đầu vào.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.