○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ Introduzione I l sistema operativo Linux è oggi una delle principali distribuzioni di Unix, in grado di portare in ogni PC tutta la potenza e la flessibilità di una workstation Unix e un set completo di applicazioni per Internet con un’interfaccia a desktop perfettamente funzionale. Questo volume non ha solo lo scopo di rappresentare una guida di riferimento per l’utilizzo del sistema operativo Linux ma di descrivere in modo chiaro e dettagliato le sue funzionalità. In particolare non è richiesta alcuna conoscenza del sistema operativo Unix; Linux può essere utilizzato da chiunque. Questo volume identifica sei argomenti principali: la configurazione, gli ambienti operativi e le applicazioni, Internet, i server, l’amministrazione del sistema e l’amministrazione della rete. Questi argomenti riflettono i vari modi in cui viene utilizzato Linux, ovvero come una workstation desktop, una workstation di rete, un server o una piattaforma di amministrazione. La sezione riguardante l’uso come workstation desktop descrive gli ambienti e le applicazioni. Per questo tipo di utilizzo vengono aggiunte le applicazioni per Internet. Per quanto riguarda i server, si parlerà della configurazione e dei vari server Internet disponibili. La sezione di amministrazione introduce vari argomenti di amministrazione del sistema e della rete, come per esempio la configurazione del Kernel, l’accesso ai file system e la configurazione dei firewall. Le prime due parti del volume trattano le operazioni da eseguire per rendere operativo il sistema. Dopo un’introduzione sull’ambiente di lavoro, fra cui i desktop Gnome e KDE, si parlerà della facilità con cui possono essere eseguite le operazioni di aggiornamento del sistema, di accesso ai CD-ROM e di configurazione della stampante. Gli strumenti di aggiornamento automatico disponibili semplificano enormemente queste operazioni, consentendo di aggiornare il software del sistema, comprese le applicazioni, con pochi clic del mouse. È possibile configurare un accesso a Internet tramite modem, collegamento DSL o collegamento Ethernet con semplici strumenti grafici che guidano l’utente lungo le varie operazioni da eseguire. La sicurezza è un elemento fondamentale per qualsiasi sistema connes- XVI INTRODUZIONE so in rete. Questa parte mostra come implementare i principali metodi di protezione del sistema come la crittografia, il rilevamento delle intrusioni e i firewall. Oggi molte persone utilizzano Linux per creare una rete domestica o locale aziendale. Le operazioni necessarie per implementare una semplice rete locale possono essere gestite utilizzando semplici strumenti software. Il volume descrive in dettaglio tutti questi argomenti. Gnome e KDE (K Desktop Environment) sono diventate le interfacce grafiche standard di Linux grazie alla loro potenza, flessibilità e facilità d’uso. Si tratta di ambienti desktop completi, molto più flessibili di quelli di Windows o Macintosh che supportano le funzionalità standard del desktop quali i menu, le barre degli strumenti e le operazioni di trascinamento, ma offrono anche i desktop virtuali, gli applet e i menu a pannello e dei file manager in grado di connettersi a Internet. KDE e Gnome sono diventati l’interfaccia grafica standard per i sistemi Linux. È possibile installarli entrambi, eseguire da uno le applicazioni dell’altro e passare con facilità da un desktop all’altro. Sia Gnome che KDE sono stati progettati per favorire lo sviluppo di software, fornendo una solida base che ha incoraggiato lo sviluppo di un gran numero di applicazioni per queste interfacce. Ora esse sono diventate componenti integranti di Linux con applicazioni e strumenti per ogni genere di operazioni. Per questo motivo i loro strumenti e applicazioni vengono presentati un po’ in tutto il volume. Per esempio, i client di posta elettronica Gnome e KDE vengono trattati nel capitolo sui programmi di posta elettronica per Internet, insieme agli altri client. I client FTP, gli editor, gli strumenti grafici, gli strumenti di amministrazione e gli altri strumenti Gnome e KDE verranno dunque trattati nei rispettivi capitoli. Ma Linux è anche una versione perfettamente funzionale del sistema operativo Unix. Linux infatti offre tutte le funzionalità disponibili in un sistema Unix, incluso un set completo di shell (BASH, TCSH, Z). Dunque, tutti coloro che hanno familiarità con l’interfaccia Unix potranno impiegare queste shell e utilizzare i comandi, i filtri e le opzioni di configurazione cui sono abituati. In ambito Internet, Linux è diventato una piattaforma importante per molteplici applicazioni. Non solo Linux consente di accedere a Internet ma consente anche di entrare a far parte della rete creando siti Web e FTP. In questo modo gli utenti remoti potranno accedere al sistema locale attivando perfino più connessioni e utilizzando servizi distinti. Per quanto riguarda la posta elettronica e i newsgroup si possono usare appositi client per Gnome, KDE e Unix. L’utilità delle applicazioni di rete per Linux non si limita all’ambito di Internet. È possibile utilizzare un sistema Linux anche in una rete intranet locale, configurando un sito FTP o Web per la rete locale. La maggior parte delle distribuzioni Linux è dotata di server Web ed FTP pienamente funzionali, già installati e pronti all’uso. Non si deve fare altro che aggiungere al sito i file desiderati. Linux ha le stesse funzionalità di amministrazione presenti sui sistemi Unix e offre varie interfacce che semplificano notevolmente l’amministrazione di un si- INTRODUZIONE XVII stema tramite menu e caselle di selezione. Il sistema offre tutte le funzionalità di un ambiente multiutente e multitasking. Linux consente infatti di definire gli account per più utenti i quali potranno eseguire contemporaneamente più programmi sul sistema. Con Linux è possibile controllare l’accesso al sistema, definire le connessioni di rete e installare nuovi dispositivi. Molte distribuzioni, come Red Hat, SuSE, Mandrake e Caldera, includono strumenti di configurazione a finestre molto potenti e facili da utilizzare per operazioni quali la configurazione delle stampanti e delle connessioni di rete. È anche possibile utilizzare strumenti di configurazione più generali e potenti, come Linuxconf e Webmin. Anche se è possibile utilizzare questo volume per qualsiasi distribuzione di Linux, si è data particolare attenzione alle distribuzioni Mandrake, Red Hat, SuSE, Debian e Caldera. Esiste anche un’ampia gamma di applicazioni per Linux. In particolare è possibile installare la versione gratuita di molte applicazioni commerciali, per esempio WordPerfect e Sybase. Tali applicazioni possono anche essere prelevate direttamente da Internet. Inoltre vengono continuamente prodotte nuove applicazioni per Gnome e KDE che possono essere prelevate dai rispettivi siti Web. La licenza software pubblica GNU garantisce la possibilità di utilizzare applicazioni di elevato livello professionale come ad esempio vari strumenti di programmazione, editor per programmi di videoscrittura oltre a moltissime applicazioni specializzate nel campo della grafica e del suono. Nei siti Linux è disponibile un’enorme quantità di software che può essere prelevato e installato con facilità sul sistema. Questo volume tratta cinque argomenti principali: Internet, Gnome e KDE, i server, le reti e l’amministrazione. Dunque si può scegliere il modo in cui consultare questo volume in base a come si intende utilizzare il sistema Linux. In Linux, quasi tutte le operazioni possono essere svolte utilizzando l’interfaccia Gnome o KDE. In molti casi non è necessario accedere all’interfaccia a riga di comando tipica di Unix. Dunque ci si può concentrare sui capitoli riguardanti Gnome e KDE e in particolare consultare i capitoli che descrivono gli strumenti e le applicazioni. Se invece si preferisce approfondire i legami esistenti fra Linux e Unix, si potranno consultare i capitoli riguardanti la shell e i programmi richiamabili dalla shell. Se poi si vuole usare Linux unicamente per i servizi Internet, ci si potrà concentrare sui client e sui server per Internet, la maggior parte dei quali viene installata automaticamente insieme al sistema operativo. Se si vuole usare Linux come un sistema multiutente o integrarlo in una rete locale, si potranno utilizzare le informazioni sul sistema, i file e l’amministrazione della rete contenuti nei capitoli che descrivono l’amministrazione del sistema. Tuttavia nessuno di questi argomenti è in alcun modo esclusivo rispetto agli altri. Se si lavora in un ambiente d’ufficio, probabilmente sarà necessario conoscere tutti questi aspetti. I comuni utenti potranno concentrarsi sui desktop e le funzionalità Internet, mentre gli amministratori saranno più interessati alle funzionalità Unix. XVIII INTRODUZIONE La Parte prima di questo volume presenta un’introduzione a Linux e offre un elenco delle risorse Linux fra cui gli archivi di software, i siti di documentazione, i gruppi di discussione e i siti di informazioni e di sviluppo. Il secondo capitolo descrive la procedura di installazione della maggior parte delle distribuzioni, che richiede circa trenta minuti. I programmi di installazione forniti con Red Hat, SuSE, Caldera e Mandrake offrono ampi commenti che descrivono in dettaglio ogni operazione da eseguire. In questa parte del volume si introducono anche gli elementi di base dell’uso di Gnome e KDE e l’utilizzo della riga di comando della shell. La Parte seconda ha lo scopo di aiutare a utilizzare immediatamente un sistema Linux. Vengono presentate le operazioni di configurazione del sistema come il montaggio dei CD-ROM e l’aggiunta di nuovi account con i metodi più semplici senza i dettagli descritti nei capitoli di amministrazione, che non sono necessari per eseguire le operazioni più semplici. Le principali operazioni di configurazione della rete che vengono trattate sono la connessione con un provider Internet tramite un modem e l’introduzione delle informazioni sul provider quali l’indirizzo del server DNS e del gateway. Poi si trova una breve discussione sulla sicurezza della rete, che mostra come configurare una semplice protezione per un sistema connesso a Internet e indica dove trovare ulteriori informazioni se si hanno esigenze di sicurezza più complesse. Infine si vedrà come configurare una piccola rete locale che può includere anche sistemi Windows. Si vedrà come connettere e configurare ciascun host e come creare un gateway che connette gli host locali a Internet. Inoltre si vedrà come configurare con facilità e poi gestire servizi come DNS, Samba, Sendmail e un sito Web. La Parte terza si occupa di Linux come una workstation desktop. Qui si parlerà dei vari tipi di ambienti e di applicazioni disponibili per Linux a partire da KDE e Gnome. Verranno descritte in dettaglio varie funzionalità quali gli applet, il pannello e gli strumenti di configurazione. Con queste interfacce è possibile eseguire le applicazioni utilizzando icone, menu e finestre. Inoltre si può sempre aprire una finestra terminale per introdurre i comandi Linux alla riga di comando. Si può anche scegliere di utilizzare semplicemente la riga di comando di Unix. Verranno quindi esaminati la shell BASH e i suoi file, le sue directory e i suoi filtri. Quindi si parlerà delle applicazioni disponibili per Linux, a partire dai programmi per l’ufficio come KOffice e Star Office. Poi si parlerà dei vari database disponibili e dei siti Web da cui possono essere prelevati. Sono disponibili anche vari editor di testi, fra cui molti editor Gnome e KDE, oltre ai classici editor Vim (enhanced VI), gvim (graphical Vi) e GNU Emacs. La Parte quarta descrive le funzioni di Linux come una workstation di rete. Qui si parlerà in dettaglio delle molte applicazioni utilizzabili sul sistema Linux. Linux installa automaticamente le applicazioni per la posta elettronica, i gruppi di discussione, FTP e un browser Web oltre ai server FTP e Web. Sia KDE che Gnome sono dotati di un gran numero di applicazioni. Vi sono anche molti client di posta INTRODUZIONE XIX elettronica indipendenti, programmi per gruppi di discussione e strumenti Internet indipendenti che possono essere installati con facilità sul desktop. La Parte quinta si occupa dei vari server che possono essere eseguiti in Linux, fra cui i server FTP, Web e DNS. I server Internet sono ormai componenti integrati della maggior parte dei sistemi Linux. Vengono presentati il server FTP wu-ftpd e il più recente server ProFTPD. ProFTPD offre funzionalità più avanzate quali i siti FTP virtuali. Il capitolo sul server Web Apache descrive le direttive di configurazione standard, come quelle per l’indicizzazione automatica e le più recenti direttive per gli host virtuali. Vengono esaminati in dettaglio i file di configurazione e le funzionalità DNS (Domain Name System) e del relativo server BIND insieme a elementi quali i domini virtuali e gli alias IP. Con Linux è possibile configurare con facilità un server DNS per una rete domestica o una piccola rete locale. Inoltre si parlerà dei server di posta elettronica sendmail e POP. Questa parte descrive anche il server di news INN, il server proxy Squid e i server di ricerca ht:/DIG e WAIS. La Parte sesta si occupa di amministrazione del sistema, fra cui la gestione degli utenti, del software, dei file system, dei device, del Kernel e di X Window. Si troveranno descrizioni dettagliate dei file di configurazione utilizzati per le operazioni amministrative. Innanzitutto si parlerà delle principali operazioni di amministrazione del sistema, fra cui la scelta dei runlevel, il monitoraggio del sistema e la programmazione delle operazioni di chiusura. Poi si parlerà di aspetti relativi alla configurazione e al controllo di utenti e gruppi. Vengono presentati sia gli strumenti grafici utilizzabili per queste operazioni che i relativi file e comandi di configurazione. L’installazione del software è stata semplificata grazie ai sistemi di gestione dei pacchetti come RPM (Red Hat Package Manager) e APT (Advanced Package Tool). Vi sono anche strumenti grafici come Kpackage e GnomeRPM che consentono di installare e disinstallare con facilità il software, un po’ come avviene in Windows. Quindi si parla di varie operazioni sui file system quali il montaggio, la scelta del nome di device e l’accesso ai file Windows. La configurazione dei device riguarda argomenti quali i file device, l’installazione delle stampanti e l’utilizzo dei moduli del Kernel per il supporto di nuovi dispositivi. L’uso, l’aggiornamento e la configurazione del Kernel di Linux con i suoi moduli viene descritto in dettaglio insieme alle procedure per l’installazione dei nuovi Kernel. La parte relativa a X Window riguarda i server XFree86, la configurazione del gestore di finestre, i metodi di avvio del sistema Windows e i comandi di configurazione di Windows. La Parte settima riguarda le operazioni di amministrazione della rete e introduce argomenti quali la configurazione dell’accesso ai file system remoti e del firewall. Vengono presentate le varie interfacce e vari servizi di rete come NFS per Unix, NIS e NetaTALK per AppleTalk. Il capitolo su Samba mostra come accedere ai file system e alle stampanti Windows. Quindi si parlerà di vari aspetti di amministrazione della rete, come le connessioni e i percorsi di rete, i servizi XX INTRODUZIONE DNS, le designazioni dei nomi di host, gli host virtuali IP e il mascheramento IP. Fra gli argomenti relativi alla sicurezza di una rete si parlerà dei firewall e della crittografia utilizzando Netfilter (iptables) per proteggere il sistema, SSH (Secure Shell) per offrire trasmissioni remote sicure e Kerberos per fornire un’autenticazione sicura; inoltre si parla anche del meno recente sistema firewall ipchains. In questo volume vengono descritte le procedure di installaNOTA zione del sistema e l’uso dei programmi applicativi e di configurazione nella loro versione inglese; questa scelta è dovuta al fatto che talvolta la versione italiana delle applicazioni non risulta localizzata in modo perfetto.