11.04.2013 Views

Guida avanzata di scripting Bash - Portale Posta DMI

Guida avanzata di scripting Bash - Portale Posta DMI

Guida avanzata di scripting Bash - Portale Posta DMI

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Capitolo 12. Filtri, programmi e coman<strong>di</strong> esterni<br />

# Quando vi verrà chiesta la password, inserite quella <strong>di</strong> root, non la vostra.<br />

# Last login: Tue Aug 10 20:25:49 2004 from localhost.localdomain<br />

# Dopo <strong>di</strong> che ’exit’.<br />

# I coman<strong>di</strong> precedenti forniscono una shell interattiva.<br />

# È possibile impostare sshd in modalità ’comando singolo’,<br />

#+ ma questo va oltre lo scopo dell’esempio.<br />

# L’unica cosa da notare è che quello che segue funziona<br />

#+ in modalità ’comando singolo’.<br />

# Il fondamentale comando <strong>di</strong> visualizzazione allo stdout (locale).<br />

ls -l<br />

# E ora lo stesso comando su una macchina remota.<br />

# Se desiderate, potete passare ’USERNAME’ ’HOSTNAME’ <strong>di</strong>versi:<br />

USER=${USERNAME:-$(whoami)}<br />

HOST=${HOSTNAME:-$(hostname)}<br />

# Ora eseguiamo la precedente riga <strong>di</strong> comando su un host remoto,<br />

#+ la trasmissione è totalmente criptata.<br />

ssh -l ${USER} ${HOST} " ls -l "<br />

# Il risultato atteso è l’elenco dei file della <strong>di</strong>rectory home dell’utente<br />

#+ presente sulla macchina remota.<br />

# Se volete vedere delle <strong>di</strong>fferenze, eseguite lo script da una qualsiasi <strong>di</strong>rectory<br />

#+ <strong>di</strong>versa dalla vostra <strong>di</strong>rectory home.<br />

# In altre parole, il comando <strong>Bash</strong> viene passato come stringa tra apici<br />

#+ alla shell remota, che lo esegue sulla macchina remota.<br />

# In questo caso sshd esegue ’ bash -c "ls -l" ’ per conto vostro.<br />

# Per informazioni su argomenti quali il non dover inserire la<br />

#+ password/passphrase ad ogni riga <strong>di</strong> comando, ve<strong>di</strong><br />

#+ man ssh<br />

#+ man ssh-keygen<br />

#+ man sshd_config.<br />

exit 0<br />

311

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!