Sei sulla pagina 1di 5

Linux: generalita'

9.1 Generalita'

Linux e' un sistema operativo nato grazie ad un progetto di Linus


Torvalds, uno studente dell'universita' di scienze dell'informazione
di Helsinki. L'idea era quella di creare una versione di Unix che
funzionasse su PC. Unix venne sviluppato nei laboratori AT&T Bell
da Ken Thompson verso la fine degli anni 60, mentre Linux e'
nato all'inizio degli anni 90 (circa 30 anni dopo). Linux non solo e'
molto simile ad Unix, ma sotto molti aspetti e' praticamente
identico. Ad ogni modo Linux e' un sistema operativo
multiutente e multitasking. Multiutente significa che puo'
essere utilizzato da piu' utenti contemporaneamente, mentre
multitasking significa che permette l'esecuzione di piu' programmi
contemporaneamente. Windows 98 e' un esempio di sistema
operativo multitasking ma non multiutente, in quanto puo' essere
utilizzato da un solo utente per volta. Al contrario Linux cosi'
come Windows/NT puo' essere utilizzato da piu' utenti
contemporaneamente. Occorre fare attenzione a non confondere
un sistema di PC collegati tra loro in rete da un sistema
multiutente: nel primo caso esistono piu' PC che dialogano tra
loro, ognuno con il proprio sistema operativo (DOS, Windows o
anche Linux) mentre nel secondo caso una sola macchina con un
solo sistema operativo e' utilizzata da piu' utenti. Un sito web ad
esempio, e' una macchina di tipo multiutente, in quanto piu'
utenti (visitatori) possono accedere alle pagine web del sito
contemporaneamente. Un sistema operativo ad ogni modo e'
qualcosa di molto piu' complesso di un server web. Linux infine,
e' un sistema a memoria protetta. Memoria protetta significa
che ciascun programma in esecuzione in un dato momento
utilizza una parte di memoria personale alla quale tutti gli altri
programmi in esecuzione non possono accedervi. Non e' possibile
quindi che un programma per errore acceda alla parte di memoria
utilizzata da un altro programma causandone il blocco.

Dal momento che piu' utenti possono utilizzare Linux


contemporaneamente, e' necessario che il sistema sia in grado di
identificare in modo inequivocabile tutti gli utenti collegati in
qualsiasi istante. Ecco perche' ogni utente deve essere registrato
da qualche parte nel sistema, deve cioe' possedere un account.
Possedere un account in un dato sistema significa essere
registrati presso quel sistema, cioe' essere autorizzati ad
accedervi e ad utilizzarlo in base al livello di privilegi che si
possiede. Possedere un account in sostanza e' come possedere la
tessera di una palestra o una carta bancomat. Cosi' come occorre
digitare un pin per poter effettuare delle operazioni con il
bancomat, allo stesso modo occorre fornire il proprio nome ed
una password al sistema per potervi accedere. In questo modo
solo gli utenti autorizzati (che possiedono un account) possono
accedere al sistema. Un account e' composto da una userid (user
identifier, identificatore dell'utente, cioe' il nome dell'utente) e da
una password. Ogni utente ha un proprio nome assegnatogli
dall'amministratore del sistema ed una password personale. Per
accedere al sistema occorre effettuare il login, ossia fornire il
proprio userid e la propria password. Login e logon sono sinonimi
ed entrambi identificano la procedura con la quale ogni utente si
collega al sistema e si qualifica come utente autorizzato.
L'amministratore di sistema puo' definire delle categorie di utenti,
ciascuna con differenti livelli di privilegi. Ad esempio e' possibile
avere una categoria di utenti generica con bassi privilegi ed una
categoria di utenti esperti con un livello di privilegi piu' alto.
L'amministratore di sistema e' l'utente con il livello di privilegi piu'
alto e puo' fare praticamente qualsiasi cosa all'interno del
sistema. L'amministratore di sistema viene anche chiamato
superutente, superuser sysadmin o utente root.

9.2 Struttura di un sistema Linux

Qualsiasi sistema Linux puo' essere suddiviso in due parti


principali: il kernel e la shell. Il kernel (nocciolo) e' il
programma che gestisce i dispositivi hardware (come dischi nastri
e stampanti) ed esegue i programmi, mentre la shell (conchiglia)
e' il programma che riceve i comandi dall'utente e li invia al
kernel. La shell e' come l'ostrica la cui conchiglia avvolge la perla
(il kernel). La shell e' una interfaccia tra l'utente ed il kernel. La
shell e' un interprete di comandi in quanto accetta comandi
dall'utente, li interpreta e li invia al kernel. Esistono vari tipi di
shell (bourne, korn, c ed altre) molto simili tra loro, ma ciascuna
con caratteristiche proprie. All'interno di Linux qualsiasi
dispositivo hardware viene trattato come un file, e questa e'
senza dubbio una caratteristica interessante, perche' permette di
accedere facilmente a dispositivi come memoria, terminali,
tastiera, stampanti e via dicendo.

9.3 Entrare nel sistema

Nelle prime distribuzioni Linux utilizzava esclusivamente la


