Làm thế nào để thêm các bước bổ sung để đăng nhập?


8

Những gì tôi muốn đạt được là một chương trình tương tác chạy trước hoặc sau khi hỏi người dùng mật khẩu, nhưng sẽ không xử lý quyền truy cập vào máy tính trừ khi thoát ra thành công. Để làm cho nó dễ hiểu hơn, đây là một ví dụ:

Tôi muốn có quyền truy cập vào máy tính của mình, trước tiên bằng cách viết tên người dùng, sau đó là mật khẩu của tôi và sau đó trả lời một câu hỏi toán học được tạo ngẫu nhiên đơn giản một cách chính xác.

Để làm việc này, tôi sử dụng tệp hệ thống-auth sau đây:

auth      required  pam_unix.so try_first_pass nullok nodelay
auth      optional  pam_faildelay.so delay=600000
auth      optional  pam_exec.so stdout /home/math
auth      optional  pam_permit.so
auth      required  pam_env.so

Vấn đề là, chương trình có tên math không thể xử lý các đầu vào từ người dùng, vì nó tự động đọc EOF từ PAM, về cơ bản làm cho nó vô dụng. Tôi cũng đã thử biến thể sau đây của dòng nghi vấn trong trường hợp nó đọc mật khẩu, đây cũng không phải là điều tôi muốn:

auth      optional  pam_exec.so stdout expose_authtok /home/math

2
Âm thanh như bạn sẽ muốn mã mô-đun PAM của riêng bạn, chi tiết hơn trong hướng dẫn PAM. linux-pam.org/Linux-PAM-html/Linux-PAM_MWG.html
Drav Sloan

Câu trả lờ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.