Hiển thị ký tự mật khẩu khi đăng nhập vào Linux


11

Tôi đang thiết lập một thiết bị đầu cuối nối tiếp không dây tầm xa (với một cặp XBees, nếu có ai thắc mắc) được kết nối với hộp Linux của tôi. Nó sẽ rất tuyệt, nhưng đôi khi một tổ hợp phím không đi qua. Điều này thường có thể quản lý được, tôi sẽ thấy thiếu nó và đánh lại. Tuy nhiên, thật tệ khi tôi phải thử một vài lần để nhập mật khẩu của mình vì Linux không hiển thị gì cả. Tôi đã thêm pwfeedbackdòng vào tệp sudoers của mình, nhưng tôi cũng muốn nhắc nhở đăng nhập để hiển thị một số phản hồi. Máy Linux đang chạy Debian (thực ra nó là một mâm xôi pi quản lý hầu hết mạng gia đình của tôi).

Có thể thay đổi lời nhắc đăng nhập tty để cung cấp phản hồi khi tôi nhập mật khẩu của mình không?


Thay vì điều này:

Raspbian GNU/Linux 7 linuxbox ttyAMA0

linuxbox login: skylarmt
Password:

Tôi muốn điều này:

Raspbian GNU/Linux 7 linuxbox ttyAMA0

linuxbox login: skylarmt
Password: **********


Tôi không nghĩ rằng một sự thay đổi như vậy hiện có thể ở cấp cấu hình. Đăng nhập đầu cuối được quản lý bởi agetty sẽ gọi / bin / đăng nhập để nhắc mật khẩu. Bạn có thể đạt được hiệu quả được mô tả bằng cách thay đổi mã nguồn đăng nhập đúng, biên dịch lại và sử dụng phiên bản sửa đổi, nhưng điều này đòi hỏi một số kiến ​​thức về ANSI C.
DevilaN

Câu trả lời:


1

Tôi không biết bất kỳ cấu hình nào để làm điều này, nếu bạn THỰC SỰ muốn làm điều đó, bạn có thể đạt được điều này bằng cách:
1 - sửa đổi chức năng getpass trong tệp getpass.c trong gói glibc.
2 - xây dựng libc- (VERSION) .so
3 - sao lưu các lib gốc / (archcitecture của bạn) /libc.so (nói đổi tên để libc- (VERSION) .so.bak
4 - di chuyển các tập tin mới để lib / (archcitecture của bạn ) / 5 - chạy ldconfig để cập nhật bộ đệm.
Ví dụ: bạn có thể thay thế mã đọc mật khẩu bằng mã có thể trông như thế này:

  /* Read the password. */
  // nread = __getline (&buf, &bufsize, in);

  int index=0;
  char c;
  while ( (c=getchar())!= EOF ){
     putch('*');
     buf[i]=c;
     ++i;
  }
  buf[i]='\0';
  nread=i;
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.