modalita' carattere, possedeva cioe' una interfaccia di tipo
testuale e non esistevano finestre ed icone. Non si poteva usare il
mouse e tutto avveniva tramite l'uso di comandi dati alla tastiera.
Successivamente venne adottato il sistema X-Windows e pian
piano anche con Linux divenne possibile usare una interfaccia
grafica. Attualmente le distribuzioni sono concepite in modo da
proporre all'utente una interfaccia di tipo grafico a partire dal
processo di installazione. Questo non e' vero per tutte le
distribuzioni, in quanto alcune di queste, come ad esempio la
Slackware, sono fedeli alla modalita' testuale. In ogni caso,
indipendentemente dalla distribuzione usata, e' sempre possibile
in qualsiasi istante aprire una sessione in modalita' carattere
all'interno di una finestra oppure, se si preferisce, e' possibile
passare dalla modalita' grafica alla modalita' testuale eliminando
completamente la grafica. Prescindendo dal tipo di interfaccia
usata, e' comunque sempre necessaria una fase di login per
accedere al sistema ed una fase di logout per uscirne. E' possibile
configurare il sistema in modo da consentire l'avvio in modalita'
testuale oppure in modalita' grafica. Ipotizzando l'uso esclusivo
della modalita' testuale, vediamo una sessione di login e di logout
in un ipotetico sistema Linux:

Linux Mandrake release 8.0 (Traktopel) for i586


Kernel 2.4.3-20mdk on an i686 / tty1
Localhost login:_

Questo e' quello che appare una volta avviato il sistema. Viene
visualizzata la distribuzione e la versione di Linux usata, la
versione del kernel e viene richiesto di effettuare il login.
Effettuare il login in un sistema significa fornire le proprie
credenzialita' di utente autorizzato ad accedervi. Occorrera' quindi
digitare il proprio userid (fornito dall'amnministratore del sistema)
che supponiamo sia 'pippo':

Localhost login:pippo

a questo punto il sistema chiedera' la password:

password:_

Nel digitare la propria password si potra' notare che i caratteri


digitati non appariranno a video (in gergo tecnico si dice che
l'echo locale e' disabilitato). Cio' accade per motivi di sicurezza:
con tale sistema un utente non autorizzato non potra' vedere la
password che stiamo digitando. Qualora la password digitata non
fosse corretta o l'userid digitato non esistesse, il sistema
risponderebbe con un messaggio di errore e tornerebbe a
richiedere l'immissione dell'userid e della password. Supponendo
che l'utente misterX non sia un utente registrato nel sistema:

Localhost login:misterX
password:
Login incorrect
Login:_

Una volta ottenuto l'accesso al sistema, se non e' il primo


collegamento assoluto, si otterra' una risposta simile:

Last login: Mon Sep 9 08.02.49 on tty1


pippo@localhost pippo]$

Questo e' il prompt di Linux. Il prompt e' un messaggio che


indica che il sistema e' in attesa di comandi da parte dell'utente.
E' un po' come il messaggio convenzionale che si dice quando si
risponde al telefono: 'pronto?' che significa appunto 'ok sono in
ascolto chi parla?' (a questo punto chi ha chiamato se e' educato
si presenta...ma questo e' un altro discorso ;o). Il prompt di Linux
non e' sempre lo stesso per 2 motivi: primo perche' e' possibile
cambiarlo a nostro piacimento e secondo perche' puo' terminare o
con un carattere $ (dollaro) o con un carattere # (cancelletto) a
seconda dell'utente che accede al sistema. Il carattere $ infatti
identifica un utente comune, mentre il carattere # identifica
l'utente root (o superuser), cioe' l'amministratore di sistema.
Nell'esempio illustrato sopra, il sistema comunica all'utente la
data e l'ora dell'ultimo collegamento effettuato (last login) ed il
terminale dal quale e' stato fatto il collegamento. Il terminale e' in
questo esempio tty1, dove tty sta per TeleTYpe, cioe'
telescrivente, in quanto i primi terminali erano telescriventi
appunto. E' chiaro che se il terminale e' sempre lo stesso (Linux
utilizzato da un solo utente su un unico PC) questo messaggio e'
irrilevante. La riga 'pippo@localhost pippo]$' significa: utente
pippo, collegato alla macchina localhost all'interno della directory
pippo. Ogni utente infatti ha una directory personale predefinita e
normalmente non puo' accedere a directory esterne alla propria.

9.4 Uscire dal sistema

Esistono 4 modi per effettuare il logout, cioe' per uscire dal


sistema:

Digitare il comando exit


Premere i tasti CTRL e D contemporaneamente
Premere i tasti CTRL ALT CANC contemporaneamente
Digitare il comando shutdown

in realta' in un reale sistema multiutente un utente comune


potrebbe utilizzare unicamente i primi due, in quanto la
combinazione dei tasti CTRL ALT CANC od il comando shutdown
riavviano il sistema completamente. Cio' che un utente deve fare
e' uscire dal sistema non riavviarlo o chiuderlo! Infatti gli ultimi
due comandi possono essere utilizzati unicamente dall'utente
root. Qualora un utente comune digitasse il comando shutdown
otterrebbe infatti un messaggio di errore dal sistema simile:

bash : shutdown : command not found

in quanto il comando shutdown e' un comando riservato all'utente


root e, come tale, contenuto all'interno di una directory non
visibile agli utenti comuni.

Inizio della guida Installazione Indice Il filesystem

Copyright (c) 2002-2003 Maurizio Silvestri

Potrebbero piacerti anche