Seminari del PHC - Sergio Steffè - 31 gennaio 7, 14 febbraio 2000 - Comunicazioni tra Calcolatori  - PISA 

INDIETRO INDICE PHC HOME AVANTI

2.7 ftp, rcp,scp.

ftp

uso tipico:

ftp
ftp 131.114.6.42
ftp gauss.dm.unipi.it
ftp ftp.phc.unipi.it

scopo:

ftp vuol dire File Transfer Protocol, cioè protocollo per il trasferimento dei files; ftp serve a trasferire dei files tra i due calcolatori. Il demone che risponde è ftpd o una sua variante.

funzionamento:

se si da il comando ftp da solo si ottiene un prompt del tipo

ftp>

a questo punto dovrebbe funzionare il comando help che permette di vedere quali sono i principali comandi possibili. Tra questi sono importanti

open user pass binary ascii cd lcd
get mget put mput quit dir !

Una tipica sequenza di operazioni che permette di trasferire il file pippo.tex dal mio calcolatore a gauss:

ftp gauss.dm.unipi.it
- ci si collega al calcolatore gauss.dm.unipi.it
user: steffe
- occorre ottenere la autorizzazione all'uso del sistema fornendo un account e una password
passwd: (la password battuta non appare sullo schermo)
- se si fallisce questo passo si può dare il comando user e riprovare
put pippo.tex
- questo è il comando che trasferisce il file di testo da un calcolatore all'altro. Se non fosse un file di testo occorerebbe dare prima l'opzione binary.
quit
- termina le operazioni del comando ftp

Una tipica sequenza di operazioni che permette di copiare da una banca dati ad accesso permesso a tutti del software public domain:

ftp ftp.dm.unipi.it
- ci si collega al calcolatore neumann.dm.unipi.it, di cui ftp.dm.unipi.it è un alias.
user:anonymous (si può anche dare user:ftp)
passwd:steffe@dm.unipi.it (non compare sullo schermo)
- indicando anonymous si ha l'accesso alla banca dati aperta a tutti. L'etichetta vuole che si comunichi il propio indirizzo di E-mail al posto della password
cd /pub
- cambia directory
.... qui a forza di comandi dir e cd si arriva fino al posto dove c'è il software che interessa e poi lo si copia, eventualmente in modo binary, con il comando get e infine naturalmente si fa
quit

non funzionamento:

oltre alle stesse cause di non funzionamento che si sono già viste per il comando telnet, può accadere che non venga trovato il file, magari perchè è in altro posto, o che non si possa scriverlo, perchè non si è autorizzati a farlo in quella directory o perchè non c'è spazio.

un altro punto su cui ci si sbaglia spesso è quello della scelta del modo di trasferimento, che può essere ascii o binary (o MacBinary sul MacIntosh); il fatto è che i files di testo sono formati da entità dette righe, e che alla fine di ciascuna riga c'è un "separatore di riga" formato da un carattere o una sequenza di caratteri; ora MS-DOS, UNIX e MAC usano tre convenzioni diverse tra loro per segnare tale separatore di riga, per cui se si trasferisce in modo binary un file di testo da una macchina con un sistema operativo ad un' altra con un sistema diverso, accade che i separatori vengono interpretati male.

MS-DOS usa come separatore di righe la sequenza dei due caratteri CR e LF ( 0D 0A in esadecimale), il Mac il solo CR, Unix il solo LF. Quando si usa ftp nel modo ascii, la conversione dei "fine riga" è fatta automaticamente, tramutando a seconda del caso i CR-LF in LF o in CR o viceversa. E' ovvio il disastro che accade se si trasferisce un programma eseguibile in cui i caratteri 0D o 0A fanno parte di istruzioni in linguaggio macchina usando il modo ascii...

problemi di sicurezza:

come per il telnet, tutto quello che viene trasmesso sulla rete passa in chiaro ed è leggibile da un programma che intercetti i pacchetti,

compreso nome della macchina su cui ci si collega, nome dell'ac count e password ! Materiale riservato non dovrebbe mai transitare sulla rete durante una sessione di ftp a meno che non si sia sicuri che la rete sia composta esclusivamente da SWITCH.

rcp, scp

uso tipico:

rcp prova.tex bianchi: (N.B. il : è essenziale!)
scp -r ./tex steffe@paley.dm.unipi.it:./lavori

scopo:

copiare files e directories tra calcolatori Unix.

scp è la versione di rcp che crittografa i dati in modo che non siano intercettabili sulla rete.

funzionamento:

solo tra macchine Unix.Occorre che ci sia al autorizzazione ad eseguire comandi remoti, con l'apposito record nel file .rhosts. Occorre inoltre avere il diritto di scrittura nella directory obiettivo. La sintassi è la stessa del comando cp, ma si premette il nome del calcolatore al nome del file. Molto comodo perché si può usare l'opzione -r che permette di copiare ricorsivamente anche le

sottodirectories: il comando

scp -r ./tex steffe@paley.dm.unipi.it:

crea su paley la directory tex e vi copia dentro tutti i file e le sottodirectories etc...

non funzionamento:

i problemi che si possono incontrare sono la somma di quelli che si possono avere con i comandi rsh e cp. Non tutte le macchine prevedono l'uso di scp, e su alcune occorre che il file .rhosts sia leggibile e scrivibile solo all'utente, altrimenti scp non funziona comunque.

problemi di sicurezza:

scp trasmette i dati crittografandoli, rcp no. Anche la parte di identificazione dell'host di rcp è debole. Se possibile preferire scp a rcp.
 
INDIETRO INDICE PHC HOME AVANTI