Odio la PAM da quando è nata.
Come posso attivare il debug PAM in Debian Squeeze a livello di amministratore?
Ho controllato tutte le risorse che sono riuscito a trovare. Google, pagine man, qualunque cosa. L'unica cosa che non ho ancora provato (semplicemente non oso, ho detto che odio il PAM?) È scavare nella fonte della biblioteca del PAM.
Ho provato a cercare una soluzione su Google, niente. Quello che ho trovato finora:
http://www.bitbull.ch/wiki/index.php/Pam_debugging_funktion ( /etc/pam_debug
) e
http://nixdoc.net/man-pages/HP-UX/man4/pam.conf.4.html ( debug
opzione su voci PAM in /etc/pam.d/
).
No, non funziona. Nessuna uscita PAM, niente, silenzio assoluto.
Durante la ricerca di una soluzione ho anche seguito i collegamenti a Pam, che sono stazioni di servizio qui in Germania. Beh, sì, forse in tutti quei miliardi di colpi potrebbe nascondere un indizio, ma spararmi sarei morto prima che lo scoprissi.
Il resto è FYI:
Che problema ho avuto?
Dopo l'aggiornamento a Debian Squeeze qualcosa è diventato strano (beh, ehi, una volta era, uh, quello che era giusto sopra l'Etch .. ah, sì, Woody). Quindi probabilmente non è colpa di Debian, solo una configurazione rovinata da lungo tempo. Ho avuto immediatamente l'impressione che dovesse fare qualcosa con PAM, ma non sapevo davvero cosa stesse succedendo. Ero completamente al buio, lasciato solo, indifeso da bambino, YKWIM. Alcuni accessi ssh hanno funzionato, altri no. È stato divertente. Nessun indizio dentro ssh -v
, nessun indizio dentro /var/log/*
, niente. Solo "auth successed" o "auth fail", a volte lo stesso utente che ha effettuato l'accesso in parallelo è riuscito in parallelo con una sessione e ha fallito con l'altra, contemporaneamente. E niente di cui tu possa davvero afferrare.
Dopo aver scavato carichi di treni di altre opzioni sono stato in grado di scoprirlo. C'è nullok
e nullok_secure
, uno speciale Debian. Qualcosa è andato storto /etc/securetty
e in base al tty
(che è in qualche modo casuale) un accesso è stato rifiutato o meno. DAVVERO PIACEVOLE, accidenti!
La correzione è stata semplice e ora tutto è di nuovo a posto.
Tuttavia, questo mi ha lasciato la domanda: come eseguire il debug di un tale casino in futuro. Non è la prima volta che PAM mi fa impazzire. Quindi vorrei vedere una soluzione finale. Finale come in "risolto", non finale come in "armageddon". Grazie.
Ah, a proposito, questo ha rafforzato ancora una volta la mia convinzione che sia bello odiare la PAM da quando è nata. Ho già detto che lo faccio?
PermitEmptyPasswords yes
nel /etc/ssh/sshd_config
naturalmente, poi PAM uscite qualcosa di simile pam_unix(sshd:auth): authentication failure
, ma ancora niente al canale di debug né alcun indizio che modulo PAM ha causato il fallimento.
/var/log/auth.log
file? Di recente ho scoperto che Ubuntu ce l'ha e registra lì tutte le cose relative al pam. Nessuna delle risposte qui mi ha aiutato, ma guardare dentro /var/log/auth.log
mi ha aiutato a risolvere il mio problema.
/var/log/auth.log
lo è syslog
. Il problema non è la registrazione ma il debug. Se ad esempio lo stack PAM fallisce presto, non vedrai nulla, perché i moduli che emettono syslog
non vengono affatto richiamati. O qualcosa fallisce e qualcosa no, ma entrambi registrano esattamente le stesse linee. È vero che, immagino, il 95% di tutti i casi può essere risolto esaminando i soliti registri, ma il 5% non può, poiché semplicemente non c'è traccia di ciò che accade realmente dietro le quinte.
passwd -d user
e quindi provare a scrivere nella casella come questouser
. L'output "password non riuscita" in syslog non ha assolutamente nulla a che fare con il debug di PAM, quindi PAM rimane silenzioso.