Come può qualcosa come il file "passwd" contenere una shell?


0

Stavo leggendo, e in "Hacking, 2nd Edition: The Art of Exploitation" di Jon Erickson a pagina 89 ho letto che:

Il file passwd contiene informazioni sull'account per ogni utente sul sistema, inclusa la shell di accesso predefinita di ogni utente

Come può qualcosa contenere una shell? Ho pensato che fosse più o meno qualcosa che usi per interagire con il sistema, non qualcosa contenuto come un file? Cos'è in realtà una shell allora?


Dove hai letto questo? Potrebbero averlo inteso come modello per l'accesso o qualcosa del genere.
Jon

@Chipperyman: "Hacking, 2nd Edition: The Art of Exploitation" di Jon Erickson a pagina 89.
JakeGould

Risposte:


5

Semplice, quando "accedi" con un utente viene eseguita la shell predefinita dell'utente. Il passwdfile contiene queste informazioni (ad esempio /bin/csh, /bin/basho simili). È uno dei campi nel file che viene utilizzato. Di seguito è riportato un esempio:

jsmith:x:1001:1000:Joe Smith,Room 1007,(234)555-8910,(234)555-0044,email:/home/jsmith:/bin/sh

Si noti che contiene l'ultimo campo /bin/sh. Quando questo utente accede, questa è la "shell" predefinita che viene eseguita per consentire all'utente di interagire.

Penso che tu stia interpretando male il significato. Non "letteralmente" contiene la shell di un utente in quanto si trova "all'interno" di questo file. Contiene solo un campo per ogni voce che indica quale binario “shell” verrà eseguito di default per consentire all'utente di interagire dopo essere stato autenticato.


Quindi contiene sostanzialmente il codice shell che viene eseguito? Lo capisco, non posso credere di non aver capito l'altra spiegazione. Troppa lettura per un giorno, suppongo.
WhiteMask

@WhiteMask Non c'è ... "codice" che viene eseguito. Sono semplicemente informazioni utilizzate durante e dopo l'autenticazione. Potresti voler leggere semplicemente il file man passwd se vuoi una migliore comprensione di ciò che contiene.
Goblinlord,

@WhiteMask Come ha detto Goblinlord (e commentato correttamente), l'ultima voce indica semplicemente "che tipo di shell eseguire quando l'utente accede". Nella risposta corrente quando jsmith accede, aprirà automaticamente la shell / bin / sh. Alcune persone potrebbero scegliere di inserire / bin / tcsh o / bin / zsh. O in alcuni casi, / bin / nobody (nel qual caso non possono accedere). Si riferisce semplicemente a una posizione in cui è memorizzato l'eseguibile della shell. Potresti anche avere / media / seagate / sh o qualcosa del genere. / bin / sh è uno dei valori predefiniti dipende dal tuo sapore di Linux.
Dario
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.