View Full Version : [INFO] Differenze fra le varie Shell d Linux (ash, sh,ecc)
C'è 1 sito, un man, un howto o qlc altra cosa ke mi possa spiegare le caratteristiche e/o le differenze fra le varie shell d linux ?
Eventualmente mi basterebbe sapere quale fra le seguenti 3 shell è la minore (ovvero la meno potente ovvero quella ke t permette d fare meno cose/danni) :
/bin/bash
/bin/sh
/bin/ash
Tnks
rocchi76
01-07-2004, 14:41
sono tutte equivalenti che io sappia, cambia solo la sintassi, ma il succo e' lo stesso ... e quindi anche i potenziali danni ;-)
Originariamente inviato da rocchi76
sono tutte equivalenti che io sappia, cambia solo la sintassi, ma il succo e' lo stesso ... e quindi anche i potenziali danni ;-)
nooo... nn mi dire così :cry:
Ziosilvio
01-07-2004, 14:49
bash e' un'estensione di sh. ash non la conosco.
Conoscere bash e' importante, perche' e' la shell di default di Linux (almeno nelle distribuzioni serie).
Anche sapere cosa si puo' fare con la sola sh e' importante, perche' moltissimi file di configurazione sono scritti secondo la sua sintassi.
Originariamente inviato da Ziosilvio
bash e' un'estensione di sh. ash non la conosco.
Conoscere bash e' importante, perche' e' la shell di default di Linux (almeno nelle distribuzioni serie).
Anche sapere cosa si puo' fare con la sola sh e' importante, perche' moltissimi file di configurazione sono scritti secondo la sua sintassi.
Questo nn lo metto in dubbio ma a me, in questo caso, serve "solo" sapere, in pratica, quale delle 3 è meno dannosa..
La bash so' ke è la shell d default d linux quindi l'ho inserita fra le 3 solo x chiarezza ma ho già deciso d nn usarla x il mio scopo (ovvero far utilizzare agli utenti il sftp)...
Mo' devo capire se la ash è "inferiore" alla sh ^_^
Ikitt_Claw
01-07-2004, 15:31
Originariamente inviato da The X
Questo nn lo metto in dubbio ma a me, in questo caso, serve "solo" sapere, in pratica, quale delle 3 è meno dannosa..
In che senso dannosa?
sh, la bourne shell originale, e` quella piu` limitata nel senso delle funzionalita` supportate... il "problema" e` che nelle distribuzioni recenti sh e` un link a bash, che invocata cosi` la emula agendo su certi parametri.
Es: su FC1
$ ls -lh /bin/*sh
-rwxr-xr-x 1 root root 592K 9 dic 2003 /bin/bash
lrwxrwxrwx 1 root root 4 4 gen 16:37 /bin/sh -> bash
ash e` un'implementazione di una shell compatibile con la prima sh, meno complessa di bash, piu` limitata e compatta e potenzialmente "meno dannosa" (ma molto dipende da che senso dai a questa frase).
bash infine puo` essere lanciata in modalita` restricted, rendendola meno "dannosa" sotto certo punti di vista (vedi man bash, sezione RESTRICTED SHELL)
Originariamente inviato da Ikitt_Claw
sh, la bourne shell originale, e` quella piu` limitata nel senso delle funzionalita` supportate... il "problema" e` che nelle distribuzioni recenti sh e` un link a bash, che invocata cosi` la emula agendo su certi parametri.
Es: su FC1
$ ls -lh /bin/*sh
-rwxr-xr-x 1 root root 592K 9 dic 2003 /bin/bash
lrwxrwxrwx 1 root root 4 4 gen 16:37 /bin/sh -> bash
Anke da me mi da /bin/sh -> bash QUINDI usare sh o bash è la stessa cosa ERGO userò ash...
Originariamente inviato da Ikitt_Claw
ash e` un'implementazione di una shell compatibile con la prima sh, meno complessa di bash, piu` limitata e compatta e potenzialmente "meno dannosa" (ma molto dipende da che senso dai a questa frase).
T spiego molto chiaramente cosa devo fare io... A dei clienti devo dare accesso ftp al mio server e x questioni d sicurezza/semplicità ho deciso d nn abilitare proftp ma solo ssh in modalità sftp; da qui mi sono accorto ke per poter entrare con 1 client ftp lo user deve avere 1 shell valida.. Ora, se gli do la bash loro, o 1 qlc malintenzionato ke gli scopre la pswd può loggarsi in ssh con 1 shell "potente"... Facendo le prove ho notate ke solo la bash e la ash permettono la connessione sftp quindi mi kiedevo se la ash era + limitata nel senso ke avesse meno comandi ecc ecc
Mi sono spiegato adesso ? ^_^
tnk
Ikitt_Claw
01-07-2004, 15:53
Originariamente inviato da The X
da qui mi sono accorto ke per poter entrare con 1 client ftp lo user deve avere 1 shell valida.. Ora, se gli do la bash loro, o 1 qlc malintenzionato ke gli scopre la pswd può loggarsi in ssh con 1 shell "potente"... Facendo le prove ho notate ke solo la bash e la ash permettono la connessione sftp quindi mi kiedevo se la ash era + limitata nel senso ke avesse meno comandi ecc ecc
Allora tutte le shell sono potenzialmente pericolose allo stesso modo, perche` tutte permettono un'interazione praticamente uguale col sistema e di lanciare tutti i comandi sul filesystem.
Nulla vieterebbe ad un utente con shell ash, peraltro, di lanciare successivamente bash e ripartire come vuole lui.
La soluzione migliore, credo, e` usare una shell ristretta (bash restricted, per esempio) E creare una gabbia con chroot o jail.
Originariamente inviato da Ikitt_Claw
Allora tutte le shell sono potenzialmente pericolose allo stesso modo, perche` tutte permettono un'interazione praticamente uguale col sistema e di lanciare tutti i comandi sul filesystem.
Nulla vieterebbe ad un utente con shell ash, peraltro, di lanciare successivamente bash e ripartire come vuole lui.
La soluzione migliore, credo, e` usare una shell ristretta (bash restricted, per esempio) E creare una gabbia con chroot o jail.
Capisco, e fare tutto questo (creare shell ristretta+gabbia) è molto lungo/complesso ?
Ikitt_Claw
01-07-2004, 16:15
Originariamente inviato da The X
Capisco, e fare tutto questo (creare shell ristretta+gabbia) è molto lungo/complesso ?
Per bash ristretta basta un parametro della shell medesima ( :D ), per la gabbia con chroot ci potrebbe volere ben piu` tempo e abilita`. Ci sono vari HOWTO in giro, comunque.
Originariamente inviato da Ikitt_Claw
Per bash ristretta basta un parametro della shell medesima ( :D ), per la gabbia con chroot ci potrebbe volere ben piu` tempo e abilita`. Ci sono vari HOWTO in giro, comunque.
Ok, intato prova a creare la bash ristretta, poi si vedrà x il chroot... cmq la gabbia andrebbe fatto attorno alla home del utente, giusto ?
P.S. x la bash ristretta basta ke creo 1 link simbolico dentro /bin ke punti a "bash -r" ?
sigh.... ho provato la bash ristretta MA è troppa ristretta nel senso ke poi il servizio d sftp nn funge.... :(
Indagherò sulla funzionalità del "ingabbiare" la home_users ^_^
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.