Come aggiungere ulteriori passaggi per accedere?


8

Quello che vorrei ottenere è un programma interattivo che viene eseguito prima o dopo aver chiesto all'utente la password, ma non gestirà l'accesso al computer a meno che non sia uscito con successo. Per renderlo un po 'più comprensibile, ecco un esempio:

Vorrei ottenere l'accesso al mio computer, scrivendo prima il mio nome utente, quindi la mia password e successivamente rispondendo correttamente a una semplice domanda matematica generata casualmente.

Perché funzioni, utilizzo il seguente file di autenticazione di sistema:

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

Il problema è che il programma chiamato math non è in grado di gestire gli input dell'utente, in quanto legge automaticamente un EOF da PAM, il che lo rende sostanzialmente inutile. Ho anche provato la seguente variante della linea discutibile nel qual caso legge nella password, che non è anche quello che voglio:

auth      optional  pam_exec.so stdout expose_authtok /home/math

2
Sembra che tu voglia codificare il tuo modulo PAM, maggiori dettagli nel manuale PAM. linux-pam.org/Linux-PAM-html/Linux-PAM_MWG.html
Drav Sloan

Risposte:


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.