Sto scrivendo il mio modulo PAM che farà parte di un'applicazione che sto sviluppando, ma non sono sicuro di dove metterlo. Il mio modulo fondamentalmente fa l'autenticazione a livello di rete (con altri mojo ovviamente) simile a LDAP.
Ci sono molti file di configurazione nella mia /etc/pam.d/
directory e so cosa fanno la maggior parte dei servizi (tranne un paio, come atd, polkit, ppp). Presumo che l'autenticazione con stack PAM vada in questo modo:
- Esegue lo stack in base al nome del servizio (se esiste un file di configurazione)
- Se non autenticato, ripeti su common- *, dove * è il tipo di modulo (auth, account, ecc.)
- Restituisce il successo o non riesce a chiamare l'applicazione (e ovviamente qualsiasi altro dato)
Sono corretto in questo presupposto? Tutte le piattaforme hanno common-auth, common-account, common-password e common-session?
In tal caso, stavo pensando di metterlo in cima a common- * come sufficient
modulo in modo che in caso di errore lo stack PAM normale rimanga inalterato. Ciò è particolarmente vantaggioso perché posso farlo a livello di codice sull'installazione del software.
Mi mancano potenziali vulnerabilità della sicurezza?
Non sono riuscito a trovare un'ottima documentazione su dove integrare i moduli PAM personalizzati o problemi di sicurezza che circondano i moduli.