Sappiamo che le password degli utenti vengono salvate in /etc/passwd
, ma in modo crittografato, quindi anche il root non può vederli:
jane:x:501:501::/home/jane:/bin/bash
fred:x:502:502::/home/fred:/bin/bash
Come mostrato sopra, :x:
rappresenta la password.
C'è un modo (possibile configurazione) per salvare la password in /etc/passwd
in chiaro e in modo tale che la radice possa vederli?
Risposta accettata:
Le altre due risposte ti hanno detto, correttamente!, che questa è una cattiva idea™ . Ma ti hanno anche detto che è difficile da fare, richiedendo la modifica di una serie di programmi.
Non è vero. È molto facile. Hai solo bisogno di modificare uno o due file di configurazione. Sento che è importante sottolinearlo, perché dovresti esserne consapevole quando accedi a sistemi che non controlli. Questi in realtà non inseriranno una password in testo normale in /etc/passwd
o /etc/shadow
, andrà in un file diverso. Nota che non li ho testati, poiché preferirei non avere la mia password in testo normale.
-
Modifica
/etc/pam.d/common-password
(per vedere la password modificata) o/etc/pam.d/common-auth
(per accedere al login) e aggiungi in… pam_exec expose_authtok log=/root/passwords /bin/cat
-
Modifica entrambi e passa da pam_unix a pam_userdb con
crypt=none
. In alternativa, puoi inserirlo solo in common-password (lasciando anche pam_unix) per registrare solo le password quando vengono modificate. -
Puoi rimuovere
shadow
(così come qualsiasi opzione hash avanzata) da pam_unix per disabilitare il file shadow e tornare alle tradizionali password di crittografia. Non è un semplice testo, ma John lo Squartatore lo risolverà per te.
Per ulteriori dettagli, consulta la Guida per l'amministratore del sistema PAM.
Puoi anche modificare il codice sorgente di PAM o scrivere il tuo modulo. Dovresti solo compilare PAM (o il tuo modulo), nient'altro.