La Shell, conosciuta anche come Terminale, Console o "riga di comando" altro non è che una finestra testuale in cui inserire i comandi per l'avvio delle applicazioni e le istruzioni per la gestione del sistema operativo.
Linux è nato per gestire la multi-utenza e le reti, pertanto c'è da distinguere fra la figura dell'Utente, che ha un accesso LIMITATO alle risorse del sistema, e l'Amministratore che è colui il quale può fare TUTTO.
L'AMMINISTRATORE, detto anche Utente Root o semplicemente Root, è la figura più importante del sistema, in quanto ha accesso ad ogni comando e ad ogni area del file-system, è colui che può fornire accessi e permessi agli utenti, aggiungere o eliminare account, manipolare QUALUNQUE file e installare/rimuovere qualunque cosa.
L'UTENTE, al contrario, è colui che può usare SOLO una piccola parte del sistema e ha accesso solo ad alcuni comandi il cui utilizzo gli è concesso dall'Amministratore.
Solitamente OGNI utente ha una sua zona riservata del file-system in cui inserire, conservare e gestire i suoi documenti. Solo lui e l'Amministratore hanno accesso totale a questa zona.
In una normale finestra di terminale generalmente il prompt ha il seguente significato:
ID_Utente@ Nome_Macchina: Directory Privilegi
è composto da 4 parti:
Esempi:
rossi@linux: /home/rossi/Documenti$
gandalfrank@host:/bin$
root@linux:/etc/apt#
Esistono vari modi per avviare una Shell.
Il programma Terminale (Menù>Accessori>Terminale) avvia una normale finestra che dà accesso a tutti i comandi eseguibili in Linux. Di norma, tale applicazione si avvia con i privilegi dell'utente con il quale abbiamo eseguito l'accesso al sistema.
Resta comunque la possibilità di cambiarlo o di autenticarsi come Root. Per fare ciò esistono due comandi:
$ su [ID Utente]
Password:
"su" [Switch User] permette di cambiare utente autenticandosi con altre credenziali. È sufficiente inserire l'ID dell'altro utente seguito dalla password per usufruire dei privilegi riservati ad esso. Usare "su" senza ID consente di effettuare il login come Amministratore. L'aggiunta dell'opzione -s permette di scegliere la shell che desideriamo:
$ su -s sh
Password:
In questo caso passiamo il testimone all'Amministratore usando la Bourne Shell "sh".
Per tornare all'utente originario basta uscire:
# exit
L'altro comando per impartire istruzioni come Amministratore è "sudo" [Super User DO]:
rossi@linux:~$ sudo [comando]
[sudo] password for rossi:
sudo va usato in combinazione con il comando che richiede i privilegi di Root.
A differenza di su, in sudo è necessario inserire la propria password per godere per un tempo limitato, dei vantaggi offerti dall'essere Amministratore. Trascorso il tempo impostato si ritorna ad avere i privilegi limitati di utente normale.
Il programma Terminale Root (Menù>Accessori>Terminale Root), ci proietta in una shell con tutti i vantaggi dell'utente Root. Ovviamente vi si accede inserendo la password di Amministratore.
Terminale TTY
I 6 terminali TTY1...TTY6 (TTY=sigla usata per indicare le telescriventi) si avviano usando la combinazione di tasti CTRL+Alt+F1....F6 e per usarle è obbligatorio autenticarsi fornendo ID utente e password. Per uscire da queste finestre va usata la combinazione di tasti CTRL+Alt+F7. È consentito aprirle quante ne vogliamo, anche tutte se necessario. Per passare dall'una all'altra è sufficiente premere la combinazione di pulsanti usata per avviarle.