24.01.2014 Views

Terminali a caratteri - IIS Marconi Latina - Area didattica

Terminali a caratteri - IIS Marconi Latina - Area didattica

Terminali a caratteri - IIS Marconi Latina - Area didattica

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

644 volume I Sistemi GNU/Linux: uso e amministrazione generale<br />

L’esempio seguente mostra il passaggio all’undicesima console virtuale:<br />

# switchto 11 [ Invio ]<br />

15.13 <strong>Terminali</strong> virtuali, o finestre, con il programma Screen<br />

«<br />

È già stato descritto più volte il funzionamento delle console virtuali di GNU/Linux, che, attraverso<br />

una sola console fisica, permettono la gestione di più sessioni di lavoro differenti, a cui<br />

si accede generalmente con le combinazioni di tasti [ Ctrl Fn ], oppure [ Ctrl Alt Fn ]. Un effetto<br />

simile si può ottenere attraverso dei programmi, utilizzabili anche quando non si dispone di<br />

una console GNU/Linux.<br />

Un programma che svolga questo compito non è così comodo da utilizzare come può esserlo<br />

una console virtuale, però può offrire delle possibilità in più. Per esempio, potrebbe trasferire<br />

il terminale virtuale su un altro terminale fisico, senza dover sospendere, né interrompere, il<br />

lavoro che si stava svolgendo. In pratica, l’unico programma che si utilizzi per questo scopo è<br />

Screen, 19 il quale permette di fare una quantità di cose, anche il trasferimento di un terminale<br />

virtuale a un altro utente (consentendo a questo di continuare il lavoro).<br />

Lo studio di Screen è impegnativo come lo è l’approfondimento di una shell sofisticata. Qui<br />

si vogliono mostrare solo i rudimenti, trascurando volutamente funzionalità che, se utilizzate,<br />

richiederebbero attenzione per ciò che riguarda la sicurezza.<br />

15.13.1 Funzionamento e organizzazione generale<br />

«<br />

Screen, costituito precisamente dell’eseguibile ‘screen’, è un programma che si interpone<br />

tra una shell (o un applicativo diverso) e il terminale utilizzato effettivamente. In pratica, si<br />

tratta di un gestore di finestre a <strong>caratteri</strong> che, tra le altre cose, permette di aprire più sessioni<br />

contemporanee utilizzando un solo terminale fisico.<br />

Ogni terminale virtuale, ovvero ogni finestra, mette a disposizione le funzionalità di un terminale<br />

VT100 con delle estensioni di vario tipo. Per ogni finestra viene conservato uno storico<br />

delle ultime righe visualizzate, permettendo lo scorrimento all’indietro e la copia di porzioni<br />

di questo all’interno dello standard input della stessa o di un’altra finestra.<br />

Come si può intuire, per accedere alle funzionalità offerte da Screen occorre utilizzare dei comandi<br />

composti da combinazioni di tasti che vengono intercettati da questo, senza essere passati<br />

all’applicazione sottostante, provocando così un’alterazione del comportamento normale<br />

di queste applicazioni.<br />

Spesso, viene attivato il bit SUID al binario ‘screen’, assieme all’attribuzione della proprietà<br />

all’utente ‘root’. Ciò permette a Screen di fare delle cose molto comode, ma richiede attenzione<br />

nella sua configurazione, perché ciò potrebbe tradursi in un pericolo in più per chi<br />

lo utilizza. Se non si vuole approfondire tanto l’uso di Screen, sarebbe meglio togliere tale<br />

permesso.<br />

# chmod ug-s /usr/bin/screen [ Invio ]<br />

Se Screen è in condizione di poterlo fare (di solito solo se è attivato il bit SUID per il binario<br />

‘screen’ e questo appartiene all’utente ‘root’), aggiorna il file ‘/etc/utmp’, cosa che<br />

consente di tenere traccia anche di tutti i terminali virtuali aperti attraverso di esso.

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

Saved successfully!

Ooh no, something went wrong!