Linux Ubuntu per Server e Reti.pdf

December 8, 2016 | Author: IacopoDivareseSpino | Category: N/A
Share Embed Donate


Short Description

Download Linux Ubuntu per Server e Reti.pdf...

Description

Linux Ubuntu i

per server e reti *pro DigitalLifeStyle Alessandro Di ilicola

isario per installare e amministrare un server » li risorse con macchine Linux e Windows » configurazione di web server, mail server e DOS server » reare un completo fììedia Center e metterlo in rete »

EDIZIONI

FAG MILANO

* >ro DigitalLifeStyle

kl centro non c'è la macchina. ci siamo noi. Con la nostra voglia di capire e ili fare. Informazione essenziale ma completa, raccolta direttamente sul campo. Ecco i libri Digital UfeStyle Pro. Uno strumento nuovo, per nuovi lettori, che nel digitale trovano la loro passione o la loro professione.

Linux Ubuntu per server e reti

Quando si pensa al sistema operativo Linux in ambito server si pensa solitamente ad austeri centri di calcolo, ad ambienti di ricerca all'avanguardia e a enormi reti di computer. Un server Linux, però, può essere anche un comune PC e una rete di computer può essere costituita, perché no, da una manciata di macchine. Una rete di tal fatta può venire sfruttata per condividere una medesima stampante fra più PC o per creare un file server grazie al quale i membri di un team di lavoro possono scambiarsi documenti con estrema facilità. Singole macchine, poi. possono essere adibite al ruolo di uieb server e mail server oppure, ancora, possono venire impiegate per allestire dei media center. Ouesto libro spiega come costruire dalle fondamenta reti e server basati su Linux, utilizzando come guida la distribuzione Ubuntu Server: la scelta di un'unica distribuzione consente di fornire informazioni mirate su strumenti specifici e di guidare passo per passo il lettore anche nelle procedure più articolate, per guanto molte indicazioni di carattere metodologico fornite nel libro abbiano un valore generale.

Tra gli argomenti trattati •

Installazione di Ubuntu Server sui PC della rete, con indicazioni su quali filesystem impiegare e quale software installare per i singoli compiti. • L'ambiente di lavoro di un server: la shell, gli editor principali, gli strumenti per gestire la rete e quelli per creare copie di backup dei dati. • L'amministrazione del sistema da remoto con strumenti sicuri. Vengono trattate anche l'amministrazione via uieb e quella mediante interfaccia grafica. •

Installazione e configurazione dei principali software server. Dal filesystem di rete (1FS al server CUPS per la condivisione delle stampanti, dal web server Apache al mail server Postfix. • Come costruire dalle fondamenta un flledia Center audio o audio/video.

L'autore Alessandro Di nicola collabora con riviste di informatica come Linux Pro e Linux (llagazine, per la quale redige mese per mese l'articolo di copertina, ed è dottore in Lettere moderne. Ha precedentemente pubblicato per le Edizioni FA6 il libro "Linux Ubuntu per l'uso desktnn"

Edizioni FAG srl via Garibaldi. 5 - 20090 Assago (mi) tel.024885241 -uiujuj.fag.it ujujuj.digital-lifestyle.it

ISBN

€ 25,00

9

978-88-8233-7

788882

3374

9

*

i

f



r *

J

C

W

per server e reti

Alessandro Di Nicola

EDIZIONI

FAG MILANO

Linux Ubuntu per server e reti A u t o r e : Alessandro Di Nicola Collana:

* ro .

Life

Publisher: Fabrizio Comolli P r o g e t t o grafico: escom - Milano ISBN: 978-88-8233-744-5

Copyright © 2008 Edizioni FAG Milano

Via G. Garibaldi 5 - 20090 Assago (MI) - www.fag.it Finito di stampare: nel mese di novembre 2008 da escom - Milano

Nessuna parte del presente libro può essere riprodotta, memorizzata in un sistema che ne permetta l'elaborazione, né trasmessa in qualsivoglia forma e con qualsivoglia mezzo elettronico o meccanico, né può essere fotocopiata, riprodotta o registrata altrimenti, senza previo consenso scritto dell'editore, tranne nel caso di brevi citazioni contenute in articoli di crìtica o recensioni. La presente pubblicazione contiene le opinioni dell'autore e ha lo scopo di fornire informazioni precise e accurate. L'elaborazione dei testi, anche se curata con scrupolosa attenzione, non può comportare specifiche responsabilità in capo all'autore e/o all'editore per eventuali errori o inesattezze. Nomi e marchi citati nel testo sono generalmente depositati o registrati dalle rispettive aziende.L'autore detiene i diritti per tutte le fotografie, i testi e le illustrazioni che compongono questo libro. Si ringraziano CanonicaI e il progetto Ubuntu per l'uso del logo in copertina (il libro è una pubblicazione indipendente e non è formalmente collegato né a Canonical né al progetto Ubuntu). The book is not endorsed by Canonical and is not related to the Ubuntu project in any way.

Sommario INTRODUZIONE 1.

2.

3.

INSTALLAZIONE

11

Il CD di installazione Avvio dal CD Installare Ubuntu Server Il partizionamento dei dischi I dischi in RAID Dati utente e software

11 13 15 20 37 44

GESTIRE IL SISTEMA

47

Amministrare gli utenti La gestione dei pacchetti Le partizioni

47 60 75

GLI STRUMENTI DELL'AMMINISTRATORE

91

La shell Bash L'editor vi

4.

5.

6.

7

LOG E PROCESSI PERIODICI

91 108

123

Gestire i log Processi periodici con cron

123 130

IL SERVER È IN RETE

137

Le informazioni di base Le reti Wi-Fi Gli strumenti di controllo

137 150 159

C O N F I G U R A Z I O N E AVANZATA DELLA RETE II firewall Proteggere i servizi

163

163 174

7.

AMMINISTRARE D A R E M O T O Un terminale remoto Amministrazione dal w e b Q u a n d o il server grafico è remoto

8.

CONDIVIDERE IN RETE Il server di stampa Filesystem di rete NFS Condividere con Samba

9.

IL BACKUP Copiare intere partizioni Il backup di file e directory Bacula, un server per il backup

10. COSTRUIRE UN MEDIA CENTER Server musicale Il Media Center c o m p l e t o

11.1 SERVER Il mail server Postfix FTP server con vsftpd Il w e b server Apache Il server DNS BIND

12. OTTIMIZZARE IL SISTEMA Compilazione del kernel Compilare i p r o g r a m m i

183 183 195 204

211 211 218 222

231 231 239 247

261 261 264

273 273 278 281 289

297 297 301

Introduzione Enormi stanze piene di c o m p u t e r rumorosi, misteriosi centri di calcolo sotterranei con centinaia di a d d e t t i che si aggirano in camice bianco, reti cablate che si estendono per chilometri e chilometri... Solitamente quand o si pensa a delle macchine server la fantasia galoppa e l'immaginazione ha il sopravvento sulla realtà. Un server, però, p u ò essere un normale PC desktop e una rete p u ò essere costituita da uno sparuto numero di macchine. Ma a cosa potrà mai servire applicare a tale ambiti limitati tecnologie e conoscenze sviluppate in ambienti di ricerca e industriali? Innanzitutto, una rete di c o m p u t e r p u ò risultare utile per condividere una medesima stampante tra più macchine, o p p u r e per facilitare lo scambio di file tra colleghi di lavoro; un comune PC, inoltre, p u ò diventare un pratico w e b server per la gestione di pagine interne aziendali o p p u r e un mail server per lo smistamento della posta elettronica. Infine, è possibile sfruttare in a m b i t o domestico gli strumenti solitamente impiegati nella gestione dei server per costruire pezzo per pezzo un duttile ed economico Media Center: insomma, dagli austeri centri di calcolo si è passati al salotto di casa! In questo libro viene spiegato come allestire server e reti utilizzando Linux, un sistema operativo libero e gratuito: tale sistema può essere usato in piena libertà da qualsiasi utente e le linee di codice che lo c o m p o n g o no possono essere esaminate e modificate da chiunque. A causa della libertà con cui è possibile intervenire sul sistema, Linux è disponibile in varie versioni, che v e n g o n o chiamate distribuzioni (o "distro"): una distribuzione non è altro che l'insieme costituito dal kernel Linux e da un numero variabile di p r o g r a m m i ausiliari.

Il centro nevralgico di Linux, il cosiddetto kernel del sistema operativo, è stato creato nel 1991 da Linus Torvalds e attualmente viene sviluppato da programmatori sparsi in tutto il mondo. Nel sistema operativo Linux sono incluse le applicazioni GNU (GNU is Not Unix, un progetto nato per la creazione di un sistema operativo libero): per questo motivo, il nome per esteso del sistema operativo dovrebbe essere GNU/Linux.

Questo libro adotta come distro di riferimento U b u n t u Server 8.04 LTS: si tratta di una distribuzione solida, completa e semplice da installare, espressamente sviluppata per l'allestimento di sistemi server. La dicitura LTS sta per Long Term Support e contraddistingue le release della distribuzione per le quali viene fornito un supporto della durata di cinque anni dal m o m e n t o del rilascio: per quest'arco di t e m p o , d u n q u e , verranno corrette falle di sicurezza e saranno risolti i b u g rilevanti nelle applicazioni.

A differenza di Ubuntu Server, nella versione di Ubuntu dedicata all'utenza desktop il supporto per le release LTS è di tre anni. Nelle normali release di Ubuntu, quelle prive della dicitura LTS e che vengono rilasciate ogni 6 mesi, il supporto ha invece una durata di soli 18 mesi.

Ubuntu Server è una distro derivata da Debian, una storica distribuzione Linux: questo significa che le istruzioni e le nozioni fornite in questo libro risulteranno valide, richiedendo solo minimi adattamenti, anche nel caso di utilizzo di sistemi Debian. Nel caso di altre distribuzioni, invece, le modifiche necessarie per adattare comandi e procedure presenti nei capitoli a seguire possono risultare più rilevanti. Nel primo capitolo del volume viene presentata fin nei minimi particolari la procedura da seguire per installare Ubuntu Server su di un computer: si va dalla configurazione iniziale della rete al partizionamento dei dischi e si giunge, poi, all'inserimento delle informazioni sull'utente principale e al-

l'installazione dei software più importanti. Le più significative tra le t a p p e del percorso di installazione, inoltre, costituiranno la giusta occasione per introdurre alcuni dei concetti di base nell'utilizzo del sistema operativo. Il secondo capitolo comincia illustrando il primo avvio di Ubuntu Server. Vengono quindi presentati gli aspetti fondamentali dell'amministrazione di un server: l'amministrazione degli utenti, l'installazione e la manutenzione del software e, quindi, la gestione delle partizioni presenti sull'hard disk. Nel capitolo successivo si passa all'amministrazione quotidiana di una macchina: si offre una panoramica sui comandi e sulle funzionalità della shell Bash e si presenta l'editor vi. La conoscenza approfondita di questi due strumenti fondamentali consente di gestire al m e g l i o i c o m p i t i più ripetitivi che si trova a svolgere, g i o r n o d o p o giorno, un amministratore di server Linux. Il quarto capitolo fornisce informazioni dettagliate sulla gestione dei log e sull'esecuzione automatica di comandi secondo scadenze prestabilite. Il capitolo seguente del libro, quindi, è dedicato alla configurazione iniziale della rete locale. Si comincia con la presentazione di informazioni generiche e quindi si individuano gli strumenti necessari per inserire una macchina all'interno di una rete cablata o senza fili. Infine, si fa la conoscenza di una manciata di programmi necessari per controllare il corretto funzionamento della rete stessa. Il sesto capitolo costituisce una sorta di spartiacque nel volume. Gli arg o m e n t i nella parte restante del libro si faranno più complessi e anche le conoscenze che si presupporranno acquisite aumenteranno di pari passo. In questo capitolo, quindi, si entra m a g g i o r m e n t e in profondità nella configurazione della rete: si allestisce un firewall, quindi si scopre c o m e condividere una connessione Internet fra più macchine. Infine, si individuano gli strumenti migliori per p r o t e g g e r e i servizi attivi su un server. Nel capitolo successivo, quindi, si scopre come gestire una macchina da remoto. La prima parte del capitolo è dedicata all'amministrazione via terminale e fornisce tutte le informazioni basilari per utilizzare al meglio SSH, un protocollo per la comunicazione sicura tra due macchine in rete. Nelle pagine che seguono, poi, si installa e si configura W e b m i n , un sistema per gestire un PC a distanza tramite una pratica interfaccia web. Infine, nell'ul-

tima parte del capitolo viene presentato TightVNC, il software ideale per tutti coloro che vogliono amministrare una macchina remota senza dover rinunciare alla praticità e alla piacevolezza delle interfacce grafiche. L'argomento dell'ottavo capitolo è la condivisione di risorse all'interno della rete locale, si tratti di stampanti o di directory sull'hard disk del server. L'ultima parte del capitolo è poi dedicata alle reti miste Linux-Windows e presenta una rapida guida all'installazione e all'utilizzo del server Samba. Il nono capitolo fornisce una panoramica sugli strumenti di backup disponibili su Linux: si comincia presentando Partimage, un pratico e semplice software per la creazione di immagini di intere partizioni, poi si passa alla gestione del backup di file con tar e rsync e infine si arriva a installare e a utilizzare Bacula, un p o t e n t e sistema client-server per il backup in rete. Nei due capitoli che seguono, poi, si portano a frutto le conoscenze acquisite nelle sezioni precedenti del volume: per cominciare, si costruisce pezzo per pezzo un c o m p l e t o Media Center basato su Linux, quindi si installano e si configurano i principali software di t i p o server, dal w e b server Apache al mail server Postfix. Il capitolo conclusivo, infine, contiene informazioni dettagliate su c o m e sfruttare al meglio l'hardware su cui è stato installato Linux Ubuntu, ottimizzando il kernel sottostante e c o m p i l a n d o in m o d o o p p o r t u n o alcuni dei programmi utilizzati.

1. Installazione Come

creare il CD

stallare

il

di ubuntu

Server e

in-

sistema s u l l ' h a r d disk.

Per installare Ubuntu Server su una macchina è necessario usare un apposito C D di installazione: per ottenerlo basta scaricare l'immagine ISO d e l CD da Internet e masterizzarla su di un supporto vuoto.

Un'immagine ISO è un singolo file che racchiude l'intero contenuto di un CD o di un DVD.

Il CD di installazione La prima operazione da compiere, d u n q u e , è prelevare l'immagine ISO. Utilizzando un qualsiasi sistema operativo si apre con un w e b browser la pagina: http://www.ubuntu.com/getubuntu e si fa clic sulla linguetta D o w n l o a d U b u n t u . Nella schermata che appare, quindi, si mette la spunta sull'opzione U b u n t u 8.04 LTS Server Edition. Poi, p o c o più sotto, si indica il t i p o di c o m p u t e r sul quale va effettuata l'installazione: se si tratta di un PC con CPU a 32 bit selezionare l'opzione S t a n d a r d personal c o m p u t e r , mentre se si è in possesso di un c o m p u t e r con processore a 64 bit scegliere 6 4 b i t A M D a n d Intel c o m p u t e r s .

I File Modifica Visualizza Cronologia Segnalibri Strumenti Guida I

-

tr

a?

> http://www.ubuntu.com/getubuntu/download

3ubuntu Online training for the desktop

: Ayailatne at the Ubuntu shop te**- w

Get Ubuntu » What is Ubuntu? » Gal Ubuntu • Download ' Puf chase > Request CDs - Release Notes » Upgrading * Countdown • Mirror Ubuntu • Software Catalogue » Mflfchartdis« • Cose Studies -WÉ *'' /etc/iptables.rules"

Il file /etc/iptables.rules adesso conterrà tutte le informazioni sulla configurazione attuale del firewall. Tramite il comando iptabies-restore, quindi, si potrà leggere questo file e ripristinare le regole di iptables memorizzate in esso: sudo iptabies-restore < /etc/iptables.rules

Il modo più semplice per far leggere il file /etc/iptables.rules direttamente all'avvio della macchina è inserire nel file /etc/rc.local una riga che esegua iptabies-restore < /etc/iptabies-restore. Tale riga deve precedere l'istruzione e x i t o al termine del file, come nell'immagine seguente (Figura 6.3).

#!/bin/sh -e # # # # # # # # # #

rc.local This script is executed at the end of each multiuser runlevel. Make sure that the script will "exit 0" on success or any other value on error. In order to enable or disable this script just change the execution bits.

# By default this script does nothing, iptabies-restore

/etc/iptables.rules

exit 0

13,0-1 Figura 6.3 - Il file /etc/rc.local razione del firewall.

dopo che è stata inserita la riga per ripristinare

Tut la

configu-

Questo metodo, però, richiede che in caso di modifiche alle regole del firewall si esegua iptabies-save prima di spegnere la macchina. Per automatizzare la procedura di salvataggio e ripristino delle regole si può quindi richiamare l'esecuzione di iptabies-save e iptabies-restore in /etc/network/interfaces, facendo lanciare il primo comando prima che

venga attivata un'interfaccia di rete (opzione pre-up) e il secondo dopo che questa è stata disattivata (opzione post-down). Una volta che si è individuato in /etc/network/interfaces il blocco di righe relative all'interfaccia di rete utilizzata (per esempio ethO), si inseriscano prima della fine del blocco le due righe seguenti: pre-up iptables-restore < /etc/iptables.rules post-down iptables-save -c > /etc/iptables.rules

Il file /etc/network/interfaces risultante sarà simile a quello visibile in Figura 6.4. auto lo iface lo inet loopback

mmmm • • • H i

auto ethO iface ethO inet static address 192.168.1.4 netmask 255.255.255.0 pre-up iptables-restore < /etc/iptables.rules post-down iptables-save -c > /etc/iptables.rules

"/etc/network/interfaces" 9L, 210C scritti

3 ,©-i

Tut

Figura 6.4 - Il file /etc/network/interfaces con le righe per ripristinare salvare e le regole del firewall. Proteggere i servizi In un sistema ben protetto il firewall dovrebbe costituire solo uno degli strumenti adottati per aumentare la sicurezza di una macchina o di un'intera rete. Nei paragrafi seguenti, quindi, verranno presentati file e software aggiuntivi per il controllo degli accessi ai servizi forniti su un server. Si comincerà

facendo la conoscenza dei file di sistema /etc/hosts.allow e /etc/hosts, deny e si procederà poi con l'installazi one e la configurazione di xinetd, un demone che ha lo specifico compito di gestire i servizi. I file hosts.allow e hosts.deny Se si prova ad aprire i due file /etc/hosts.allow e /etc/hosts.deny si scopre che questi contengono una lunga serie di righe di commento: nella configurazione di default risultano quindi essere file vuoti. A g g i u n g e n d o apposite righe in questi file, dunque, è possibile stabilire quali indirizzi possano avere accesso ai servizi forniti dalla macchina.

Jte/hosts.deny: list of hosts that are not allowed to access the syste See the manual pages hosts__ ccess(S) and hosts options(5 /lib/libwrap.so.0 (0xb7f5e000)

significa che il servizio carica la libreria del wrapper TCP (libwrap) e quindi consulta i file hosts.allow e hosts.deny.

Se questo m e t o d o di verifica fallisce nonostante l'eseguibile richiami effettivamente il wrapper TCP si p u ò utilizzare un comando alternativo come questo: strings

servizio

| grep

access

Se fra le righe di output compare hosts_access il servizio indicato legge i due file per il controllo degli accessi.

ale@pitagora:-$ strings /usr/sbin/sshd | grep access hosts access userauth hostbased: access allowed by auth rhosts2 It is recommended that your private key files are NOT accessible by others. ale@pitagora:~$ |

Figura 6.6 - Nell'output di strings servizio / grep access appare quindi, legge hosts.allow e hosts.deny.

hosts.access.

Il servizio,

Il super-server xinetd Un demone viene comunemente attivato al b o o t della macchina e risulta così sempre disponibile, anche quando dalla rete non giungono

richieste

per il relativo servizio. Installando un super-server, invece, è possibile avviare un demone solo nel momento in cui il servizio che questo fornisce viene effettivamente contattato. Il super-server x i n e t d è una versione potenziata del vecchio inetd. Nella release presente nei repository di Ubuntu Server 8.04 xinetd legge anche il file di configurazione di inetd (/etc/inetd.conf): ciò può risultare utile nel caso si stesse migrando una macchina da una vecchia versione di Linux, in cui è stato installato e configurato inetd, a Ubuntu.

Si è scritto nel paragrafo precedente che il wrapperTCP viene richiamato anche da un super-server. Nel caso di xinetd, dato che questo fornisce un proprio sistema di controllo degli accessi ai servizi, quando arriverà dalla rete una richiesta per un determinato servizio verrà prima letto e interpretato il contenuto dei file /etc/hosts.allow e /etc/hosts.deny e solo successivamente, se al client verrà concesso l'accesso, si consulterà la configurazione di xinetd relativa alla gestione delle connessioni. Il pacchetto di xinetd non è presente nella dotazione di default di Ubuntu Server. Va quindi installato con il comando seguente: sudo

apt-get

instali

xinetd

Il file di configurazione principale di xinetd è /etc/xinetd.conf, ma vengono letti dal super-server anche i file presenti all'interno della directory /etc/xinetd.d: in questa sono raccolti i file di configurazione di default per i singoli demoni. Tali file vengono creati in automatico durante l'installazione dei relativi pacchetti.

§ default: off # description: An RFC 868 time server. This protocol provides a # site-independent, machine readable date and time, The Time service sends back # to the originating source the time in seconds since midnight on January first # 1900, # This is the tcp version. service time {

}

disable yes type = INTERNAL id -• time-stream socket type = stream protocol = tcp user = root wait = no

# This is the udp version. service time { disable yes type = INTERNAL id time-dgram •time' 28L, 72/>:: Figura 6.7-11 contenuto /etc/xinetd.d.

l,l del file time, uno dei file di configurazione

di default

Cim presenti

in

La struttura di xinetd.conf e dei file in /etc/xinetd.d è la medesima. Per configurare un servizio si crea un blocco di righe che inizia con service e in cui le righe contenenti le opzioni di configurazione sono racchiuse tra parentesi graffe. Ecco un esempio: service ftp { server user socket_type wait log__on_success log_on_failure only_from

= = = = = = =

/usr/sbin/proftpd root stream no HOST PID HOST RECORD 192.168.1.0/24

In questo blocco di righe si definiscono i parametri del servizio FTP (service ftp). Questo servizio viene fornito dal demone proftpd (server = /usr/sbin/proftpd) e l'utente che esegue il processo è root (user = root). Il socket è di tipo stream (socket^type = stream), dato che si tratta di un servizio TCP, e la riga wait = no indica che il super-server deve continuare a rispondere a nuove richieste una volta che il servizio è stato avviato. Le due righe successive iog_on_success e iog_on_failure, quindi, impostano la gestione dei log per il singolo servizio, mentre la riga finale stabilisce che l'accesso al server FTP è concesso solo alle macchine della rete 1 9 2 . 1 6 8 . 1 . 0 / 2 4 (only_from = 192.168.1.0/24).

Nella Tabella 6.4 vengono elencate le principali opzioni disponibili per la configurazione di xinetd. Tabella 6.4 - Le opzioni per configurare x i n e t d . I

Significato

Opzione server

user

L'eseguibile del d e m o n e da avviare quando si richiede il servizio L'utente che deve avviare il demone Determina se d o p o aver avviato il d e m o n e bisogna ac-

wait

cettare nuove richieste. Se il servizio è multi-threaded il valore è no, se è single-threaded il valore è yes

Opzione

Significato

socket_type

qpacket. Si sceglie stream per i servizi TCP e dgram per

Il t i p o di socket. Può essere stream, dgram, raw o sei servizi UDP

bind

instances

Indica l'indirizzo dell interfaccia di rete su cui va reso disponibile il servizio Il numero massimo di server che possono essere attivi simultaneamente per un servizio Il primo argomento indica il numero massimo di con-

cps

nessioni per secondo. Il secondo argomento indica i secondi da attendere prima di ripristinare il servizio quando si supera il numero massimo di connessioni

Gli ultimi ritocchi per xinetd In un sistema che fornisce servizi ad altre macchine in rete, un'accorta politica di gestione dei log è fondamentale. Il super-server xinetd, quindi, fornisce due parametri di configurazione da utilizzare allo scopo, iog_on_ success e log_on_failure.

Il primo controlla quali informazioni devono comparire nei log quando la connessione a un servizio avviene con successo. I principali valori che è possibile inserire per questo parametro sono PID (mostra nei log il PID del processo del server), HOST (mostra l'indirizzo dei client connessi al server), USERID (mostra l'user id dell'utente remoto) e DURATION (mostra la durata dell'accesso). Il parametro iog_on_faiiure, invece, gestisce i log per tutte le connessioni fallite. I valori che può assumere questo parametro sono HOST, USERID e ATTEMPT (rivela nei log che è avvenuto un tentativo fallito di connessione). L'ultimo valore è implicito se si indicano gli altri.

Stabilito cosa si vuole inserire nei log, si ha la possibilità di determinare dove questi vadano memorizzati. Tramite l'opzione iog_tyPe si può scegliere se sfruttare il classico gestore di log sysiog (valore zione) o salvare i log direttamente su un file (valore Nel caso si indichi come valore

SYSLOG,

SYSLOG

per l'op-

FILE).

si deve aggiungere la faciIity di

syslog desiderata (authpriv, daemon, mail e così via) e opzionalmente il livello del log (alert, err, info ecc.). Se non viene indicato alcun livello si assume per default il livello info. Ecco un esempio: log_type = SYSLOG auth_priv

Il valore

FILE

del parametro iog_type, invece, richiede l'inserimento ag-

giuntivo del percorso completo del file che deve contenere i log. La riga seguente presenta un esempio per il valore

FILE:

log_type = FILE /var/log/xinetd.log

Nella configurazione di xinetd è possibile indicare dei valori predefiniti per alcuni parametri: questi saranno validi per tutti i servizi che non specificano ulteriori valori per i medesimi parametri. Per fare ciò si crea un particolare blocco di configurazione che inizia con la riga defauits: defaults cps instances log_on_success log_on_faiIure log_type

= 3 0 60 = 50 = HOST

PID

=

HOST

=

SYSLOG

authpriv

Il blocco defauits si inserisce nel file /etc/xinetd.conf (Figura 6.8). In questo modo, il file di configurazione principale conterrà i soli parametri generici, mentre la configurazione dei singoli servizi sarà demandata ai file posti nella directory /etc/xinetd.d. Per controllare tramite hosts.allow e hosts.deny gli accessi a un servizio gestito da xinetd si fa riferimento al parametro server, inserito nella configurazione del servizio.

# Simple configuration file for xinetd #

# Some defaults, and include /etc/xinetd.d/

>

cps = 30 60 instances = 50 log on success a HOST PID log on failure = HOST log type = SYSLQG authpriv

includedir /etc/xinetd.d

13,0-1

Tut

Figura 6.8 - Il file /etc/xinetd.conf con la sezione defaults per impostare f parametri predefiniti per i servìzi. Per e s e m p i o , se in un file di configurazione di x i n e t d il b l o c c o di

righe

per il service ftp Contiene server = /usr/sbin/proftpd, in Un i p o t e t i c o file hosts.allow, per riferirsi a tale servizio, si utilizzerà proftpd, c o m e nella lìnea s e g u e n t e : proftpd: 192.168.1.* Nel caso non fosse presente alcun p a r a m e t r o server nella configurazione di un servizio, in hosts.allow e hosts.deny ci si riferirà a q u e s t o richiamand o il n o m e indicato nella riga service della configurazione di x i n e t d relativa al servizio stesso.

r " " :

7. Amministrare da remoto Gestire a distanza

una macchina con un

semplice terminale, via w e b o mediante una completa interfaccia

grafica.

Spesso non si ha accesso diretto a una macchina server. Magari perché il luogo fisico in cui questa si trova dista decine o centinaia di chilometri o magari perché, semplicemente, non è previsto che si abbia accesso al computer. In questi casi l'amministrazione della macchina avviene da remoto, con gli strumenti che si reputano più idonei: uno spartano ma efficiente terminale, un'interfaccia web o un vero e proprio client grafico. In questo capitolo, dunque, viene presentata una panoramica delle principali applicazioni disponibili per gestire comodamente un computer a distanza.

Un terminale remoto Gestire una macchina remota mediante un semplice terminale può risultare la soluzione ideale in molte circostanze: l'occupazione di banda è irrisoria, gli strumenti da adottare sono di facile configurazione e le operazioni di intervento sulla macchina, una volta presa confidenza con i diversi programmi a linea di comando, possono risultare estremamente rapide.

Un semplice strumento per l'amministrazione remota è il classico Telnet. Purtroppo, si tratta d i un sistema client-server scarsamente sicuro: basti pensare al fatto che le password inserite al login passano in chiaro nella rete. Al posto di Telnet è fortemente consigliabile utilizzare

SSH ( s e c u r e

sheii),

un protocollo con il relativo software che consente il collegamento a una macchina remota mediante connessione criptata.

ale@pitagora:~$ ssh 192.168.1.4 The authenticity of host '192.168.1.4 (192.168.1.4) 1 can't be established. RSA key fingerprint is 46:9f:Od:12:b7:a8:73:89:dd:84:5f:8a:cf:40:db:al. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '192.168.1.4' (RSA) to the list of known hosts. [email protected]'s password: Linux pitagora 2.6.24-19-generic #1 SMP Fri Jul 11 23:41:49 UTC 2008 i686 The programs included with the Ubuntu system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. To access official Ubuntu documentation, please visit: http://help.ubuntu.com/ Last login: Sat Aug 2 08:56:31 2008 ale@pitagora: |

Figura 7.7 - SSH consente

di amministrare

una macchina

da remoto

in piena

sicurezza.

Teoria di funzionamento di §5H Il sistema di autenticazione del protocollo SSH è basato sull'uso della cosiddetta crittografia asimmetrica. Si tratta di una forma di cifratura che adotta una coppia di chiavi per il proprio funzionamento, una chiave privata e una pubblica: la chiave privata è presente sulla sola macchina locale ed è conosciuta esclusivamente dall'utente che gestisce questa macchina, mentre la chiave pubblica viene consegnata a tutti coloro con i quali la macchina deve entrare in contatto e può essere diffusa in piena libertà.

In un sistema di crittografia asimmetrica è la corrispondenza tra chiave privata e chiave pubblica a permettere la comunicazione tra sistemi e lo scambio di dati cifrati. In termini generali, infatti, un'informazione criptata con una chiave pubblica può essere decriptata solo da colui che abbia accesso alla

rispetti-

va chiave privata, mentre un'informazione criptata con una chiave privata può essere decodificata da tutti coloro che possiedano la relativa chiave pubblica. Quindi, l'operazione di cifratura tramite chiave pubblica permette di nascondere un'informazione e rivelarla a un unico destinatario. Cifrare mediante chiave privata, invece, consente di inviare un'informazione con un "attestato di paternità": infatti, tutti coloro che hanno accesso alla chiave pubblica di riferimento possono controllare l'effettiva corrispondenza con la chiave privata impiegata durante la procedura di cifratura. La doppia chiave impiegata della crittografia asimmetrica, dunque, è il meccanismo mediante il quale ci si accerta di essersi effettivamente connessi a uno specifico server SSH ed è anche il meccanismo grazie al quale ci si p u ò collegare a un server SSH in m o d o sicuro, senza l'impiego di password. SSH sul lato server SSH è un sistema client-server. Dunque, bisogna installare un'applicazione server sul PC che va amministrato da remoto (la macchina server) e delle applicazioni client su tutti i PC (le macchine client) dai quali si desidera gestire il computer remoto. Innanzitutto, quindi, è necessario allestire opportunamente il PC da amministrare. Su questo computer, nel caso non si fosse scelto di includere OpenSSH server durante l'installazione iniziale del sistema operativo, bisogna installare manualmente il pacchetto openssh-server con il comando sudo a p t - g e t i n s t a l i

openssh-server.

L'installazione del pacchetto comporterà la creazione della coppia di chiavi SSH per la macchina server e l'attivazione del demone sshd al boot della macchina. A questo punto il server SSH è in funzione e non rimane che configurare i PC che avranno la funzione di client.

ale@pitagora:-$ sudo apt-get install openssh-server Lettura della lista dei pacchetti in corso... Fatto Generazione dell'albero delle dipendenze in corso Lettura delle informazioni di stato... Fatto Pacchetti suggeriti: molly-guard rssh I seguenti pacchetti NUOVI (NEW) saranno installati: openssh-server O aggiornati, 1 installati, 0 da rimuovere e 0 non aggiornati. È necessario prendere QB/254kB di archivi. Iff Dopo questa operazione verranno occupati 676kB di spazio su disco. Preconfigurazione dei pacchetti i n corso Selezionato i l pacchetto openssh-server, che non l o era. (Lettura del database ... 172938 file e directory attualmente installati.) Spacchetto openssh-server (da .../openssh-server_l%3a4.7pl-8ubuntul.2_i386.deb) f| Configuro openssh-server (1:4.7pl-8ubuntul.2) ... Creating SSH2 RSA key; this may take some time . . , Creating SSH2 DSA key; this may take some time . . . * Restarting QpenBSD Secure Shell server sshd

[ OK ]

;iale@pitagora:~$ §

C o n f i g u r a z i o n e d e i clienti S S H Su u n a d i s t r i b u z i o n e D e b i a n o d e r i v a t e , c o m e U b u n t u , il c l i e n t O p e n S S H è c o n t e n u t o n e l p a c c h e t t o o p e n s s h - c l i e n t . Su U b u n t u e U b u n t u

Server,

c o m u n q u e , il p a c c h e t t o v i e n e i n s t a l l a t o p e r d e f a u l t .

Tutte le p r i n c i p a l i d i s t r i b u z i o n i f o r n i s c o n o p a c c h e t t i p r e c o m p i l a t i

del

c l i e n t O p e n S S H . Nel caso si v o g l i a p r o c e d e r e alla c o m p i l a z i o n e

del

p r o g r a m m a , la p a g i n a w e b da cui partire p e r scaricare i s o r g e n t i è h t t p : / / w w w . o p e n s s h . c o m / . Un v a l i d o c l i e n t SSH p e r W i n d o w s è invece Putty (http://www.chiark.greenend.org.uk/~sgtatham/putty/).

U n a v o l t a c h e sul P C d a a m m i n i s t r a r e d a r e m o t o è s t a t o i n s t a l l a t o O p e n S SH s e r v e r e su u n a m a c c h i n a è p r e s e n t e O p e n S S H c l i e n t , l a n c i a n d o

su

q u e s t ' u l t i m a il c o m a n d o s s h s e g u i t o d a l l ' i n d i r i z z o d e l s e r v e r v e r r à a v v i a t a una c o n n e s s i o n e SSH cifrata v e r s o q u e s t ' u l t i m o .

Ecco un e s e m p i o : s s h 1 9 2 . 1 6 8 .1.4 La p r i m a v o l t a c h e si e f f e t t u e r à il c o l l e g a m e n t o a u n s e r v e r S S H sarà m o s t r a t o in o u t p u t il " f i n g e r p r i n t " d e l s i s t e m a r e m o t o e v e r r à c h i e s t o a l l ' u t e n t e di c o n f e r m a r e l'autenticità d e l server. Un f i n g e r p r i n t n o n è altro

che

la v e r s i o n e r i d o t t a d i u n a c h i a v e p u b b l i c a e v i e n e u s a t o p e r r e n d e r e p i ù p r a t i c a la c o m u n i c a z i o n e d i u n a c h i a v e e p e r la v e r i f i c a d i q u e s t a . Per c o n o s c e r e il f i n g e r p r i n t d i u n s e r v e r S S H si d e v e e s e g u i r e il c o m a n d o ssh-keygen

-if s u l l a s t e s s a m a c c h i n a s e r v e r . Il c o m a n d o v a

lanciato

f a c e n d o l o s e g u i r e d a l p e r c o r s o d e l f i l e sul s e r v e r c h e c o n t i e n e la c h i a v e p u b b l i c a d e l s i s t e m a . Se v i e n e i m p i e g a t o l ' a l g o r i t m o d i c i f r a t u r a R S A (al m o m e n t o d e l l a p r i m a c o n n e s s i o n e la s c r i t t a c h e a p p a r e è " R S A k e y f i n g e r p r i n t i s " ) , il c o m a n d o d a e s e g u i r e è: ssh-keygen

-lf

/etc/ssh/ssh_host_rsa_key.pub

N e l c a s o , i n v e c e , d i u t i l i z z o d e l l ' a l g o r i t m o D S A il c o m a n d o d i v e n t a il s e guente: ssh-keygen

-lf

/etc/ssh/ssh_host_dsa_key.pub

Per r a g i o n i d i sicurezza è s c o n s i g l i a b i l e e s e g u i r e il c o m a n d o ssh-keyg e n -lf d a / e m o t o . Un m e t o d o sicuro p e r c o n o s c e r e il f i n g e r p r i n t d i un sistema è lanciare il c o m a n d o d i r e t t a m e n t e d a l server. Un altro m e t o d o c o n s i g l i a t o è q u e l l o di farsi c o m u n i c a r e il f i n g e r p r i n t d a l l ' a m m i n i s t r a t o r e d e l server stesso.

D o p o a v e r c o n t r o l l a t o c h e il f i n g e r p r i n t m o s t r a t o d a ssh c o r r i s p o n d a

ef-

f e t t i v a m e n t e a q u e l l o a p p a r t e n e n t e al s e r v e r a u t e n t i c o , si d i g i t a y e s s u l l a t a s t i e r a e si p r e m e I n v i o . A q u e s t o p u n t o si i n s e r i s c e la p a s s w o r d d e l l ' u t e n t e i m p o s t a t a s u l l a m a c c h i n a s e r v e r e si o t t i e n e c o s ì l ' a c c e s s o al s i s t e m a .

ale@pitagora:-$ ssh-keygen -If /etc/ssh/ssh_host_rsa_key.pub 2048 ee:f4:05:16:19:d5:27:cf: 21:24:b6:al : 92: 31:82:81 /etc/ssh/ssh host_rsa_key.p ub ale@pitagora:--$ |

Figura 7.3 - Con ssh-keygen -If si visualizza il fingerprint corrispondente alla chiave pubblica di un sistema. Il c o m a n d o s s h , p e r d e f a u l t , e f f e t t u a l ' a c c e s s o a l l a m a c c h i n a r e m o t a t r a m i t e l ' u t e n t e a t t i v o al m o m e n t o s u l l a m a c c h i n a c l i e n t : s e a l a n c i a r e s s h è l ' u t e n t e m a r i o , si r i c h i e d e r à l ' a c c e s s o s u l l a m a c c h i n a s e r v e r c o m e m a r i o . P e r f a r e il l o g i n r e m o t o c o n u n u t e n t e d i v e r s o si p r e m e t t a a l l ' i n d i r i z z o d e l s e r v e r il n o m e d e l l ' u t e n t e s e g u i t o d a ssh

come nell'esempio

seguente:

[email protected]

C o n q u e s t o c o m a n d o si a c c e d e t r a m i t e S S H a l l ' a c c o u n t d e l l ' u t e n t e

test

sulla m a c c h i n a c o n indirizzo 1 9 2 . 1 6 8 . 0 . 7 . U n a v o l t a e n t r a t i n e l s i s t e m a , è possibile eseguire i p r o g r a m m i

n e c e s s a r i p e r a m m i n i s t r a r e la m a c c h i n a

p r o p r i o c o m e s e c i si t r o v a s s e d a v a n t i a l l a t a s t i e r a d e l c o m p u t e r Accesso s e n z a

remoto.

password

S f r u t t a n d o le g r a n d i p o t e n z i a l i t à d i u n sistema d i a u t e n t i c a z i o n e a d o p p i a chiave è possibile avere accesso a u n a m a c c h i n a r e m o t a senza d o v e r inserire la p a s s w o r d d i u n u t e n t e . Per q u e s t o b i s o g n a i n n a n z i t u t t o g e n e r a r e su u n PC c l i e n t u n a c o p p i a d i c h i a v i p e r s o n a l i . In u n t e r m i n a l e , q u i n d i , si d i g i t i il c o m a n d o

ssh-keygen.

Poi si p r e m a I n v i o p e r c o n f e r m a r e il p e r c o r s o d i d e f a u l t in cui m e m o r i z z a r e la c h i a v e p r i v a t a .

SSH può fare uso degli algoritmi di firma RSA e DSA per la creazione delle chiavi. Per default ssh~keygen genera una coppia di chiavi RSA. Per creare chiavi che utilizzino l'algoritmo DSA, invece, bisogna lanciare il c o m a n d o ssh-keygen

seguito da -t dsa. L'algoritmo DSA è più rapi-

do nel generare una firma SSH ed è m a g g i o r m e n t e portabile rispetto a RSA. In situazioni normali, però, la scelta tra un algoritmo e l'altro non comporta vantaggi o svantaggi di rilievo.

F a t t o q u e s t o , è p o s s i b i l e i n s e r i r e u n a p a s s p h r a s e p e r p r o t e g g e r e la c h i a v e p r i v a t a : se si i n d i c a u n a p a s s p h r a s e , q u i n d i , sarà n e c e s s a r i o d i g i t a r l a n u o v a m e n t e al m o m e n t o d e l l a c o n n e s s i o n e al s e r v e r r e m o t o . Q u e s t o f o r n i s c e u n ' u l t e r i o r e barriera p r o t e t t i v a nel m a l a u g u r a t o caso in cui un e s t r a n e o si i m p a d r o n i s s e d e l l ' a c c o u n t c o n il q u a l e si a c c e d e al server rem o t o . D i g i t a t a la p a s s p h r a s e , b i s o g n a p o i inserirla d i n u o v o p e r c o n f e r m a .

S e si p r e m e I n v i o a l l a r i c h i e s t a d e l l a p a s s p h r a s e , i n v e c e , si p o t r à p o i e n t r a r e n e l l a m a c c h i n a s e r v e r s e n z a d o v e r d i g i t a r e n u l l a o l t r e al c o m a n d o s s h . A q u e s t o p u n t o b i s o g n a c o p i a r e la c h i a v e p u b b l i c a a p p e n a g e n e r a t a s u l s e r v e r r e m o t o , i n s e r e n d o l a n e l l a lista d e l l e c h i a v i c o n o s c i u t e

dall'utente

n e l s e r v e r d i c u i v o g l i a m o a s s u m e r e l ' i d e n t i t à . P e r f a r e q u e s t o si u t i l i z z a l ' a p p o s i t o c o m a n d o s s h - c o p y - i d c o n la s i n t a s s i s e g u e n t e : ssh-copy-id

-i - / . s s h / i d _ r s a . p u b

utenteSserver

Il f i l e ~ / . s s h / i d _ r s a . p u b c o n t i e n e la c h i a v e p u b b l i c a d e l l ' u t e n t e

corrente;

in c a s o d i u t i l i z z o d e l l ' a l g o r i t m o D S A il f i l e è ~ / . s s h / i d _ d s a . p u b . A l p o s t o d i u t e n t e ® s e r v e r b i s o g n a i n s e r i r e la m a c c h i n a r e m o t a s u l l a q u a l e si v u o l e o t t e n e r e l ' a c c e s s o e il n o m e d e l l ' u t e n t e c u i si d e s i d e r a i n v i a r e la c h i a v e pubblica (peresempio,

[email protected]).

L a n c i a t o il c o m a n d o , v e r r à r i c h i e s t a la p a s s w o r d d e l l ' u t e n t e i n d i c a t o s u l s i s t e m a r e m o t o . E f f e t t u a t a q u e s t ' u l t i m a o p e r a z i o n e , q u i n d i , t r a m i t e il c o m a n d o s s h si p o t r à a v e r e a c c e s s o a l l a m a c c h i n a s e r v e r s e n z a d o v e r i n s e rire a l c u n a p a s s w o r d .

Rendere il server 5SH più sicura U n a v o l t a c h e si s o n o c o p i a t e s u l s e r v e r S S H t u t t e le c h i a v i p u b b l i c h e d e i client, è p o s s i b i l e m o d i f i c a r e a l c u n e d e l l e i m p o s t a z i o n i d e l server SSH p e r m i g l i o r a r n e la s i c u r e z z a . La p r i m a o p z i o n e s u c u i è c o n s i g l i a b i l e i n t e r v e n i r e è q u e l l a c h e c o n s e n t e l ' a c c e s s o al s i s t e m a r e m o t o t r a m i t e le n o r m a l i p a s s w o r d . Q u e s t a m o d a l i t à di a u t e n t i c a z i o n e , infatti, è i n t r i n s e c a m e n t e m e n o sicura d i q u e l l a m e d i a n te chiave pubblica. Si a p r a c o n l ' e d i t o r d a r o o t il f i l e / e t c / s s h / s s h d _ c o n f i g : sudo v i /etc/ssh/sshd_config Si r i c e r c h i n e l f i l e la r i g a s e g u e n t e : #PasswordAuthentication yes e la si m o d i f i c h i i n : PasswordAuthentication no

P e r u n a p o l i t i c a p i ù s t r i n g e n t e s u g l i a c c e s s i si p u ò p o i e l i m i n a r e la p o s s i b i l i t à d i e n t r a r e n e l s i s t e m a c o m e u t e n t e r o o t . P e r o t t e n e r e q u e s t o la riga PermitRootLogin yes d e v e diventare PermitRootLogin no. Le o p z i o n i d i s p o n i b i l i p e r c o n f i g u r a r e al m e g l i o il s e r v e r S S H s o n o m o l t e p l i c i : p e r u n e l e n c o e s a u s t i v o d i q u e s t e si c o n s i g l i a d i l e g g e r e la m a n p a g e d i s s h d _ c 0 n f i g (man sshd_config).

# To enable empty passwords, change to yes {$B| RECOMMENDED) PermitEmptyPasswcrrds no # Change to yes to enable challenge-response passwords (beware issues with # some PAM modules and threads) ChallengeResponseAuthentication no # Change to no to disable tunnelled clear text passwords |as swordAuthentication no # Kerberos options #KerberosAuthentication no #KerberosGetAFSToken no #KerberosOrLocalPasswd yes #KerberosTicketCleanup yes # GSSAPI options #GSSAPIAuthentication no #GSSAPICleanupCredentials yes XllForwarding yes XllDisplayOffset 10 5IM

Figura 7.5 - Modificando alcune opzioni nel file /etc/ssh/sshd_confìg aumentare la sicurezza di ssh.

74%

è possibile

Una v o l t a a p p o r t a t e le m o d i f i c h e d e s i d e r a t e al file / e t c / s s h / s s h d _ c o n f i g , p e r a g g i o r n a r e la c o n f i g u r a z i o n e d e l d e m o n e s s h d a t t i v o è n e c e s s a r i o l a n c i a r e s u l s e r v e r il c o m a n d o s u d o / e t c / i n i t . d / s s h

reload.

L'usa quotidiana di 55H Se si è s c e l t o d i u t i l i z z a r e u n a p a s s p h r a s e , la c o m o d i t à d i n o n d o v e r i n s e r i r e una password a o g n i connessione remota è certo limitata dal d o v e r digitare, c o m u n q u e , la p a s s p h r a s e s t a b i l i t a p r i m a d e l c o l l e g a m e n t o . È p e r ò p o s s i b i l e f a r e in m o d o c h e la p a s s p h r a s e v e n g a

richiesta

u n a sola v o l t a , così d a n o n

d o v e r l a d i g i t a r e n u o v a m e n t e a o g n i successiva sessione d i ssh.

P e r o t t e n e r e q u e s t o , p r i m a d i a v v i a r e s s h v a l a n c i a t o sul c l i e n t il c o m a n d o seguente: exec ssh-agent

/bin/bash

P o i si e s e g u e s s h - a d d e si d i g i t a la p a s s p h r a s e n e c e s s a r i a p e r la c h i a v e . F a t t o q u e s t o , s s h n o n r i c h i e d e r à a l l ' u t e n t e a l c u n a

sbloccare passphrase

f i n c h é n o n si c h i u d e r à la c o n s o l e a t t u a l e s u l c l i e n t . A l s u c c e s s i v o

login,

q u i n d i , si d o v r a n n o e s e g u i r e d i n u o v o i c o m a n d i e x e c

/bin/

ssh-agent

b a s h e s s h - a d d p e r m e m o r i z z a r e la p a s s p h r a s e .

alegpitagora: ~$ exec ssli-agent /bin/bash ale@pitagora:~$ ssh-add Enter passphrase for /home/ale/.ssh/id_rsa: Identity added: /home/ale/,ssh/id_rsa (/home/ale/,ssh/id rsa) ale@pitagora:-$ |

Nella c o n f i g u r a z i o n e di d e f a u l t d i U b u n t u , alla p a r t e n z a d e l server g r a f i c o v i e n e avviata a n c h e un'istanza di ssh-agent.

Per q u e s t a r a g i o n e , se si

utilizza u n ' i n t e r f a c c i a grafica l'unico c o m a n d o da e s e g u i r e nel t e r m i n a l e p e r far m e m o r i z z a r e la passphrase è

ssh-add.

O l t r e a p o t e r a v v i a r e u n a s e s s i o n e S S H v e r a e p r o p r i a su d i u n

sistema

r e m o t o , il c o m a n d o s s h p e r m e t t e a n c h e d i l a n c i a r e c o m a n d i d i r e t t i , c o m e nell'esempio seguente: s s h s e r v e r . ufficio . l a n p s

aux

Eseguendo questa

riga

si lancia il c o m a n d o

p s

aux sul s i s t e m a

remoto

s e r v e r . u f f i c i o . l a n e l ' o u t p u t r i s u l t a n t e v i e n e m o s t r a t o sul t e r m i n a l e

della

macchina locale. T r a m i t e l ' o p z i o n e - x d i ssh, p o i , è p o s s i b i l e e s e g u i r e a p p l i c a z i o n i g r a f i c h e p r e s e n t i sul s e r v e r v i s u a l i z z a n d o l e s u l l o s c h e r m o d i u n c l i e n t c o m e si t r a t t a s s e d i f i n e s t r e l o c a l i . L a n c i a n d o s s h -X server.ufficio.lan

gcalctool,

p e r e s e m p i o , sul PC s e r v e r . u f f i c i o . l a n v e r r à l a n c i a t o g c a l c t o o l (la c a l c o l a t r i c e d i G n o m e ) , m e n t r e sul PC c l i e n t c o m p a r i r à la f i n e s t r a d e l p r o g r a m m a . Per p o t e r s f r u t t a r e l ' o p z i o n e - x d i ssh è n e c e s s a r i o c h e n e l f i l e / e t c / s s h / sshd_config l'opzione xiiForwardìng abbia valore yes. I n f i n e , n e l p a c c h e t t o o p e n s s l - c l i e n t è c o n t e n u t o il p r o g r a m m a scp, c h e p e r m e t t e d i copiare f a c i l m e n t e d e i file d a una macchina all'altra. È possib i l e t r a s f e r i r e f i l e t r a d u e c o m p u t e r r e m o t i o t r a il PC l o c a l e e u n a m a c c h i na r e m o t a . La sintassi d i b a s e d e l c o m a n d o è e l e m e n t a r e : scp u s e r O h o s t l :filel u s e r @ h o s t 2 :file2 Sia l ' i n d i c a z i o n e d e l l ' u s e r sia q u e l l a d e l l ' h o s t s o n o o p z i o n a l i .

Ecco un

esempio pratico: scp / t m p / d o c u m e n t o . t x t m a r i o @ s e r v e r . ufficio. l a n : d o c C o n q u e s t o c o m a n d o il f i l e / t m p / d o c u m e n t o . t x t p r e s e n t e n e l l a m a c c h i n a locale v i e n e c o p i a t o a l l ' i n t e r n o della d i r e c t o r y d o c nella h o m e d e l l ' u t e n t e m a r i o ( / h o m e / m a r i o / d o c ) sulla m a c c h i n a r e m o t a s e r v e r . u f f i c i o . l a n . Il p r o g r a m m a s c p utilizza ssh p e r il t r a s f e r i m e n t o d e i file e l ' a u t e n t i c a z i o n e n e i sistemi r e m o t i . Q u i n d i , se si è s c e l t o d i a u t e n t i c a r s i t r a m i t e p a s s p h r a s e si d o vrà inserire q u e s t ' u l t i m a (a m e n o c h e n o n si sia a v v i a t o ssh-agent) al m o m e n t o d e l l a c o n n e s s i o n e c o n l'host, a l t r i m e n t i si d i g i t e r à la n o r m a l e p a s s w o r d .

Amministrazione più comoda con screen Q u a n d o ci si c o l l e g a a u n s e r v e r t r a m i t e u n t e r m i n a l e r e m o t o si h a a d i s p o sizione un'unica console, all'interno della q u a l e bisogna effettuare t u t t e le o p e r a z i o n i d i a m m i n i s t r a z i o n e c h e la g e s t i o n e d i u n s e r v e r

richiede.

S a r e b b e c o m o d o , in q u e s t i casi, a v e r e a d i s p o s i z i o n e p i ù t e r m i n a l i fra c u i ripartire c o m o d a m e n t e i diversi c o m p i t i d a svolgere.

Il c o m p a g n o i d e a l e d i ssh è c e r t a m e n t e s c r e e n . Q u e s t o p r o g r a m m a , i n f a t ti, c o n s e n t e di creare e gestire all'interno di u n ' u n i c a sessione di t e r m i n a l e più " f i n e s t r e " , o g n u n a d e l l e quali p u ò c o n t e n e r e una shell o un p r o g r a m m a in e s e c u z i o n e . Si p u ò c o n s i d e r a r e s c r e e n , q u i n d i , c o m e u n a s o r t a d i w i n d o w m a n a g e r p e r la c o n s o l e . Per i n s t a l l a r e il p r o g r a m m a s u U b u n t u S e r v e r si l a n c i a il c o m a n d o apt-get

instali

sudo

screen. Fatto q u e s t o , una volta effettuata t r a m i t e ssh

c o n n e s s i o n e al s e r v e r si a v v i a s c r e e n su q u e s t ' u l t i m o e s e g u e n d o

la

sempli-

c e m e n t e il c o m a n d o s c r e e n . N e l t e r m i n a l e c o m p a r i r à u n a s c h e r m a t a d i b e n v e n u t o ( F i g u r a 7.7). A q u e s t o p u n t o , p r e m e n d o il t a s t o S p a z i o o I n v i o si t o r n e r à al t e r m i n a l e . In a p p a r e n za n u l l a è c a m b i a t o n e l l a c o n s o l e r e m o t a ; in r e a l t à s c r e e n è o r a in f u n z i o n e e a t t e n d e s o l o c h e v e n g a n o p r e m u t e le o p p o r t u n e c o m b i n a z i o n i d i t a s t i .

Screen version 4.00.03 (FAU) 23-Oct-06 Copyright (c) 1993-2002 Juergen Weigert, Michael Schroeder Copyright (c) 1987 Oliver Laumann This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program (see the file COPYING); if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-13O1 USA. Send bugreports, fixes, enhancements, t-shirts, money, beer & pizza to [email protected]

[Press Space or Return to end.] I

Le c o m b i n a z i o n i d i t a s t i c o m i n c i a n o t u t t e c o n C t r l + A . P e r e s e m p i o ,

per

v i s u a l i z z a r e la p a g i n a d i h e l p c h e e l e n c a le c o m b i n a z i o n i d i s p o n i b i l i si p r e m e C t r l + A e p o i ?. Per a p r i r e u n n u o v o t e r m i n a l e " v i r t u a l e " , i n v e c e , si

p r e m e C t r l + A s e g u i t o d a C . U n a lista d e l l e p r i n c i p a l i c o m b i n a z i o n i d i t a s t i in s c r e e n è m o s t r a t a n e l l a T a b e l l a 7 . 1 .

Tabella 7.1 - Le combinazioni di tasti di screen più utilizzate. Tasti Ctrl+A+D Ctrl+A+0...9

Ctrl+A+D Ctrl+A+Ctrl+A

Funzione Apre una nuova console di terminale all'interno dì screen Passa

alla

console

numero

0...9 all'interno

di

screen

Chiude la console corrente Passa a l l ' u l t i m a c o n s o l e u t i l i z z a t a p r i m a d i q u e l l a attuale

Mostra un elenco delle console aperte in screen. Ctrl+A+"

Con i tasti cursore ci si sposta tra le console e con Invio si passa alla console selezionata

Ctrl+A+D

Ctrl+A+?

Funzione " d e t a c h " . Per scollegarsi dalla sessione corrente di screen

Mostra l'help con l'elenco delle combinazioni di tasti riconosciute

La c o m b i n a z i o n e d i t a s t i C t r l + A + D p e r m e t t e d i a b b a n d o n a r e la s e s s i o n e d i s c r e e n in c o r s o s e n z a c h e le c o n s o l e e i p r o g r a m m i a v v i a t i i n e s s a v e n g a n o e f f e t t i v a m e n t e chiusi. Utilizzando questa c o m b i n a z i o n e d i tasti è q u i n d i possibile scollegarsi m o m e n t a n e a m e n t e d a l s e r v e r , p e r p o i r i c o n n e t t e r s i in s e g u i t o r i p r e n d e n d o la s e s s i o n e d a l p u n t o in c u i q u e s t a e r a s t a t a i n t e r r o t t a . P e r r i p r i s t i n a r e la s e s s i o n e a b b a n d o n a t a il c o m a n d o d a e s e g u i r e n o n è p i ù il s e m p l i c e s c r e e n m a s c r e e n -r.

Amministrazione dal web C e r t o , il t e r m i n a l e è u n o s t r u m e n t o p o t e n t e p e r g e s t i r e u n a m a c c h i n a d a r e m o t o m a è anche di uso complesso. A c c e d e r e a un c o m p l e t o

ambiente

g r a f i c o p e r a m m i n i s t r a r e u n server, invece, p u ò risultare u n a scelta

inap-

Linux Llbuntu per s e r v e r e reti

p r o p i n a t a p e r l ' e c c e s s i v a o c c u p a z i o n e d i b a n d a e p e r la r i p e t i t i v i t à

delle

operazioni di manutenzione da svolgere. Un valido c o m p r o m e s s o è costituito d a W e b m i n , un'interfaccia w e b c h e c o n s e n t e d i g e s t i r e u n s i s t e m a in m o d o s e m p l i c e e i m m e d i a t o d i r e t t a m e n te da un c o m u n e w e b browser.

£ile Modifica Visualizza '

&

.

ìJ Webmin íá System '¿i Servers «á Networking

A view Module's Logs fà ^System information: Refresh Modules #Logout

Cronologia

Segnalibri Strumenti

guida

••• b 11 p s ://1 oc a ih osti 10000/

Q

u u e b m i n

System hostname Operating system Webmin version Time on system System uptime CPU load averages Real memory

Pitagora Ubuntu Linux 8.04.1 1.420 Tue Aug 12 11:49:53 2008 3 hours, 31 minutes 0.24 (1 min) 0.26 (5 mins) 0.22 (15 mins) 1.47 GB total. 691.97 MB used

Virtual memory

956.9!

Local disk space

64.32 GB total, 33.84 GB used

4 kB UÍ

https://locaihost:10000/rlght.cgi?open=system&open=status

Figura 7.8 - Amministrare un sistema direttamente dal È possibile con il programma Webmin.

localhost:10000 ¿3 @ Ü (N)

^

web?

Installazione e avvia di webmin W e b m i n n o n è incluso nei repository d i Ubuntu. Ecco q u i n d i i passaggi necessari p e r installarlo: 1. si a p r a c o n u n w e b b r o w s e r la p a g i n a

http://www.webmin.com/

d o w n l o a d . h t m l e si s e g u a il l i n k a l l ' u l t i m a v e r s i o n e d e l p a c c h e t t o d e b d e l p r o g r a m m a . A l m o m e n t o della stesura d e l presente volum e , il l i n k p u n t a a w e b m i n _ 1 . 4 2 0 _ a l l . d e b ; 2.

si s c a r i c h i il f i l e d a l l a r e t e , q u i n d i si a p r a u n a c o n s o l e d i t e r m i n a l e e si e n t r i c o n il c o m a n d o e d n e l l a d i r e c t o r y i n c u i il b r o w s e r s a l v a i d o w n l o a d : s e la d i r e c t o r y è D o w n l o a d il c o m a n d o d a s c r i v e r e s a r à d u n q u e Cd Download;

3.

n e l l a c o n s o l e si l a n c i ¡1 c o m a n d o s u d o g d e b i webrain_l. 420 alla d o m a n d a i n s t a l l a r e il p a c c h e t t o s o f t w a r e ?

all.debe

[S/N] : si r i s p o n -

d a p r e m e n d o il t a s t o S e I n v i o . V e r r à c o s ì i n s t a l l a t o il p a c c h e t t o d i w e b m i n i n s i e m e a t u t t e le d i p e n d e n z e d a e s s o r i c h i e s t e .

ale@pitagora:-$ cd Download/ ale@pitagora:~/Download$ sudo gdebi webmin 1.420_all.deb Reading package lists: Done Reading state information: Done Reading state information: Done Reading state information: Done A web-based administration interface for Unix systems. Using Webmin you can configure DNS, Samba, NFS, local/remote filesystems and more using your web browser. After installation, enter the URL https://localhost:10000/ into your browser and login as root with your root password. Installare il pacchetto software? [s/N]:s Selezionato il pacchetto webmin, che non lo era. (Lettura del database ... 173109 file e directory attualmente installati.) Spacchetto webmin (da webmin_l.420_all.deb) ... Configuro webmin (1,420) ... Webmin instali complete. You can now login to https://Pitagora:10000/ as root with your root password, or as any user who can use sudo to run commands as root. ale@pitagora:-/Download$ | Figura 7.9 -Alcuni

dei passaggi necessari per installare webmin su un PC.

È d i s p o n i b i l e un r e p o s i t o r y D e b i a n n o n ufficiale da cui è p o s s i b i l e installare il p a c c h e t t o d i W e b m i n . Per a g g i u n g e r e il r e p o s i t o r y si inserisce nel file / e t c / a p t / s o u r c e s . l i s t la riga s e g u e n t e : deb http://download.webmin.com/download/repository Poi si salva il file e in un t e r m i n a l e si lancia sudo

sarge contrib

apt-get

update p e r

a g g i o r n a r e la lista d e i p a c c h e t t i . Il p a c c h e t t o w e b m i n c o n t e n u t o in q u e sto r e p o s i t o r y è p i e n a m e n t e c o m p a t i b i l e c o n U b u n t u .

La p r o c e d u r a d i i n s t a l l a z i o n e a v v i a in a u t o m a t i c o il d e m o n e d i c h e sarà p o i l a n c i a t o a o g n i b o o t d e l l a m a c c h i n a .

Webmin,

Per f a r c o m p a r i r e l ' i n t e r f a c c i a d i W e b m i n n e l c o m p u t e r stesso in c u i è s t a t o i n s t a l l a t o il p r o g r a m m a , si a p r a c o n u n b r o w s e r l ' i n d i r i z z o h t t p s : / / l o calhost: 10000. N e l l a p a g i n a c h e a p p a r e b i s o g n a e f f e t t u a r e il l o g i n i n s e r e n d o il n o m e d e l l ' u t e n t e a m m i n i s t r a t o r e e la relativa p a s s w o r d . Se n e l s i s t e m a è a t t i v o l ' u t e n t e r o o t si inserisca q u e s t o , a l t r i m e n t i si p u ò d i g i t a r e il n o m e d e l l'utente principale (quello, cioè, che p u ò acquisire i poteri di root tramite il c o m a n d o sudo) e la relativa p a s s w o r d .

Dato che gli utenti di w e b m i n non coincidono necessariamente con gli utenti di sistema, è possibile accedere all'interfaccia di W e b m i n tramite root senza che questo utente sia attivo nel sistema. Per questo, basta indicare la password di root in w e b m i n mediante il c o m a n d o seguente: sudo /usr/share/webmin/changepass.pl /etc/webmin root password Al posto del parametro finale password va inserita la password che si intende utilizzare per root.

La configurazione iniziale La s c h e r m a t a d i b e n v e n u t o d i W e b m i n f o r n i s c e a l c u n e i n f o r m a z i o n i sul s i s t e m a sul q u a l e è s t a t o i n s t a l l a t o : il n o m e d e l l ' h o s t , il s i s t e m a o p e r a t i v o u t i l i z z a t o , la m e m o r i a d i s p o n i b i l e e così via. A sinistra nella p a g i n a , q u i n d i , è p r e s e n t e u n m e n u c o n t e n e n t e le d i v e r s e s e z i o n i d i W e b m i n c u i è p o s s i b i l e a c c e d e r e e a l c u n e s i n g o l e v o c i p e r richiamare le f u n z i o n a l i t à d i b a s e .

Se si utilizza come browser Firefox 3 per visualizzare l'interfaccia di W e b m i n , al posto della pagina principale del programma apparirà una s c h e r m a t a d i Connessione

sicura

fallita.

Per risolvere il problema si fa clic su Oppure un'eccezione, certificato

p o i s u Aggiungi e i n f i n e s u Conferma

eccezione, eccezione

è possibile

q u i n d i sul p u l s a n t e di

sicurezza.

aggiungere Acquisisci

La p r i m a o p e r a z i o n e d a c o m p i e r e è m o d i f i c a r e a l c u n e d e l l e

impostazioni

d i d e f a u l t d e l p r o g r a m m a . N e l m e n u a s i n i s t r a , q u i n d i , si d e v e f a r e c l i c s u l l a s c r i t t a W e b m i n e t r a le v o c i c h e a p p a i o n o si s e l e z i o n a W e b m i n

Con-

f i g u r a t i o n . A q u e s t o p u n t o , nella parte principale della p a g i n a w e b c o m parirà una serie di icone: o g n u n a di esse r a p p r e s e n t a un d i v e r s o e l e m e n t o d e l l a c o n f i g u r a z i o n e d i W e b m i n su cui è p o s s i b i l e i n t e r v e n i r e .

Eile Modifica Visualizza Cronologia -

Ê

I"»

Login: ale Webmin Backup Configuration Files Change Language and Webmin Actions Log Webmin Configuration Webmin Servers index Webmin Users S3 System i i Servers ill Networking -J Cluster SI others 43 Un-uMKl Moduiï»

A # 3 &

View Module's Logs System Information Refresh Modules Logout

Segnalibri Strumenti

guida

https://localhost: 10000/ Module Config

Webmin Configuration

â "

m

IP Access Control

Ports and Addresses

User interface

Webmin Modules

index Page Options

upgrade Webmin

m

& £

Anonymous Module Access

Advanced Options

O

#

01

A a

Proxy Servers and Downloads

Operating System and Environment

Language

Ö

Reassign Modules

JÜL 1

File Locking

Mobile Device Options

*

«=£3

Debugging Log File



Logging

JL. Blocked Hosts and Users

©

Certificate Authority

SSL Encryption

localhost:10000 & ©

U (H)

Si f a c c i a c l i c s u l l ' i c o n a L a n g u a g e . A p p a r i r à u n a s c h e r m a t a in c u i è p o s s i b i l e s t a b i l i r e il l i n g u a g g i o i m p i e g a t o n e l l ' i n t e r f a c c i a d i W e b m i n . Q u i si s c e l g a I t a l i a n (IT) c o m e v a l o r e d e l l ' o p z i o n e D i s p l a y i n l a n g u a g e e si f a c c i a

clic sul pulsante C h a n g e L a n g u a g e . C o m e si p o t r à n o t a r e , o r a la s e z i o n e d e l m e n u d i W e b m i n a t t i v a al m o m e n t o h a il n o m e t r a d o t t o in i t a l i a n o , C o n f i g u r a z i o n e W e b m i n , e c o s ì le v a r i e i c o n e n e l l a p a g i n a . P e r f a r e in m o d o c h e t u t t a l ' i n t e r f a c c i a p r o g r a m m a a p p a i a in i t a l i a n o b a s t a f a r e c l i c s u l l ' u l t i m a v o c e d e l

del

menu,

L o g o u t , e d e f f e t t u a r e p o i n u o v a m e n t e il l o g i n in W e b m i n . D o p o q u e s t o i n t e r v e n t o " e s t e t i c o " , è il m o m e n t o d i l i m i t a r e g l i a c c e s s i al p r o g r a m m a d a l l ' e s t e r n o . N e l m e n u si e n t r i in W e b m i n e p o i in C o n f i g u r a -

Linux U b u n t u per s e r v e r e r e t i

zione di Webmin, quindi si selezioni l'icona Controllo degli accessi IP. La s c h e r m a t a c h e a p p a r e sarà s i m i l e a l l ' i m m a g i n e s e g u e n t e ( F i g u r a 7 . 1 1 ) .



f « j n i i p s '/loc«lho5i"i

Controllo degli accessi IP mfigurato in modo da impedire o consentire I': icrni di host (come foo.bar.com) e reti IP {com indirizzi sicuri, specialmente se accessibile tramite

¡so ad indirizzi IP predefiniti utilizzando questa pagina. 254.3.0 o 10.254.1.0/255.255.255.128). Dovresti limitare aso contrario, chiunque scopra la Sua password po

# da qualunque indirizzo IP O solo dagli indirizzi elencati O a tutti tranne agli indirizzi elencati

Completato

•ossone avere

accesso

È p o s s i b i l e sia c o n c e d e r e l ' a c c e s s o a u n n u m e r o l i m i t a t o d i i n d i r i z z i IP sia p e r m e t t e r e l'accesso a t u t t i gli indirizzi t r a n n e alcuni. L'opzione

Permetti

l'accesso a Webmin ha tre valori possibili: da qualunque indirizzo IP, solo dagli indirizzi elencati e a t u t t i tranne agli indirizzi elencati. Per p e r m e t t e r e a u n n u m e r o r i s t r e t t o d i i n d i r i z z i d i c o n t r o l l a r e il P C t r a m i t e

l'interfaccia web, quindi, bisogna impostare solo dagli indirizzi elencati c o m e v a l o r e d e l l ' o p z i o n e e, p o i , i n d i c a r e nel r i q u a d r o s o t t o s t a n t e i vari ind i r i z z i IP. S o n o a m m e s s i a n c h e n o m i d i h o s t e i n d i r i z z i d i r e t i ( 1 9 2 . 1 6 8 . 1 . 0 , per esempio). P e r a v e r e a c c e s s o a W e b m i n d a l l a m a c c h i n a l o c a l e , si r i c o r d i d i

aggiun-

g e r e a n c h e 1 2 7 . 0 . 0 . 1 . T e r m i n a t o l ' i n s e r i m e n t o d e g l i i n d i r i z z i si f a c l i c sul p u l s a n t e S a l v a p e r c o n f e r m a r e le m o d i f i c h e a l l e i m p o s t a z i o n i . O r a si p u ò v e r i f i c a r e la c o r r e t t a c o n f i g u r a z i o n e d i W e b m i n a c c e d e n d o a l l a s u a i n t e r f a c c i a d a r e m o t o . B a s t a i n s e r i r e al p o s t o d i 1 2 7 . 0 . 0 . 1

l'indirizzo

d e l P C s u c u i è i n s t a l l a t o il p r o g r a m m a : p e r e s e m p i o , s e l ' i n d i r i z z o IP d a r a g g i u n g e r e è 1 9 2 . 1 6 8 . 1 . 4 , l ' U R L d a d i g i t a r e n e l w e b b r o w s e r sarà tps://192.168.1.4:10000

h i

Come gestire il sistema A questo punto è possibile esplorare i numerosissimi elementi di cui è c o m p o s t a l ' i n t e r f a c c i a d i W e b m i n . N e l l a T a b e l l a 5.1 è m o s t r a t o u n e l e n c o d i t u t t e le s e z i o n i d i s p o n i b i l i n e l m e n u d e l p r o g r a m m a .

Tabella 7.2 - Le sezioni d e l menu di W e b m i n . Sezione Webmin

Un-used Modules

Contenuto

Linux ü b u n t u per s e r v e r e reti

E c c o a l c u n i e s e m p i d ' u t i l i z z o d i W e b m i n . In u n s e r v e r g e s t i t o a d i s t a n z a può

risultare

d i g r a n d e u t i l i t à p o t e r c o n t r o l l a r e il c a r i c o s u l l a m a c c h i n a d e i

s i n g o l i p r o c e s s i in e s e c u z i o n e . P e r f a r e q u e s t o , d a l l ' i n t e r f a c c i a w e b si e n t r a n e l l a s e z i o n e S i s t e m a e si f a c l i c s u l l a v o c e P r o c e s s i i n e s e c u z i o n e . N e l l a s c h e r m a t a c h e a p p a r e v e n g o n o e l e n c a t i t u t t i i processi attivi sulla m a c c h i n a . La riga in a l t o c h e i n i z i a c o n la d i c i t u r a V i s u a l i z z a , q u i n d i , c o n s e n t e d i s c e g l i e r e il c r i t e r i o d i o r d i n a m e n t o p e r i p r o c e s s i : f a c e n d o s u C P U v e r r a n n o v i s u a l i z z a t i i p r o c e s s i s e c o n d o il c a r i c o sul

clic

processore,

mentre selezionando M e m o r i a i primi processi elencati saranno quelli che occupano più RAM. Se u n p r o c e s s o o c c u p a t r o p p a C P U o u n q u a n t i t a t i v o e c c e s s i v o d i R A M è p o s s i b i l e e l i m i n a r l o . B a s t a f a r e c l i c sul n u m e r o d e l p r o c e s s o p o s t o

sotto

il c a m p o I D P r o c e s s o , q u i n d i n e l l a s c h e r m a t a c h e a p p a r e n o n r e s t a c h e

p r e m e r e i pulsanti T e r m i n a o Kill.

I Eile Modifica Visualizza I

~

I Login: ale ¡J Sistema Bootup and Shutdown Cambio Password Comandi pianificati Dischi e rete Filesystem Backup Log File Rotation MIME Type Programs PAM Authentication Pianificazione Cron job Processi in esecuzione Registri di sistema Software Packages System Documentation Users and Groups

Cronologìa

Segnalibri Strumenti

Guida

» https://localhost: 10000/

-lllc;-

j~1 indice modulo

Informazioni sul Processo

Comando ID Processo Proprietario Dimensione

Processo padre CPU 10 (Predefinito)

Livello Nice

/sbin/init 6.3% 00:01:58

:J j Cambia j

Gruppo reale Utente reale Invia Segnale

HUP

;

Termina

Kill

Sospendi h Riprendi

| Controlla Processo | ! File e Connessioni j

S3 Rete -il Hardware a cluster Others i o Un used Modules Search:

A View Module's Logs & System Information S Refresh Modules @ Disconnettiti Completato

P u ò e s s e r e n e c e s s a r i o , a v o l t e , c a m b i a r e d a r e m o t o la p a s s w o r d d i u n u t e n t e . In W e b m i n t a l e o p e r a z i o n e è m o l t o s e m p l i c e : si e n t r a n e l l a s e z i o n e S i s t e m a , si f a c l i c s u C a m b i o P a s s w o r d e , n e l l a s c h e r m a t a c h e a p -

p a r e , si s e l e z i o n a d a l l ' e l e n c o l ' u t e n t e p e r il q u a l e si d e s i d e r a

modificare

la p a s s w o r d . F a t t o c i ò , si d i g i t a la n u o v a p a s s w o r d n e l l o s p a z i o b i a n c o a d e s t r a d i N u o v a p a r o l a d ' o r d i n e e si r e i n s e r i s c e la p a s s w o r d n e l l o s p a z i o s o t t o s t a n t e . I n f i n e , si f a c l i c sul p u l s a n t e C a m b i a . In u n s i s t e m a r e m o t o p u ò r i s u l t a r e u t i l e i m p e d i r e c h e al b o o t d e l l a m a c c h i na v e n g a a v v i a t o un d e t e r m i n a t o d e m o n e , m a g a r i p e r c h é q u e s t o m a n i f e s t a m a l f u n z i o n a m e n t i c h e si v o g l i o n o r i s o l v e r e p r i m a d i l a n c i a r e d i n u o v o il s e r v i z i o a l l ' a v v i o . In W e b m i n si f a c l i c s u l l a v o c e B o o t u p

and Shutdown

della

consueta

s e z i o n e S i s t e m a , q u i n d i si s e l e z i o n a d a l l a lista il s e r v i z i o d a d i s a t t i v a r e e si i n d i c a N o c o m e v a l o r e d e l l ' o p z i o n e S t a r t a t b o o t t i m e ? . P e r f i n i r e si f a

clic su Salva.

£iie Modifica Visualizza Cronologia 4a

4-

-

è

"Ìr

Logìn: ale 3 Webmin Sistema Bootup and Shutdown

Segnalibri Strumenti

Suida

L£ icf- " . "

htt P s://localhost:10000/ j""j configurazione del i i modulo

Comandi pianificati Filesystem Backup Log File Rotation MIME Type Programs Pianificazione Cron Job Processi in esecuzione Registri di sistema Software Packages Users and Groups 3 Server ai Rete S3 Hardware & Cluster

A View Module's Logs =§• System Information 5 Refresh Modules @ Disconnettiti https://iocalhost:10000/init/

I • acpi-support O dlsa-utils • anacron • apmd •japparmor • apport Û atd • avahi-daemon • bluetoot'n • bootclean Q bootlogd • "bootmisc.sh • brltty • checkfs.sh • checkroot.sh • console screen.; • console-setup • cron • cryptdisks n.crvotdisks-earlv

Avvio e Spegnimento ilNrr script to check w BUGS: unless we start »really* late, v ithere to command. Check for daemon presence iThis script stores and restores rr >r levels oi |/etc/init.d/anacron: start anacron ^Advanced Power Management (APM) daemon AppArmor rc file. This rc script inserts the apparmor automatic crash report generation Debian init script for the atd deferred e; Zeroconf daemon for configuring your netw Start bluetooth daemons Starts or stops the bootlogd log program refreshable braille terminals. ¡Used to provide acces Check all filesystems. Check to root file system. iPrepare console Set console font and keymap ;cron is a standard UNIX program localhost:10000 £ ©

Sì (N) V

Figura 7.13 - Webmin consente di gestire anche i servizi avviati al boot della macchina. I n f i n e , s e si d e s i d e r a a b b a n d o n a r e m o m e n t a n e a m e n t e

le i c o n e e i p u l -

santi dell'interfaccia w e b , W e b m i n m e t t e a disposizione d e l l ' u t e n t e

una

pratica Console dei comandi. E n t r a n d o nella s e z i o n e O t h e r s d e l m e n u e f a c e n d o clic su C o n s o l e

dei

c o m a n d i , i n f a t t i , è p o s s i b i l e d i g i t a r e c o m a n d i c o m e s e ci si t r o v a s s e d i

f r o n t e a u n a c o n s o l e d i t e r m i n a l e r i d o t t a a i m i n i m i t e r m i n i . Il c o m a n d o c h e si v u o l e l a n c i a r e v a q u i n d i i n s e r i t o n e l l o s p a z i o b i a n c o v i c i n o al p u l s a n t e E s e g u i il c o m a n d o . D o p o a v e r p r e m u t o I n v i o , l ' o u t p u t d e l c o m a n d o v e r r à m o s t r a t o in a l t o nella s c h e r m a t a c o r r e n t e . La C o n s o l e d e i c o m a n d i f o r n i t a d a W e b m i n , p e r ò , n o n c o n s e n t e d i e s e g u i r e p r o g r a m m i i n t e r a t t i v i ( c o m e p a s s w d , p e r e s e m p i o ) . S e si h a b i s o g n o d i u n t e r m i n a l e r e m o t o a t u t t i g l i e f f e t t i , q u i n d i , f a c e n d o clic sulla

voce

L o g i n T e l n e t / S S H nella stessa s e z i o n e O t h e r s verrà avviata u n a sessione T e l n e t o S S H c o n la m a c c h i n a r e m o t a .

Quando il server grafico è remoto In a l c u n e s i t u a z i o n i f a r e u s o d i u n t e r m i n a l e r e m o t o o d i u n ' i n t e r f a c c i a w e b p e r l'amministrazione di u n a macchina p u ò n o n risultare a p p r o p r i a t o p e r i propri scopi. Q u e l l o c h e serve è un a m b i e n t e grafico c o m p l e t o cui avere a c c e s s o d a r e m o t o in t u t t a c o m o d i t à .

V N C sta per Virtual N e t w o r k C o m p u t i n g ed è un sistema client-server p e r la c o n d i v i s i o n e d e l d e s k t o p : l ' a p p l i c a z i o n e s e r v e r t r a s m e t t e l e i m m a g i ni d e l l ' a m b i e n t e g r a f i c o e q u e s t e v e n g o n o r i c e v u t e d a i v a r i c l i e n t c o l l e g a t i c h e , d i r i m a n d o , i n v i a n o al s e r v e r i n f o r m a z i o n i s u i m o v i m e n t i d e l m o u s e e sulla p r e s s i o n e d e i tasti. In q u e s t o m o d o è p o s s i b i l e g e s t i r e u n s e r v e r d a r e m o t o , a v v a n t a g g i a n d o s i della facilità d ' u s o d e l l e m o d e r n e interfacce grafiche.

Installazione di TightVIMC sul server V N C , nel suo funzionamento di base, richiede molta banda p e r funzionar e a l m e g l i o . Il p r o t o c o l l o s u c u i è b a s a t o V N C c o n s e n t e p e r ò d i r i d u r r e l ' o c c u p a z i o n e d i b a n d a e f f e t t u a n d o la c o m p r e s s i o n e e l ' o t t i m i z z a z i o n e d e i dati grafici d a trasferire. TightVNC è unaversione potenziata di V N C che permette di amministrare una m a c c h i n a r e m o t a a n c h e d i s p o n e n d o d i c o n n e s s i o n i a bassa velocità, o l t r e t u t t o c o n u n ' o c c u p a z i o n e d i m e m o r i a irrisoria. Il p a c c h e t t o s e r v e r d i T i g h t V N C v a i n s t a l l a t o s u l P C c h e si v u o l e c o n t r o l l a r e d a r e m o t o : s u q u e s t o , p e r e s e g u i r e l ' i n s t a l l a z i o n e , si l a n c i il c o m a n d o s u d o apt-get

instali

tightvncserver.

O r a si è p r o n t i p e r a v v i a r e il s e r v e r g r a f i c o d a c o n d i v i d e r e . In u n t e r m i n a l e , q u i n d i , si e s e g u a il c o m a n d o c h e s e g u e : vncserver

:1

Il c o m a n d o a p p e n a i n s e r i t o l a n c i a v n c s e r v e r ( c h e è in r e a l t à u n c o l l e g a m e n t o s i m b o l i c o a l l ' e s e g u i b i l e t i g h t v n c s e r v e r ) o c c u p a n d o il d i s p l a y n u m e r o 1. N o n i n d i c a n d o a l c u n d i s p l a y v e r r à s c e l t o il p r i m o s c h e r m o

che

risulti d i s p o n i b i l e . A q u e s t o p u n t o v i e n e r i c h i e s t o l ' i n s e r i m e n t o d i u n a p r i m a p a s s w o r d d i alm e n o c i n q u e caratteri, che d o v r à p o i essere d i g i t a t a sulle m a c c h i n e client p e r p o t e r s i c o n n e t t e r e al s e r v e r V N C . D o p o a v e r c o n f e r m a t o la p a s s w o r d , s a r à c h i e s t o a l l ' u t e n t e s e v u o l e i n s e r i r e o m e n o una password secondaria di t i p o view-only: i client che inseriranno t a l e p a r o l a d ' a c c e s s o a v r a n n o la p o s s i b i l i t à d i v i s u a l i z z a r e il c o n t e n u t o d e l l o s c h e r m o , m a n o n p o t r a n n o u s a r e t a s t i e r a e m o u s e sul d i s p l a y r e m o t o . I n s e r i t a la p a s s w o r d p r i n c i p a l e e , s e l o si d e s i d e r a , q u e l l a s e c o n d a r i a , il s e r v e r g r a f i c o v e r r à a v v i a t o ( F i g u r a 7 . 1 4 ) . L e p r o s s i m e v o l t e c h e si l a n c e r à v n c s e r v e r n o n sarà r i c h i e s t o l ' i n s e r i m e n t o d i n u o v e p a s s w o r d :

verranno

c o n s i d e r a t e v a l i d e le p a r o l e d ' a c c e s s o i n d i c a t e d u r a n t e il p r i m o a v v i o d e l s e r v e r . S e s u c c e s s i v a m e n t e si v o r r à c a m b i a r e le p a s s w o r d , q u i n d i , si d o v r à u s a r e il p r o g r a m m a v n c p a s s w d .

ale@pitagora:-$ vncserver :1 You will require a password to access your desktops. Password: Verify: Would you like to enter a view-only password (y/n)? n New 'X' desktop is pitagora:l Creating default startup script /home/ale/.vnc/xstartup Starting applications specified in /home/ale/.vnc/xstartup Log file is /home/ale/.vnc/pitagora:1.log ale@pitagora:-$ |

Figura 7.14- Dopo aver lanciato vncserver, si inseriscono le password per la connessione dei client.

Il client per TightVIMC Sui P C d a i q u a l i si v u o l e c o n t r o l l a r e il c o m p u t e r r e m o t o si i n s t a l l i il p a c chetto xtightvncviewer: sudo apt-get instali

xtightvncviewer

In q u e s t o p a r a g r a f o si p r e s u p p o n e c h e a n c h e sui c l i e n t sia p r e s e n t e una d i s t r i b u z i o n e U b u n t u o D e b i a n . Per altre d i s t r o è p o s s i b i l e scaricare i pacchetti o i sorgenti di T i g h t V N C direttamente dall'indirizzo http://www. t i g h t v n c . c o m / d o w n l o a d . h t m l . Nella stessa p a g i n a w e b s o n o d i s p o n i b i l i a n c h e g l i e s e g u i b i l i p e r W i n d o w s d e l client e d e l server T i g h t V N C .

P e r e f f e t t u a r e il c o l l e g a m e n t o al s e r v e r V N C r e m o t o , q u i n d i , la s i n t a s s i d e l c o m a n d o d a l a n c i a r e è la s e g u e n t e : vncviewer

indirizzo:display

P e r e s e m p i o , p e r c o n n e t t e r s i al d i s p l a y 1 d e l l a m a c c h i n a 1 9 2 . 1 6 8 . 1 . 4 si deve eseguire vncviewer

1 9 2 . 1 6 8 . 1 . 4 : 1 . L a n c i a t o il c o m a n d o , v i e n e ri-

c h i e s t a la p a s s w o r d c h e è s t a t a i n s e r i t a d u r a n t e la c o n f i g u r a z i o n e d e l s e r v e r : si p u ò d i g i t a r e la p a s s w o r d p r i n c i p a l e o q u e l l a p e r l ' u t i l i z z o v i e w - o n l y del desktop remoto. Fatto questo, apparirà una finestra simile a quella visibile

nell'immagine

s e g u e n t e (Figura 7.15). A q u e s t o p u n t o lo s c h e r m o c o n d i v i s o dalla m a c c h i n a r e m o t a sarà a c c e s s i b i l e d a l c l i e n t . Una caratteristica

davvero comoda

del funzionamento

di V N C è che,

q u a n d o v i e n e c h i u s o u n c l i e n t , il d i s p l a y c o n d i v i s o e l e a p p l i c a z i o n i a v v i a t e su d i e s s o n o n v e n g o n o e l i m i n a t i , m a

risulteranno

d i s p o n i b i l i al s u c c e s s i v o

accesso d i u n client. P r e m e n d o il t a s t o F 8 n e l l a f i n e s t r a c r e a t a d a v n c v i e w e r si h a a c c e s s o a u n u t i le m e n u i n t e r n o . Le v o c i d i q u e s t o m e n u c o n s e n t o n o d i v i s u a l i z z a r e il d i s p l a y r e m o t o a p i e n o s c h e r m o (voce Fullscreen), d i uscire d a l client ( Q u i t v i e w e r ) e d i c o p i a r e il c o n t e n u t o d e l l a c l i p b o a r d l o c a l e n e l l a c l i p b o a r d r e m o t a e v i c e -

versa (Clipboard: locai -> remote e Clipboard: remote -> locai).

I < 5 Applicazioni

Risorse Sistema É

f W t W Mrtrliftti'iilMi-itMIl file ModtHca Ssualizn Jern le@pitagora:~i fre total Mem: 1546340 1282936 623332 - / + buffers/cache: 0 Swap: 979956 ale@pitagora:~$ df F i l e system /dev/sdal ivarlock devshm Irm eneric/volatile /dev/sda3 igvfs-fuse-daemon ale@pitagora:

i « I [GIMP]

263404 923008 979956 IK Usati Disponib 4432312 13971616 : 168 773000 0 773168 44 773124 28 773140 39760 733408

I • TightVNC: ale's X des.

Figura 7.15-11 display del server VNC visualizzato all'interno di una finestra del PC client.

C o m e si p u ò n o t a r e , l ' a m b i e n t e g r a f i c o v i s i b i l e è d e c i s a m e n t e s p a r t a n o : il server V N C , infatti, p e r risparmiare b a n d a avvia p e r d e f a u l t un'interfaccia grafica minimale, c o m p o s t a d a una finestra d i terminale e da un semplice w i n d o w manager. È però possibile modificare queste impostazioni

inter-

v e n e n d o su u n file d i c o n f i g u r a z i o n e d e l PC server.

Configurare il server VI\IC Il f i l e s u l l a m a c c h i n a s e r v e r c h e g e s t i s c e l ' a v v i o d e l l ' a m b i e n t e g r a f i c o è . v n c / x s t a r t u p e d è p o s t o nella d i r e c t o r y h o m e d e l l ' u t e n t e c h e ha lanciat o v n c s e r v e r . E c c o l e r i g h e d i c u i il f i l e è c o m p o s t o , n e l l a c o n f i g u r a z i o n e di default: #!/bin/sh xrdb $HOME/.Xresources xsetroot -solid grey x-terminal-emulator -geometry 80x24+10+10 D e s k t o p " Se x-window-manager & C o n queste righe, q u a n d o

-ls -title

"$VNCDESKTOP

il s e r v e r V N C v i e n e l a n c i a t o si s t a b i l i s c e u n

c o l o r e p e r l o s f o n d o d e l l o s c h e r m o ( r i g a x s e t r o o t ) , si a p r e u n a f i n e s t r a d i t e r m i n a l e ( r i g a x - t e r m i n a i - e m u i a t o r ) e i n f i n e si a v v i a il w i n d o w

manager

d i d e f a u l t nel s i s t e m a (riga x - w i n d o w - m a n a g e r ) . M o d i f i c a n d o l ' u l t i m a r i g a , q u i n d i , è p o s s i b i l e i n d i c a r e il p r o p r i o w i n d o w m a n a g e r p r e f e r i t o .

Il file /usr/bin/x-window-manager indica sui sistemi Debian e derivati il w i n d o w manager di default. Questo file non è altro che un collegamento simbolico a /etc/alternatives/x-window-manager e viene creato q u a n d o si installa un w i n d o w manager nel sistema. Per modificare il w i n d o w manager dì default si lancia il c o m a n d o seguente: sudo update-alternatives

--config

x-window-manager

Un v a l i d o c o m p r o m e s s o tra o c c u p a z i o n e d i b a n d a e p r a t i c i t à d ' u s o p u ò essere il w i n d o w m a n a g e r fiuxbox. Lo si installa sulla m a c c h i n a s e r v e r c o n il c o m a n d o sudo a p t - g e t i n s t a l i fiuxbox, p o i n o n resta c h e c a m b i a r e la riga f i n a l e d i . v n c / x s t a r t u p in startfluxbox & o m o d i f i c a r e il w i n d o w m a n a g e r d i d e f a u l t m e d i a n t e il c o m a n d o u p d a t e - a i t e r n a t ì v e s .

A l t r i w i n d o w m a n a g e r a d a t t i p e r u n ' a m m i n i s t r a z i o n e r e m o t a s o n o iceWM ( i n s t a l l a b i l e t r a m i t e il p a c c h e t t o i c e w m ) e w i n d o w M a k e r ( p a c c h e t t o w m a k e r ) . E n t r a m b i f o r n i s c o n o u n ' i n t e r f a c c i a g r a f i c a s e m p l i c e e d i f a c i l e utilizzo. Per a v v i a r e q u e s t i d u e w i n d o w m a n a g e r q u a n d o si lancia il s e r v e r V N C , g l i e s e g u i b i l i c h e b i s o g n a r i c h i a m a r e n e l l ' u l t i m a riga d i . v n c / x s t a r t u p s o n o , r i s p e t t i v a m e n t e , icewm e wmaker.

Cannessiane cifrata al server VIMC N e l n o r m a l e utilizzo d i V N C le u n i c h e i n f o r m a z i o n i c h e v e n g o n o cifrate s o n o le p a s s w o r d s c a m b i a t e n e l l e c o m u n i c a z i o n i iniziali t r a c l i e n t e server. Il resto d e i d a t i c h e t r a n s i t a n o t r a le m a c c h i n e v i a g g i a in chiaro. È p e r ò p o s s i b i l e n a s c o n d e r e le i n f o r m a z i o n i c r e a n d o u n t u n n e l c i f r a t o t r a m i t e SSH. Per q u e s t o è n e c e s s a r i o c h e sulla m a c c h i n a d a a m m i n i s t r a r e v i a V N C sia a t t i v o u n s e r v e r SSH. S o d d i s f a t t a q u e s t a p r e m e s s a , il c o m a n d o p e r lanciare v n c v i e w e r su u n PC c l i e n t d i v e n t a : vncviewer -via 192.168.1.4 localhost: 1 d o v e al p o s t o d i 1 9 2 . 1 6 8 . 1 . 4 si inserisce l ' i n d i r i z z o IP d e l s e r v e r V N C a c u i ci si d e v e c o n n e t t e r e e al p o s t o d i 1 si m e t t e il n u m e r o d e l d i s p l a y c h e si d e s i d e r a visualizzare in r e m o t o . E s e g u i t o il c o m a n d o , verrà p r i m a richiesta la p a s s w o r d o la p a s s p h r a s e p e r c o n n e t t e r s i al s e r v e r SSH, q u i n d i la p a r o l a d ' a c c e s s o p e r a c c e d e r e al d i s p l a y r e m o t o d e l s e r v e r V N C .

Utilizzando il parametro -via di vncviewer si inserisce come indirizzo finale localhost.

Questo perché, quando si attiva un tunnel cifrato, il server SSH

a cui ci si connette viene considerato il PC locale. Ciò spiega la sintassi di vncviewer adottata in questo caso, apparentemente incongrua.

8. Condividere in rete Come condividere una S t a m p a n t e e delle

directory chine

sull'hard disk, anche con mac-

Windows

In u n a r e t e l o c a l e è p o s s i b i l e e c o n s i g l i a b i l e c o n d i v i d e r e

risorse:

c h e si

t r a t t i d i u n a s t a m p a n t e o d i u n a s e r i e d i c a r t e l l e su d i s c o , a v e r e a c c e s s o da p i ù m a c c h i n e a un singolo dispositivo p e r m e t t e d i ottimizzare i costi d e l l ' h a r d w a r e e d i g e s t i r e in m o d o o c u l a t o le a t t i v i t à d i r e t e e g l i s p a z i fisici disponibili. I p r o t a g o n i s t i d i q u e s t o c a p i t o l o s a r a n n o d u n q u e il s e r v e r d i s t a m p a C U P S , il f i l e s y s t e m d i s t r i b u i t o N F S e S a m b a , u n s o f t w a r e c h e c o n s e n t e la c o n d i visione d i risorse c o n m a c c h i n e W i n d o w s .

II server di stampa CUPS ( a c r o n i m o d i C o m m o n Unix Printing System) è n o t o p e r essere orm a i il s i s t e m a d i s t a m p a d i d e f a u l t s u l l e p i ù d i f f u s e d i s t r i b u z i o n i L i n u x . In realtà, CUPS è anche un p o t e n t e print server che p e r m e t t e d i c o n d i v i d e r e u n a o p i ù s t a m p a n t i t r a i d i v e r s i c o m p u t e r c o n n e s s i in r e t e . Per installare il server d i s t a m p a su U b u n t u va l a n c i a t o il c o m a n d o s e g u e n t e : sudo apt-get instali

cupsys

L'installazione del p a c c h e t t o cupsys c o m p o r t e r à l'attivazione

immediata

d e l d e m o n e d i s t a m p a c u p s d , c h e r i s p o n d e r à s u l l a p o r t a 6 3 1 . La c o n f i g u r a z i o n e i n i z i a l e d e l s e r v e r d i s t a m p a a v v i e n e m o d i f i c a n d o il f i l e / e t c / c u p s / c u p s d . c o n f , m e n t r e l ' a m m i n i s t r a z i o n e d e l s e r v e r s t e s s o si e f f e t t u a c o n t a t t a n d o l'interfaccia w e b di cupsd, richiamabile a p p u n t o c o l l e g a n d o s i

alla

p o r t a 631 della m a c c h i n a server. Nella configurazione

di default

il s e r v e r d i s t a m p a

accetta

e s c l u s i v a m e n t e d a l l a m a c c h i n a l o c a l e . Per m o d i f i c a r e q u e s t a

connessioni impostazione

si a p r a c o n u n e d i t o r il f i l e / e t c / c u p s / c u p s d . c o n f . Q u i n d i si c a m b i la r i g a : Listen localhost: 631 i n d i c a n d o l ' i n d i r i z z o d i r e t e s u c u i d e v e a s c o l t a r e il s e r v e r d i s t a m p a ,

per

esempio: Listen

192.168.1.4:631

Per a s c o l t a r e s u t u t t e le i n t e r f a c c e d i r e t e la r i g a d a i n s e r i r e è i n v e c e : Listen

*:631



!ogLevel warning ¡IsystemGroup Ipadmin • # Only listen for connections from the local machine. •Bisten localhost:631 ' Listen /var/run/cups/cups.sock • # Disable printer sharing and shared printers. Browsing Off DefaultAuthType Basic «Location /> # Restrict access to the server... Order allow,deny «Location /admin> # Restrict access to the admin pages.,. Order allow,deny «Location /admin/conf> AuthType Default Require user @SYSTEH # Restrict access to the configuration files... Order allow,deny «Policy defaults

K



4,1

Cim

Figura 8.1 - Nella configurazione di default il demone cupsd ascolta solo di rete locale.

sull'interfaccia

B i s o g n a p o i i n d i v i d u a r e il s e g u e n t e b l o c c o d i r i g h e : «Location /> # Restrict access to the server... Order allow,deny e a g g i u n g e r e d e l l e r i g h e A l l o w c h e i n d i c h i n o g l i indirizzi d e i c l i e n t c h e p o s s o n o c o n n e t t e r s i al s e r v e r d i s t a m p a . Per e s e m p i o , p e r c o n s e n t i r e la c o n n e s s i o n e al c l i e n t 1 9 2 . 1 6 8 . 1 . 5 il p r e c e d e n t e b l o c c o d i r i g h e d e v e d i v e n t a r e così: «Location /> # Restrict access to the server... Order allow,deny Allow 192.168.1.5 Per

permettere

il c o l l e g a m e n t o

al s e r v e r

di stampa

all'intera

rete

1 9 2 . 1 6 8 . 1 . 0 , la r i g a A l l o w d a u t i l i z z a r e d i v e n t a A l l o w 1 9 2 . 1 6 8 . 1 . * . D o p o a v e r e f f e t t u a t o le n e c e s s a r i e m o d i f i c h e al f i l e c u p s d . c o n f , p e r a g g i o r n a r e la c o n f i g u r a z i o n e d e l s e r v e r c u p s d è n e c e s s a r i o r i a v v i a r e il d e m o n e : sudo /etc/init.d/cupsys

restart

A q u e s t o p u n t o si p u ò p a s s a r e a l l a c o n f i g u r a z i o n e d e l l a

stampante

di rete.

Configurare la stampante di rete Per a g g i u n g e r e u n a s t a m p a n t e al p r i n t s e r v e r b a s t a r i c h i a m a r e l ' i n t e r f a c c i a w e b d i CLIPS. Se si i n t e n d e c o m p i e r e q u e s t a o p e r a z i o n e

direttamente

d a l l a m a c c h i n a server, b i s o g n a a p r i r e in u n q u a l s i a s i w e b b r o w s e r l ' i n d i r i z z o l o c a l h o s t : 6 3 1 . A l t r i m e n t i , se si v u o l e c o n f i g u r a r e u n a n u o v a s t a m p a n t e d a u n a m a c c h i n a c l i e n t , si d e v e i n s e r i r e in u n b r o w s e r l a n c i a t o sul c l i e n t l ' i n d i r i z z o IP d e l s e r v e r sulla r e t e , a g g i u n g e n d o p o i : 6 3 1 c o m e r i f e r i m e n t o alla p o r t a d a u s a r e . Per p o t e r a g g i u n g e r e u n a s t a m p a n t e d a r e m o t o è n e c e s s a r i o m o d i f i c a r e il f i l e / e t c / c u p s / c u p s d . c o n f d e l l a m a c c h i n a su c u i è a t t i v o il s e r v e r : n e l l a c o n f i g u r a z i o n e d i d e f a u l t , i n f a t t i , le o p e r a z i o n i d i a m m i n i s t r a z i o n e d e l s e r v e r p o s s o n o essere e f f e t t u a t e solo d a l sistema locale.

N e l f i l e b i s o g n a i n d i v i d u a r e il b l o c c o d i «Location /admin> # R e s t r i c t a c c e s s to the a d m i n Order allow,deny

righe

seguente:

pages...

e a g g i u n g e r e u n a r i g a A l l o w c o n g l i i n d i r i z z i IP d e i c l i e n t c u i è

permesso

a m m i n i s t r a r e il server, c o m e si è v i s t o p e r il b l o c c o « L o c a t i o n / > ( F i g u r a 8.2). A n c h e in q u e s t o c a s o , e f f e t t u a t a t a l e m o d i f i c a b i s o g n a f a r r i l e g g e r e la c o n f i g u r a z i o n e al p r i n t s e r v e r c o n il c o m a n d o s u d o / e t c / i n i t . d / c u p s y s

restart.

^Location /> # Restrict access to the server... Order allow,deny Allow 192,168,1.* «Location /admin> # Restrict access to the admin pages... Order allow,deny Allow 192.168.1.* «Location /admin/conf> AuthType Default Require user @SYSTEM # Restrict access to the configuration files... Order allow,deny «Policy default> «Limit Send-Document Send-URI Hold-Job Release-Job Restart-Job Purge-Jobs SetJob-Attributes Create-Job-Subscription Renew-Subscription Cancel-Subscription Ge t-Notifications Reprocess-Job Cancel-Current-Job Suspend-Current-Job Resume-Job CUPS-Move-Job> Require user 0OWNER ©SYSTEM Order deny,allow 9,1 29%

Figura 8.2 -1 due biacchi e con le modifiche per accettare connessioni dall'esterno. R a g g i u n t o d a locale o da r e m o t o l'indirizzo d e l p r i n t server, a p p a r i r à nella f i n e s t r a d e l w e b b r o w s e r la s c h e r m a t a d i b e n v e n u t o d i C U P S ( F i g u r a 8 . 3 ) . P e r c o n f i g u r a r e u n a n u o v a s t a m p a n t e b i s o g n a f a r e c l i c sul p u l s a n t e

Ag-

g i u n g i s t a m p a n t e , p o i n e l l a s c h e r m a t a c h e a p p a r e si i n s e r i s c e n e g l i a p p o siti s p a z i il n o m e d e l l a s t a m p a n t e ( N a m e ) , si i n d i c a il l u o g o in c u i il d i s p o s i t i v o si t r o v a ( L o c a t i o n ) e si f o r n i s c e u n a d e s c r i z i o n e e s t e s a d e l l a s t a m p a n t e stessa ( D e s c r i p t i o n ) . Per e s e m p i o , p e r c o n f i g u r a r e u n a S a m s u n g M L - 1 6 1 0

si p u ò i n s e r i r e S a m s u n g c o m e N a m e , U f f i c i o c o m e L o c a t i o n e S t a m p a n t e laser S a m s u n g M L - 1 6 1 0 c o m e

I £ile Modifica Visualizza Cronologia tv-





!e

Segnalibri Strumenti

Description.

Guida

http://localhost:631/

C o m m o n UNiX P r i n t i n g S y s t e m 1.3.7 ^

principale IM.TiHU'iAJi.UM.lJI B E B 1 «»MW.ÌH.U UM.MfrHH.HI

.::::::• ìec; Mii I.U.H.U»

Benvenuto! Q u e s t e p a g i n e w e b t i c o n s e n t o n o d i c o n t r o l l a r e le s t a m p a n t i e le o p e r a z i o n i di s t a m p a n o n c h é e s e g u i r e o p e r a z i o n i di a m m i n i s t r a z i o n e del s i s t e m a . Fai clic su o g n u n a delle s c h e d e in a l t o o s u i p u l s a n t i s e g u e n t i p e r e f f e t t u a r e u n ' o p e r a z i o n e . 4 T O

4EEilMfi3811 >

Se ti viene richiesto un nome utente o dell'utente "root".

a password, inserisci il nome utente e la password di accesso o il nome utente e la password

Informazioni su CUPS CU PS f o r n i s c e un s o t t o s l s t e m a di s t a m p a p o r t a b i l e p e r i s i s t e m i o p e r a t i v i b a s a t i su UNIX . S v i l u p p a t o e g e s t i t o da A p p l e I n c . p e r p r o m u o v e r e u n a s o l u z i o n e di s t a m p a s t a n d a r d . CUPS è il s i s t e m a di s t a m p a s t a n d a r d u t i l i z z a t o su MacOS® X e sulla m a g g i o r p a r t e delle d i s t r i b u z i o n i Linux®. CUPS utilizza l ' I n t e r n e t P r i n t i n g P r o t o c o l ( " I P P " ) c o m e base p e r la g e s t i o n e delle o p e r a z i o n i di s t a m p a e delle code e a g g i u n g e la n a v i g a z i o n e delle s t a m p a n t i di r e t e e o p z i o n i di s t a m p a b a s a t e su P o s t S c r i p t P r i n t e r D e s c r i p t i o n ("PPD") per s u p p o r t a r e t u t t e le n e c e s s i t à di s t a m p a . H r i u o r I Completato

Hi

c t a m n a

o

a c c i c t o n 7 a

© 3 (N> 3 j

Figura 8.3 - La schermata di benvenuto del server CUPS. Da questa pagina è possibile aggiungere una stampante. D o p o a v e r f a t t o c l i c su C o n t i n u a , si d e v e s p e c i f i c a r e il t i p o d i d i s p o s i t i v o utilizzato s e l e z i o n a n d o una d e l l e voci disponibili per l ' o p z i o n e D i s p o s i t i v o . Per e s e m p i o , se la s t a m p a n t e S a m s u n g M L - 1 6 1 0 è c o l l e g a t a alla p o r t a U S B d e l l a m a c c h i n a s e r v e r si s e l e z i o n e r à , n e l m e n u r e l a t i v o a l l ' o p z i o n e D i s p o s i t i v o , la v o c e S a m s u n g M L - 1 6 1 0 U S B # 1 e si f a r à clic sul p u l s a n t e C o n t i n u a . P o i si s c e g l i e il d r i v e r p e r la s t a m p a n t e (il s i s t e m a s e l e z i o n e r à a u t o m a t i c a m e n t e q u e l l o p i ù a p p r o p r i a t o t r a q u e l l i d i s p o n i b i l i ) e si f a c l i c s u A g g i u n g i

stampante.

Per avere a d i s p o s i z i o n e i p r i n c i p a l i d r i v e r p e r s t a m p a n t i su

Ubuntu

Server si consiglia di installare i s e g u e n t i p a c c h e t t i m e d i a n t e sudo get

apt-

instali: c u p s y s - d r i v e r - g u t e n p r i n t , f o o m a t i c - d b - g u t e n p r i n t , f o o m a -

tic-db-hpijs e foomatic-db-engine.

A q u e s t o p u n t o la c o n f i g u r a z i o n e d e l d i s p o s i t i v o è t e r m i n a t a e p e r a g g i o r n a r e le p r e f e r e n z e d e l p r i n t s e r v e r v e r r à r i c h i e s t o d i i n s e r i r e il n o m e d e l l ' u t e n t e p r i n c i p a l e e la r e l a t i v a p a s s w o r d . N e l l a s c h e r m a t a s u c c e s s i v a sarà p o i p o s s i b i l e i m p o s t a r e a l c u n i p a r a m e t r i d i s t a m p a : p e r lasciare i v a l o r i d i

default si faccia clic su Imposta opzioni stampante. La stampante dal lato client A g g i u n g e r e u n a s t a m p a n t e d i r e t e su u n c l i e n t è u n ' o p e r a z i o n e c h e si p u ò e f f e t t u a r e t r a m i t e g l i s t r u m e n t i f o r n i t i d a l l ' a m b i e n t e g r a f i c o p r e s e n t e sulla m a c c h i n a o p p u r e m e d i a n t e l'interfaccia w e b d e l server CUPS installato sul client stesso. Per u t i l i z z a r e q u e s t a s e c o n d a i n t e r f a c c i a si p u n t a il w e b b r o w s e r a l l ' i n d i r i z z o l o c a l h o s t : 6 3 1 , q u i n d i n e l l a s c h e r m a t a d i b e n v e n u t o d e l s e r v e r C U P S sul c l i e n t si fa clic su A g g i u n g i s t a m p a n t e . P o i si i n s e r i s c o n o le i n f o r m a z i o n i d i b a s e sulla s t a m p a n t e d i r e t e , c o m e n e l l ' e s e m p i o v i s i b i l e n e l l ' i m m a g i n e s e g u e n t e (Figura 8.4).

Modifica Visualizza Cronologia |

'

«è

Segnalibri Strumenti

Guida

Sj 1 ttp://localhost:631/admin?OP=add-printer

^Aggiungi stampante lÉMffiB

Amministrazione

ffigSii

sra

Elissa

Add New Printer Name: L A N P n n t e r (May contain any printable characters except "/". " # " , and space) Location: Rete (Human-readable location such as "Lab Ï " ) Description: Stampante d i rete| (Human-readable description such as "HP Laserjet with Duplexer")

Common UNIX Printing System, CUPS, e il logo CUPS s< o marchi registrati da Easy S o f t w a r e P r o d u c t s . CUPS è un copyright 1997-2006 dì Easy Software Products, Tutti i diritti sono riservati.

Figura 8.4 - Valori di esempio di Name, Location e Description per una stampante di rete. F a t t o q u e s t o , n e l l a s c h e r m a t a s u c c e s s i v a si s c e g l i e I n t e r n e t P r i n t i n g P r o -

t o c o l (ipp) come Dispositivo.

Si fa clic su C o n t i n u a e si i n d i c a c o m e URI d e l d i s p o s i t i v o una riga così composta: ìpp:///ipp/printers/ A l p o s t o d i < i p s e r v e r > si inserisce l ' i n d i r i z z o IP d e l l a m a c c h i n a s e r v e r cui è c o n n e s s a f i s i c a m e n t e la s t a m p a n t e m e n t r e al p o s t o d i si d i g i t a il n o m e d e l l a s t a m p a n t e r e m o t a . Per e s e m p i o , se l ' i n d i r i z z o è 1 9 2 . 1 6 8 . 1 . 4 e la s t a m p a n t e si c h i a m a M L - 1 6 1 0 la riga d a i n s e r i r e sarà q u e s t a : ipp://192.168.1.4/ipp/printers/ML-1610

Per conoscere il nome della stampante remota basta entrare nella pagina di benvenuto di CUPS sulla macchina server (localhost:631) e, nella schermata che appare, fare clic sul pulsante S t a m p a n t i in alto. Apparirà un elenco di tutte le stampanti attive nel sistema.

D o p o a v e r i n d i c a t o TURI d e l l a s t a m p a n t e d i r e t e si s c e g l i e G e n e r i c c o m e M a r c a e si fa clic su C o n t i n u a , q u i n d i si i n d i c a il M o d e l l o d e l l a s t a m p a n t e

Generic PostScript Printer (en). A d e s s o n o n r i m a n e c h e f a r e clic su A g g i u n g i s t a m p a n t e e inserire sul c l i e n t il n o m e d e l l ' u t e n t e p r i n c i p a l e e la relativa p a s s w o r d . N e l l a s c h e r m a t a successiva, i n f i n e , b a s t a f a r e clic su I m p o s t a o p z i o n i s t a m p a n t e .

Per configurare una macchina client è anche possibile indicare in un file l'indirizzo del print server da utilizzare. Si crei il file /etc/cups/client.conf e si inserisca la linea seguente (192.168.1.4 va sostituito con l'effettivo indirizzo del server di stampa): ServerName

192.168.1.4

La stampante predefinita sul server diventerà così la stampante predefinita sul client.

Linux U b u n t u p e r s e r v e r e reti

Modifica Visualizza Cronologia Segnalibri Strumenti Guida ' è

Ir? | 6 http://localhost.631/admin

j j

'Aggiungi stampante Amministrazione

»«iì'-i

umentaz ione/Aiuto

Modello/Driver per LANPrinter Modello: Generic Generic Generic Generic Generic Generic Generic Generic Generic

PCL 6/PCL XL Printer Foomatic/ljadith (eni PCL 6/PCL XL Printer Foomatic/lj5groy (en) PCL 6/PCL XL Printer Foomatic/ljet4 (en) PCL 6/PCL XL Printer Foomatic/ljet4d (en) PCL 6/PCL XL Printer Foomatic/pxlmono (recommended) (en) PDF file generator (en) _ PostScript Printer (en> PostScript Printer Foomatic/Postscript (recommended) (en) text-only printer (en)

Generic ZjStream Printer Foornatie/too2zjs (recommended) (en) O fornisci un file PPD:

Sfoglia

Se il c l i e n t utilizza c o m e s i s t e m a o p e r a t i v o u n a v e r s i o n e d i M i c r o s o f t W i n d o w s , p e r p o t e r s t a m p a r e t r a m i t e il p r i n t s e r v e r CUPS è n e c e s s a r i o a g g i u n g e r e u n a s t a m p a n t e , i n d i c a r e c h e si v u o l e f a r e u s o d i u n a s t a m p a n t e d i r e t e e q u i n d i f o r n i r e al s i s t e m a il s e g u e n t e URI (di n u o v o , < i P s e r v e r > è l ' i n d i r i z z o IP d e l p r i n t s e r v e r e < n o m e > è il n o m e d e l l a s t a m p a n t e ) : h t t p ://: 6 3 l / p r i n t e r s / < n o m e > Infine, si s c e g l i e d a l l ' e l e n c o u n q u a l s i a s i d r i v e r d i s t a m p a P o s t S c r i p t : i n o m i d e i d r i v e r P o s t S c r i p t h a n n o t u t t i c o m e p a r o l a f i n a l e PS.

Filesystem di rete IXIF5 NFS è u n f i l e s y s t e m d i r e t e d u t t i l e e s e m p l i c e d a c o n f i g u r a r e . Installare un s e r v e r N F S su u n a m a c c h i n a è p r o b a b i l m e n t e il m o d o m i g l i o r e p e r c o n d i v i d e r e f i l e e d i r e c t o r y t r a p i ù c o m p u t e r Linux: si p e n s i alla p o s s i b i l i t à di a m m i n i s t r a r e le d i r e c t o r y / h o m e d i p i ù PC su d i u n u n i c o s e r v e r o d i avere accesso a un archivio m u l t i m e d i a l e centrale d a una m o l t i t u d i n e d i m a c c h i n e , senza u n i n u t i l e s p r e c o d i s p a z i o sui d i s c h i .

Configurazione di IVF5 sul server P e r i n s t a l l a r e il s e r v e r N F S s u l l a m a c c h i n a c h e d e v e r e c t o r y si l a n c i a il c o m a n d o sudo apt-get

instali

"esportare"

le d i -

seguente:

nfs-kernel-server

La c o n f i g u r a z i o n e d e l s e r v e r a v v i e n e p e r m e z z o d i u n u n i c o f i l e d i c o n figurazione, /etc/exports.

P e r a g g i u n g e r e u n a d i r e c t o r y d a e s p o r t a r e si

inserisce u n a riga n e l file, c o m e in q u e s t o e s e m p i o : /usr/local/share/video

pitagora(rw,async)

A l l ' i n i z i o d e l l a r i g a v i e n e s p e c i f i c a t o il f i l e s y s t e m c h e si i n t e n d e c o n d i v i d e re, / u s r / l o c a l / s h a r e / v i d e o . P e r d e f a u l t t u t t e l e s o t t o d i r e c t o r y a p a r t i r e d a l f i l e s y s t e m v e r r a n n o e s p o r t a t e . D o p o u n o s p a z i o v u o t o , q u i n d i , si i n d i c a n o i c l i e n t c h e a v r a n n o a c c e s s o al f i l e s y s t e m ( q u i p i t a g o r a ) , c o n l e r e l a t i v e o p z i o n i d i c o n d i v i s i o n e p o s t e t r a p a r e n t e s i t o n d e (rw, async). N e l l a r i g a d i e s e m p i o v i e n e e s p o r t a t a la d i r e c t o r y / u s r / l o c a l / s h a r e / v i d e o e si c o n s e n t e a l l a m a c c h i n a p i t a g o r a d i a c c e d e r e a e s s a i n l e t t u r a e s c r i t t u r a (rw) e i n m o d o a s i n c r o n o (async). N e l l a T a b e l l a 8 . 1 s o n o e l e n c a t e le p r i n c i p a l i o p z i o n i d i c o n d i v i s i o n e r i c h i a m a b i l i in / e t c / e x p o r t s .

Tabella 8.1 - Le opzioni di condivisione in / e t c / e x p o r t s . Significato

Opzione rw ro

sync

Il f i l e s y s t e m è e s p o r t a t o i n l e t t u r a e s c r i t t u r a Il f i l e s y s t e m è e s p o r t a t o i n s o l a l e t t u r a . È il c o m p o r t a mento di default Le s c r i t t u r e sul f i l e s y s t e m a v v e n g o n o in m o d o s i n c r o n o . Default Le s c r i t t u r e s u l f i l e s y s t e m a v v e n g o n o in m o d o a s i n c r o n o .

async

Più v e l o c e d e l l a m o d a l i t à s i n c r o n a m a m e n o s i c u r a (in caso d i crash alcuni dati p o s s o n o essere persi o corrotti) G l i a c c e s s i t r a m i t e l ' u t e n t e 0 ( r o o t ) e il g r u p p o

root_squash

relativo

v e n g o n o t r a d o t t i in accessi t r a m i t e a c c o u n t e g r u p p o anonimo. Default



:

LifeSi . *:

f

Opzione

Significato Gli accessi t r a m i t e l ' u t e n t e e g r u p p o 0 v e n g o n o t r a t t a t i

no_root_squash

c o m e t a l i . A t t e n z i o n e ! In q u e s t o m o d o l ' u t e n t e r o o t sul c l i e n t p o t r à a v e r e a c c e s s o ai f i l e d i r o o t sul s e r v e r I n d i c a n o e s p l i c i t a m e n t e l'UlD e il G I D d e l l ' a c c o u n t a n o -

anonuid=x, anongid=x

n i m o

P e r

d e f a u l t q u e s t i ha U I D e G I D 6 5 5 3 4

I m p e d i s c e l'accesso a una s o t t o d i r e c t o r y c o n t e n u t a nel

noaccess

filesystem esportato Ecco q u i n d i altre righe di e s e m p i o : /home *.home.lan(rw,no_root_squash) /media/musica piatone(rw,async) pitagora(ro) / v a r / c a c h e / a p t / a r c h i v e s *(rw) N e l l a p r i m a si e s p o r t a / h o m e a t u t t e le m a c c h i n e d e l l a r e t e h o m e . i a n , c o n p e r m e s s i in s c r i t t u r a e la p o s s i b i l i t à d i a c c e d e r e ai f i l e c o n l ' u t e n t e r o o t . La s e c o n d a r i g a c o n d i v i d e la d i r e c t o r y / m e d i a / m u s i c a m a c o n o p z i o n i d i f f e r e n t i a s e c o n d a d e l c l i e n t c h e si c o n n e t t e al s e r v e r N F S : p i a t o n e o t t i e n e i p e r m e s s i in s c r i t t u r a e l ' a t t i v a z i o n e d e l l a m o d a l i t à a s i n c r o n a , m e n t r e il c l i e n t p i t a g o r a si d e v e a c c o n t e n t a r e d e i soli p e r m e s s i in l e t t u r a . L ' u l t i m a r i g a e s p o r t a a t u t t e le m a c c h i n e (*) la d i r e c t o r y c o n t e n e n t e i p a c chetti d e b scaricati dalla rete, / v a r / c a c h e / a p t / a r c h i v e s , f o r n e n d o i p e r m e s si in s c r i t t u r a ai c l i e n t c h e si c o l l e g a n o . D o p o o g n i m o d i f i c a al f i l e / e t c / e x p o r t s , p e r a g g i o r n a r e la c o n f i g u r a z i o n e d e l s e r v e r N F S è n e c e s s a r i o e s e g u i r e il c o m a n d o s u d o e x p o r t f s

-a.

NFS sul client Per a c c e d e r e d a u n c l i e n t a u n f i l e s y s t e m c o n d i v i s o c o n N F S è n e c e s s a r i o c h e sul c l i e n t D e b i a n o U b u n t u sia p r e s e n t e il p a c c h e t t o n f s - c o m m o n : in c a s o c o n t r a r i o va i n s t a l l a t o c o n s u d o a p t - g e t i n s t a l i

nfs-common.

F a t t o q u e s t o , si p u ò m o n t a r e il f i l e s y s t e m e s p o r t a t o m e d i a n t e il c o n s u e t o comando mount. Ecco un e s e m p i o : sudo mount Parmenide :/media/musica

/mnt/nfs/musica

C o n q u e s t o c o m a n d o si m o n t a

in / m n t / n f s / m u s i c a

la d i r e c t o r y

m u s i c a e s p o r t a t a dalla m a c c h i n a Parmenide. Per e f f e t t u a r e

/media/

correttamente

il m o u n t la d i r e c t o r y / m n t / n f s / m u s i c a d e v e e s i s t e r e sul c l i e n t . Per o t t e n e r e sul c l i e n t i n f o r m a z i o n i r e l a t i v e ai f i l e s y s t e m c o n d i v i s i d a u n d e t e r m i n a t a m a c c h i n a si usa il p r o g r a m m a s h o w m o u n t , c o n t e n u t o n e l p a c c h e t t o n f s - c o m m o n . L a n c i a n d o il c o m a n d o s h o w m o u n t

-e i n d i r i z z o si a v r à in o u -

t p u t un e l e n c o delle directory e s p o r t a t e dal PC indirizzo. Un e s e m p i o di u t i l i z z o d e l p r o g r a m m a è v i s i b i l e n e l l ' i m m a g i n e s e g u e n t e ( F i g u r a 8.6).

ale@pitagora:~$ Export list for /home/ale/Video ale@pitagora:-$

showmount -e 192.168.1,4 192.168.1.4: 192.168.1.5 |

Figura 8.6 - C o n showmount macchina in rete.

si ottengono

informazioni sui filesystem esportati da una

O v v i a m e n t e , d o v e r e s e g u i r e il c o m a n d o m o u n t o g n i v o l t a c h e si a v v i a u n client p e r avere accesso alle d i r e c t o r y e s p o r t a t e è s c o m o d o . E p e r ò poss i b i l e i n s e r i r e d i r e t t a m e n t e in / e t c / f s t a b d e l l e ri g h e p e r i m p o r t a r e i f i l e s y stem NFS all'avvio della macchina. E c c o u n a riga p e r / e t c / f s t a b c h e c o r r i s p o n d e al c o m a n d o m o u n t d i e s e m p i o r i p o r t a t o in p r e c e d e n z a : Parmenide : / m e d i a / m u s i c a All'interno di questa richiamate

riga,

/mnt/nfs/musica

n f s rw,bg,intr 0 0

in p i ù , s o n o s t a t e a g g i u n t e d e l l e o p z i o n i

non

nel p r e c e d e n t e c o m a n d o mount. Nella Tabella 8.2, q u i n d i , ven-

ute

*

g o n o p r e s e n t a t e le p r i n c i p a l i o p z i o n i d i s p o n i b i l i p e r e f f e t t u a r e su u n c l i e n t il m o u n t d i u n f i l e s y s t e m N F S . P e r r i c h i a m a r e t a l i o p z i o n i d i r e t t a m e n t e d a m o u n t le si fa p r e c e d e r e d a -o, così: s u d o m o u n t -o r w , b g , i n t r P a r m e n i d e : / m e d i a / m u s i c a

/mnt/nfs/musica

Tabella 8.2 - Le opzioni per m o n t a r e un filesystem NFS Opzione

Significato

rw

Il f i l e s y s t e m è m o n t a t o in l e t t u r a e s c r i t t u r a

ro

Il f i l e s y s t e m è m o n t a t o in s o l a l e t t u r a Attivando questa opzione gli utenti possono fermare

intr

u n ' o p e r a z i o n e sul f i l e s y s t e m N F S . Utile q u a n d o q u e s t ' u l t i m o risulta b l o c c a t o Se il s i s t e m a n o n r i e s c e a e f f e t t u a r e il m o u n t d e l f i l e s y -

bg

s t e m N F S l ' o p e r a z i o n e p a s s a in b a c k g r o u n d e v e n g o n o m o n t a t i g l i altri f i l e s y s t e m

IT S 1 2ü 6

WSÌ ZG=X

P e r m e t t e d i i n d i c a r e la g r a n d e z z a d e l b u f f e r d i l e t t u r a , e s p r e s s a in b y t e P e r m e t t e d i i n d i c a r e la g r a n d e z z a d e l b u f f e r d i s c r i t t u ra, e s p r e s s a in b y t e

Condividere con Samba In u n a rete e t e r o g e n e a , d o v e m a c c h i n e W i n d o w s p o s s o n o p e r e s e m p i o e n t r a r e in c o n t a t t o e s c a m b i a r e d a t i c o n server D e b i a n , la c o n d i v i s i o n e d e i d a t i p u ò risultare p r o b l e m a t i c a , d a t e le v i s t o s e d i f f e r e n z e t r a u n s i s t e m a o p e r a t i v o e l'altro. I n s t a l l a n d o S a m b a su u n server Linux tali p r o b l e m i . . . d i d i a l o g o p o s s o n o sparire o ridursi d r a s t i c a m e n t e : S a m b a è, infatti, u n ' i m p l e m e n t a z i o n e libera d e l p r o t o c o l l o d i r e t e S M B / C I F S utilizzato d a M i c r o s o f t W i n d o w s e p u ò essere u s a t o p e r c o n d i v i d e r e f a c i l m e n t e d e l l e c a r t e l l e p r e s e n t i su u n server Linux c o n m a c c h i n e W i n d o w s (e n a t u r a l m e n t e a n c h e Linux).

Installazione di Samba sul server Per i n s t a l l a r e S a m b a sulla m a c c h i n a s e r v e r è s u f f i c i e n t e i n s t a l l a r e t r a m i t e a p t - g e t il p a c c h e t t o o m o n i m o : sudo apt-get instali

samba

Q u i n d i , si c r e a n o g l i u t e n t i S a m b a c h e d e v o n o a v e r e a c c e s s o a l l e r i s o r s e c o n d i v i s e . Il c o m a n d o d a u s a r e è s m b p a s s w d e v a l a n c i a t o c o n la s i n t a s s i seguente: sudo smbpasswd

-a u t e n t e

A l p o s t o d i u t e n t e b i s o g n a i n s e r i r e il n o m e d e l l ' u t e n t e d a a g g i u n g e r e a S a m b a . A t t e n z i o n e : d e v e esistere un u t e n t e c o r r i s p o n d e n t e nel file d e l l e p a s s w o r d d i s i s t e m a ( / e t c / p a s s w d ) , a l t r i m e n t i la c r e a z i o n e d e l l ' u t e n t e s a m b a f a l l i r à . D o p o a v e r e s e g u i t o il c o m a n d o s m b p a s s w d è n e c e s s a r i o d i g i t a r e u n a p a s s w o r d p e r il n u o v o u t e n t e s a m b a e i n s e r i r l a p o i u n a s e c o n d a v o l t a per conferma.

ale@pitagora:-$ sudo smbpasswd -a ale New SMB password: Retype new SMB password: Added user ale. ale@pitagora:-$ |

Figura 8.7 - Per creare un utente samba si usa il comando smbpassword -a seguito dal nome dell'utente da aggiungere.

P e r c a n c e l l a r e u n u t e n t e s a m b a si l a n c i a s m b p a s s w d s e g u i t o d a l l ' o p z i o n e -x, c o m e nell'esempio che segue: sudo smbpasswd

-x a l e

C o n l ' o p z i o n e -d d i s m b p a s s w d , i n v e c e , si d i s a t t i v a m o m e n t a n e a m e n t e u t e n t e in m o d o t a l e d a i m p e d i r e a q u e s t o d i c o l l e g a r s i al s e r v e r

un

Sam-

b a . P e r r i p r i s t i n a r e l ' a u t e n t i c a z i o n e d e l l ' u t e n t e s u l s e r v e r , q u i n d i , si u t i l i z z a

l ' o p z i o n e -e. N e i d u e e s e m p i s e g u e n t i v i e n e p r i m a d i s a t t i v a t o e p o i r i a t t i vato l'utente antonio: s u d o s m b p a s s w d -d a n t o n i o s u d o s m b p a s s w d -e a n t o n i o A q u e s t o p u n t o , è p o s s i b i l e i n t e r v e n i r e sul file d i c o n f i g u r a z i o n e d i S a m b a , / e t c / s a m b a / s m b . c o n f . D o p o a v e r a p e r t o d a r o o t il f i l e c o n l ' e d i t o r (sudo v i / e t c / s a m b a / s m b . c o n f ) , p e r c o n d i v i d e r e u n a d i r e c t o r y si p o s s o n o a g g i u n g e re al t e r m i n e d e l f i l e d e l l e righe s i m i l i a q u e s t e : [documenti] path = /home/ale/Documenti valid users = ale , antonio read only = no La p r i m a r i g a s t a b i l i s c e il n o m e d e l l a risorsa c o n d i v i s a , c h e in q u e s t o c a s o è d o c u m e n t i . Tale risorsa c o r r i s p o n d e alla d i r e c t o r y / h o m e / a l e / D o c u m e n t i p r e s e n t e n e l l a m a c c h i n a su c u i è a t t i v o il s e r v e r S a m b a : la r i g a c h e inizia con path determina questa corrispondenza. N e l l a r i g a s u c c e s s i v a , m e d i a n t e il p a r a m e t r o v a l i d u s e r s v e n g o n o e l e n c a t i g l i u t e n t i c h e p o s s o n o a c c e d e r e alla risorsa c o n d i v i s a i n s e r e n d o la p r o p r i a p a s s w o r d . L ' u l t i m a r i g a , i n f i n e , i n d i c a c h e sulla d i r e c t o r y e s p o r t a t a è c o n s e n t i t o sia l e g g e r e sia s c r i v e r e .

Sicurezza per le risorse condivise La g e s t i o n e d e l l e p o l i t i c h e d i s i c u r e z z a in S a m b a è u n a r g o m e n t o c o m p l e s s o e la sua t r a t t a z i o n e e s a u s t i v a a n d r e b b e n e c e s s a r i a m e n t e o l t r e g l i s c o p i d i q u e s t o v o l u m e e g l i s p a z i d i s p o n i b i l i su d i e s s o . E c c o , d u n q u e , alcune semplici informazioni di base sull'argomento. N e l l e r i g h e d i s m b . c o n f r i p o r t a t e in p r e c e d e n z a si è i n t e r v e n u t i s u l l ' u l t i m a s e z i o n e d e l f i l e d i c o n f i g u r a z i o n e , d e d i c a t a a l l e r i s o r s e c o n d i v i s e . La p r i m a p a r t e d e l f i l e è i n v e c e o c c u p a t a d a l l a s e z i o n e [Global], c h e r a c c o g l i e le impostazioni globali d e l server Samba. Si a n d r à d u n q u e a i n t e r v e n i r e su q u e s t a s e z i o n e p e r l i m i t a r e l ' a c c e s s o al s e r v e r a l l e s o l e m a c c h i n e c o n n e s s e alla r e t e l o c a l e .

g

===== Global Settings

= = = = = = = = = = = =

[global] ## Browsing/Identification ### # Change this to the workgroup/NT-domain name your Samba server will part of workgroup = WORKGROUP # server string is the equivalent of the NT Description field server string = %h server (Samba, Ubuntu) # Windows Internet Name Serving Support Section: # WINS Support - Tells the NMBD component of Samba to enable its WINS Server ; wins support = no # WINS Server - Tells the NMBD components of Samba to be a WINS Client # Note: Samba can be either a WINS Server, or a WINS Client, but NOT both ; wins server = w.x.y.z # This will prevent nmbd to search for NetBIOS names through DNS, dns proxy = no 20,1

Figura

8.8

- Nella prima parte del file

smb.coni sono

contenute le impostazioni

6%

globali.

N e l l a p a r t e i n i z i a l e d i s m b . c o n f si c e r c h i la r i g a s e g u e n t e : interfaces = 127.0.0.0/8 Q u e s t a riga va d e c o m m e n t a t a

ethO togliendo

il p r i m o c a r a t t e r e

q u i n d i si

d e v e i n s e r i r e al p o s t o d i e t h o l ' i n t e r f a c c i a c h e i d e n t i f i c a la r e t e l o c a l e . P o c o p i ù s o t t o b i s o g n a p o i d e c o m m e n t a r e la r i g a c h e s e g u e : bind interfaces only = true U n m e t o d o p i ù s t r i n g e n t e p e r l i m i t a r e le c o n n e s s i o n i al s e r v e r S a m b a

è

q u e l l o d i i n d i c a r e u n a lista d i i n d i r i z z i c u i è c o n s e n t i t o l ' a c c e s s o . P e r f a r e q u e s t o va a g g i u n t a u n ' a p p o s i t a riga hosts allow all'interno della sezione [Global] di smb.conf: hosts allow = 192.168.1.,

192.168.2.10

C o n q u e s t a r i g a d i e s e m p i o il p e r m e s s o d i c o l l e g a r s i al s e r v e r è a c c o r d a t o alle m a c c h i n e nella rete 1 9 2 . 1 6 8 . 1 . 0 e all'indirizzo

192.168.2.10.

In a l c u n i c a s i p u ò e s s e r e c o m o d o o n e c e s s a r i o f o r n i r e u n a c c e s s o a l l e r i s o r se c o n d i v i s e senza d o v e r r i c h i e d e r e a l c u n a p a s s w o r d . Per q u e s t o b i s o g n a m o d i f i c a r e la p o l i t i c a d i s i c u r e z z a d e l s e r v e r t r a m i t e il p a r a m e t r o s e c u r i t y : p e r d e f a u l t il v a l o r e d i t a l e p a r a m e t r o è u s e r e i n d i c a , a p p u n t o ,

l'utilizzo

di una diversa p a s s w o r d p e r o g n i u t e n t e cui è c o n s e n t i t o l'accesso alle d i r e c t o r y c o n d i v i s e . A s s e g n a n d o il v a l o r e s h a r e al p a r a m e t r o , i n v e c e , s a r à p o s s i b i l e e s p o r t a r e le risorse s e n z a l ' u s o d i u n a p a s s w o r d . N e l l a s e z i o n e [ G l o b a l ] si c e r c h i d u n q u e la r i g a : ;

security = user

e la si m o d i f i c h i c o s i : security =

share

I

!####### Authentication ####### # "security = user" is always a good idea. This will require a Unix account

# in this server for every user accessing the server. See # /usr/share/doc/samba-doc/htmldocs/Samba3-H0WT0/ServerType.html _# in the samba-doc package for details.

P e r o t t e n e r e u n a c c e s s o s e n z a p a s s w o r d si d e v e c o n s e n t i r e c h e la c o n n e s s i o n e al s e r v e r p o s s a a v v e n i r e m e d i a n t e u n a c c o u n t a n o n i m o ( g u e s t ) .

Per default l'utente guest è nobody, ma questo può essere modificato intervenendo sul parametro guest

account nella sezione [Global] di

smb.conf. Per esempio, per utilizzare come guest l'utente ale si inserisca questa riga: guest account = ale

N o n r i m a n e q u i n d i c h e inserire g u e s t

ok

= yes nelle righe di s m b . c o n f

d e d i c a t e alla risorsa d a c o n d i v i d e r e , così d a p e r m e t t e r e l ' a c c e s s o a essa senza p a s s w o r d . Ecco un b l o c c o d i righe d i e s e m p i o : [video] path = /usr/local/share/video g u e s t ok = y e s read only = yes In q u e s t e r i g h e v i e n e a s s e g n a t o il n o m e v i d e o alla risorsa, si d à a c c e s s o alla d i r e c t o r y / u s r / i o c a i / s h a r e / v i d e o e si c o n s e n t e la c o n n e s s i o n e senza p a s s w o r d a un u t e n t e a n o n i m o . Infine, si i n d i c a c h e la risorsa d e v e essere a sola l e t t u r a . T e r m i n a t a la c o n f i g u r a z i o n e d e l server, è c o n s i g l i a b i l e v e r i f i c a r e c h e q u e s t o f u n z i o n i c o r r e t t a m e n t e . In u n a c o n s o l e si installi il p a c c h e t t o s m b c i i e n t C o n sudo a p t - g e t i n s t a l i s m b c l i e n t e SI lanci il c o m a n d o s e g u e n t e , inser e n d o c o m e < i n d i r i z z o > l ' i n d i r i z z o IP d e l s e r v e r S a m b a e c o m e < u t e n t e > il n o m e d e l l ' u t e n t e c h e d e v e e f f e t t u a r e la c o n n e s s i o n e : s m b c l i e n t -L / / « i n d i r i z z o

-U < u t e n t e >

Una v o l t a d i g i t a t a la p a s s w o r d d e l l ' u t e n t e s a m b a i n s e r i t o , in o u t p u t si o t t e r r à u n a serie d i i n f o r m a z i o n i sulle d i v e r s e

risorse

condivise dal server

(Figura 8.10). Se t u t t o c o r r i s p o n d e a q u a n t o v o l u t o e le risorse i n d i c a t e nel file s m b . c o n f r i s u l t a n o a t t i v e , la c o n f i g u r a z i o n e d e l s e r v e r è t e r m i n a t a e ci si p u ò d e d i care ai c l i e n t d a c o n n e t t e r e .

ale@pitagora:-$ smbclient -L //192.168.1.4 -U ale SPassword: Domain=[PITAGORA] 0S= [Unix] Server=[Samba 3.0.28a] Sharename

Type

Comment

IPC$ IPC IPC Service (pitagora server (Samba, Ubuntu)) documenti Disk print$ Disk Printer Drivers PDF Printer PDF ML-1610 Printer Samsung ML-1610 Domain=[PITAGORA] 0S= [Unix] Server=[Samba 3.0.28a] Server

Comment

Workgroup

Master

WORKGROUP ale@pitagora:-$ |

PITAGORA

Figura 8.70 - Con smbclient -L si ottengono da un server Samba.

informazioni sulle risorse condivise

Un altro c o m a n d o utile p e r verificare la c o n f i g u r a z i o n e d i un server S a m b a è testparm, c o n t e n u t o n e l p a c c h e t t o s a m b a - c o m m o n . Q u e s t o c o m a n d o , e s e g u i t o senza alcun p a r a m e t r o a g g i u n t i v o , verifica la correttezza d e l file s m b . c o n f . Se l ' o u t p u t n o n rivela errori, q u i n d i , il file d i c o n f i g u r a z i o n e sarà c o r r e t t a m e n t e caricato d a l d e m o n e s a m b a sul server.

Callegarsi al server Samba S e il c l i e n t è u n a m a c c h i n a L i n u x il m o d o p i ù i m m e d i a t o p e r a c c e d e r e al s e r v e r S a m b a o a d e l l e c a r t e l l e W i n d o w s c o n d i v i s e è q u e l l o d i u s a r e smbclient. Dopo

a v e r i n s t a l l a t o il p a c c h e t t o

omonimo

d e v e e s e g u i r e il p r o g r a m m a i n q u e s t o smbclient

///

p e r c o l l e g a r s i al s e r v e r si

modo:

-U

P e r e s e m p i o , p e r c o l l e g a r s i al s e r v e r 1 9 2 . 1 6 8 . 1 . 4 c o m e u t e n t e a i e a c c e d e n d o a l l a r i s o r s a d o c u m e n t i si d i g i t a : smbclient

//192.168.1.4/documenti

-U ale

A q u e s t o p u n t o v e r r à c h i e s t o d i i n s e r i r e la p a s s w o r d p e r l ' u t e n t e . Q u i n d i si a v r à a c c e s s o a u n a s e m p l i c e i n t e r f a c c i a d i d i a l o g o c o n il s e r v e r , d e l t u t t o s i m i l e a q u e l l a d i u n c l i e n t FTP a c a r a t t e r i . I principali c o m a n d i interni dell'interfaccia s o n o i c a n o n i c i ed (per c a m b i a r e d i r e c t o r y ) , d i r ( p e r m o s t r a r e il c o n t e n u t o d e l l a d i r e c t o r y c o r r e n t e ) , g e t ( p e r s c a r i c a r e u n f i l e d a l s e r v e r ) e p u t ( p e r c a r i c a r e u n f i l e n e l s e r v e r ) . Si p u ò o t t e n e r e un e l e n c o d e i c o m a n d i interni di smbclient s c r i v e n d o heip.

K l e @ p i t a g o r a : s m b c l i e n t //192.168.1.4/documenti -U ale •Password: Domain=[PITAGORA] 0S=[Unix] Server=[Samba 3.0,28a] smb: \> ed fag smb: \fag\> dir D 0 Tue Jun 17 16:31:13 2008 D 0 Fri Aug 1 15:51:26 2008 0 Mon Jun 2 13:36:04 2008 ubuntu D 0 Mon Aug 11 11:21:58 2008 ubuntu stampa D 46936 blocks of size 1048576. 15188 blocks available smb: \fag\> ed ubuntu smb: \fag\ubuntu\> dir D 0 Mon Jun 2 13:36:04 D 0 Tue Jun 17 16:31:13 ,. libro.doc 854016 Mon Jun 2 13:38:20 libro.odt 153089 Mon Jun 2 13:37:58 0 Mon Jun 2 13:28:55 >; Figure D

2008 2008 2008 2008 2008

46936 blocks of size 1048576. 15188 blocks available • smb: \fag\ubuntu\> | Figura 8.11 - L'interfaccia di smbclient

1

è simile a quella dei client FTP a caratteri.

Per o p e r a z i o n i p i ù a r t i c o l a t e s u l l e r i s o r s e o , s e m p l i c e m e n t e , p e r u n a c c e s s o p i ù c o m o d o a e s s e è c o n s i g l i a b i l e i n s t a l l a r e sul c l i e n t il p a c c h e t t o s m b f s e m o n t a r e la r i s o r s a r e m o t a s u l l a m a c c h i n a l o c a l e c o m e s e si t r a t t a s s e d i un normale disco. Il c o m a n d o d a u t i l i z z a r e è il c o n s u e t o m o u n t , c o n la s e g u e n t e s i n t a s s i : sudo mount -t smbfs -o username= ///



A l p o s t o d i < d i r e c t o r y > si d e v e i n s e r i r e la d i r e c t o r y , e s i s t e n t e n e l s i s t e m a , a l l ' i n t e r n o d e l l a q u a l e la

risorsa

r e m o t a d e v e e s s e r e resa d i s p o n i b i l e sul

c l i e n t . L ' e s e m p i o a d o t t a t o p e r s m b c l i e n t d i v e n t a q u i n d i p e r m o u n t così: sudo m o u n t -t smbfs -o u s e r n a m e = a l e / / 1 9 2 . 1 6 8 . 1 . 4 / d o c u m e n t i

/mnt/samba

D o p o a v e r e s e g u i t o q u e s t o c o m a n d o , il c o n t e n u t o d e l l a risorsa d o c u m e n t i sarà a c c e s s i b i l e in / m n t / s a m b a . Per m o n t a r e u n a d i r e c t o r y r e m o t a in a u t o m a t i c o a l l ' a v v i o è p o s s i b i l e i n t e r v e n i r e sul f i l e / e t c / f s t a b . E c c o q u i n d i l ' e s e m p i o fin q u i

riportato

//192.168.1.4/documenti

t r a d o t t o in u n ' a p p o s i t a r i g a p e r / e t c / f s t a b : /mnt/samba smbfs username=ale,password=x

0 0

C o m e si p u ò n o t a r e , si è a g g i u n t a u n ' u l t e r i o r e o p z i o n e p a s s w o r d (il c a r a t t e re x va c a m b i a t o c o n l ' e f f e t t i v a p a s s w o r d u t i l i z z a t a ) p e r a v e r e a c c e s s o alla risorsa d a l l ' a v v i o d e l c l i e n t s e n z a c h e l ' u t e n t e d e b b a d i g i t a r e n u l l a . N e l c a s o si c o n s e n t a la c o n n e s s i o n e s e n z a p a s s w o r d t r a m i t e l ' u t e n t e g u e s t , la riga p e r / e t c / f s t a b d i v e n t a così: //192.168.1.4/documenti

/mnt/samba smbfs guest 0 0

Per o t t e n e r e l ' a c c e s s o al s e r v e r S a m b a d a u n a m a c c h i n a W i n d o w s b i s o g n a a s s i c u r a r s i c h e il w o r k g r o u p i m p o s t a t o n e l l a c o n f i g u r a z i o n e d i W i n d o w s c o r r i s p o n d a a q u e l l o p r e s e n t e n e l f i l e / e t c / s a m b a / s m b . c o n f d e l s e r v e r . Per m o d i f i c a r e q u e s t ' u l t i m o b a s t a e n t r a r e in s m b . c o n f e c a m b i a r e il v a l o r e ass e g n a t o a l l ' o p z i o n e w o r k g r o u p n e l l a riga s e g u e n t e : workgroup = WORKGROUP F a t t o q u e s t o , le r i s o r s e e s p o r t a t e d a l s e r v e r S a m b a s a r a n n o v i s i b i l i d a l client W i n d o w s c o m e normali dischi condivisi.

Attenzione. Se sulle macchine client si utilizza W i n d o w s Vista è necessario che sul server sia installata una versione 3.x di Samba, presente c o m u n q u e nei repository di U b u n t u Server 8.04.

9. Il backup Eli strumenti per effettuare

va

CDpiB di riser-

di directory e di intere

partizioni

Effettuare c o p i e d i b a c k u p d i d i r e c t o r y o interi dischi n o n è u n m e r o scrup o l o m a u n a n e c e s s i t à , sia c h e si g e s t i s c a n o n u m e r o s e m a c c h i n e i n s e r i t e in u n ' a r t i c o l a t a L A N sia c h e si a m m i n i s t r i n o u n p a i o d i P C in a m b i t o d o m e s t i c o . I n f a t t i , s e n z a d e i sani e f r e q u e n t i b a c k u p n u l l a si p o t r à c o n t r o la r o t t u r a d i u n h a r d d i s k o la c a n c e l l a z i o n e a c c i d e n t a l e d i f i l e i m p o r t a n t i . In q u e s t i casi, l ' u n i c a d i f e s a p o s s i b i l e è u n a r a g i o n e v o l e p r e v e n z i o n e . N e l l e p a g i n e c h e s e g u o n o , q u i n d i , v e r r a n n o presentati alcuni diffusi strum e n t i d i b a c k u p . Si c o m i n c e r à d a i p r o g r a m m i p i ù s e m p l i c i e si g i u n g e r à , alla f i n e , a u t i l i z z a r e s i s t e m i c l i e n t - s e r v e r a d a t t i sia a d a m b i t i a z i e n d a l i sia a reti d i m e d i e d i m e n s i o n i .

Copiare intere partizioni Una e l e m e n t a r e m a spesso efficace strategia d i b a c k u p consiste nel creare d e i f i l e i m m a g i n e d e l l e p a r t i z i o n i p r e s e n t i s u l l ' h a r d d i s k , in m o d o t a l e c h e , in c a s o d i p r o b l e m i , sia p o s s i b i l e di una macchina s e m p l i c e m e n t e partizioni.

ripristinare

ritrasferendo

il c o r r e t t o f u n z i o n a m e n t o su d i s c o le i m m a g i n i d e l l e

Un simile m e t o d o di conservazione d e i dati è l'ideale per s p o r a d i c h e o p e r a z i o n i d i c o p i a , m a n o n c o n s e n t e la c r e a z i o n e d i b a c k u p i n c r e m e n t a l i . P u ò r i s u l t a r e u t i l e , t u t t a v i a , su s i s t e m i d o m e s t i c i in c u i i d a t i r i l e v a n t i v e n g a n o a g g i o r n a t i d i r a d o , m e n t r e in a m b i e n t i d i m a g g i o r i d i m e n s i o n i la c r e a z i o n e d i f i l e i m m a g i n e p u ò c o s t i t u i r e u n o s t r u m e n t o e f f i c i e n t e p e r la c l o n a z i o n e d i sistemi simili tra loro.

Il b a c k u p incrementale p e r m e t t e di memorizzare solo i c a m b i a m e n t i avvenuti nei file d o p o l'ultimo backup effettuato. La creazione delle c o p i e di riserva dei dati, una volta effettuato il b a c k u p c o m p l e t o iniziale, è d u n q u e più rapida rispetto a un backup totale dei file.

P a r t i m a g e è un'applicazione che, per mezzo di una g r a d e v o l e e semplice interfaccia, p e r m e t t e di creare e

ripristinare

file i m m a g i n e di partizioni

f o r m a t t a t e con un n u m e r o nutrito di filesystem. Inoltre, d a t o che d u r a n t e la g e n e r a z i o n e d e i f i l e i m m a g i n e i s e t t o r i v u o t i p r e s e n t i in u n a p a r t i z i o n e n o n v e n g o n o c o p i a t i , la v e l o c i t à n e l l a c o p i a d e i d a t i c h e si r a g g i u n g e c o n P a r t i m a g e è p i ù a l t a d i q u e l l a o t t e n i b i l e c o n c o m a n d i c o m e dd. La c o m p a t i b i l i t à d e l p r o g r a m m a c o n i f i l e s y s t e m E x t 2 / 3 , R e i s e r 3 , X F S , J F S e F A T I 6 / 3 2 è e c c e l l e n t e , m e n t r e la g e s t i o n e d i f i l e i m m a g i n e d i p a r t i z i o n i H F S (il f i l e s y s t e m d i M a c O S ) è in s t a d i o d i b e t a , c i o è a n c o r a n o n o t t i m a l e ; anche l'utilizzo di partizioni NTFS c o n P a r t i m a g e è c o n s i d e r a t o sperimentale.

Pur essendo la compatibilità di Partimage con il filesystem NTFS limitata, le probabilità di riuscire a creare un file i m m a g i n e di una partizione NTFS a u m e n t a n o se questa risulta p o c o frammentata. Prima di avviare Partimage, quindi, è consigliabile d e f r a m m e n t a r e la partizione NTFS che si intende copiare.

a . Il backup

Una distribuzione per Partimage È p o s s i b i l e installa re e u t i l i z z a r e P a r t i m a g e a l l ' i n t e r n o d i U b u n t u S e r v e r m a è c o n s i g l i a b i l e a v v a l e r s i u n ' a p p o s i t a d i s t r i b u z i o n e Live, c h i a m a t a sys t e m R e s c u e C D , p e r a v v i a r e il p r o g r a m m a . In q u e s t o m o d o si è c e r t i c h e t u t t e le p a r t i z i o n i d i s p o n i b i l i r i s u l t i n o c o r r e t t a m e n t e s m o n t a t e . La d i s t r o S y s t e m R e s c u e C D si s c a r i c a d a l l ' i n d i r i z z o : http://www.sysresccd.org/Main

Page

U n a v o l t a m a s t e r i z z a t a su C D l ' i m m a g i n e I S O p i ù r e c e n t e d e l l a d i s t r i b u z i o n e , c h e al m o m e n t o d e l l a s t e s u r a d e l l i b r o è s y s t e m r e s c u e c d - x 8 6 - 1 . 0 . 4 . i s o , si i n s e r i s c e il C D e si e f f e t t u a il b o o t d e l l a m a c c h i n a d a q u e s t o s u p p o r t o .

Elle Modifica i/isualizza Cronologia W

"

$

¡¡..s

System

Éèxcue C

. HOMEPAGE .FORUMS . NEWS

(SÉMI » « » « .

Home Screenshots download HowTo FAQ

• • » . « « « »

ChangeLog-x86 ChangeLog-ppc ChangeLog-sparc System tools Package-iist-x86 Package-list-sparc Kernel Seta-x86

Segnalibri Strumenti

Guida

.. I-jiicE

Port:

partimage.

U t i l i z z a r e l ' i n t e r f a c c i a d i P a r t i m a g e è s e m p l i c e . C o n il t a s t o T a b si p a s s a d a u n e l e m e n t o d e l l ' i n t e r f a c c i a al s u c c e s s i v o , c o n S p a z i o si s e l e z i o n a u n ' o p z i o n e e c o n i t a s t i f r e c c i a su e g i ù ci si s p o s t a a l l ' i n t e r n o d i u n e l e n c o .

Come Action è indicata per default Save partition into a new image file. Per c r e a r e u n f i l e i m m a g i n e , q u i n d i , b a s t a s e l e z i o n a r e d a l l ' e l e n c o in a l t o la p a r t i z i o n e d i c u i si d e s i d e r a e f f e t t u a r e la c o p i a , p r e m e r e T a b e d i g i t a r e il p e r c o r s o c o m p l e t o d e l f i l e i m m a g i n e d a g e n e r a r e . Per e s e m p i o , se si v u o le c r e a r e il f i l e u b u n t u - 1 4 0 8 0 8 . i m g nel p u n t o d i m o u n t / m n t / d i s k si s c r i v e / m n t / d i s k / u b u n t u - 1 4 0 8 0 8 . i m g e si b a t t e I n v i o . F a t t o q u e s t o si p r e m e F 5 p e r p r o s e g u i r e . N e l l a s c h e r m a t a s u c c e s s i v a si p u ò s c e g l i e r e il l i v e l l o d i c o m p r e s s i o n e d e l f i l e i m m a g i n e : le o p z i o n i d i -

sponibili sono None, Gzip e Bzip2. C o n N o n e il f i l e v e r r à c r e a t o c o n e s t r e m a r a p i d i t à m a n o n sarà c o m p r e s s o e, q u i n d i , r i s u l t e r à d i g r a n d i d i m e n s i o n i . G z i p è i n v e c e la s c e l t a d i d e f a u l t e p r e s e n t a un a c c e t t a b i l e c o m p r o m e s s o tra v e l o c i t à d i creazione d e l file e d i m e n s i o n i finali di q u e s t o . B z i p 2 , infine, g e n e r e r à un file dalle d i m e n s i o n i m i n i m e m a i m p i e g a n d o m o l t o t e m p o . N e l l a g r a n p a r t e d e i casi è c o n s i gliabile scegliere Gzip. U n ' a l t r a o p z i o n e i n t e r e s s a n t e è If f i n i s h e d s u c c e s s f u l l y : , c h e c o n s e n t e d i s t a b i l i r e l ' a z i o n e d a i n t r a p r e n d e r e q u a n d o la c r e a z i o n e d e l f i l e i m m a g i n e t e r m i n a c o n s u c c e s s o . V a l o r i d e g n i d i n o t a d e l l ' o p z i o n e s o n o H a l t e Reb o o t , p e r s p e g n e r e e r i a v v i a r e la m a c c h i n a a o p e r a z i o n e c o n c l u s a . N e l l a m e d e s i m a s c h e r m a t a , i n f i n e , è p o s s i b i l e i n d i c a r e se si d e s i d e r a s u d d i v i d e r e l ' i m m a g i n e d e l l a p a r t i z i o n e in p i ù f i l e e in c h e m o d o

bisogna

farlo. La scelta prestabilita per l'opzione Image split mode è Into files w h o s e s i z e is:, s e g u i t a d a l v a l o r e n u m e r i c o 2 0 3 7 M i B . Per d e f a u l t , q u i n d i , i f i l e i m m a g i n e v e n g o n o r i p a r t i t i in s i n g o l i f i l e d a l l a d i m e n s i o n e m a s s i m a di 2 GB. I n d i c a n d o A u t o m a t i c s p l i t c o m e v a l o r e d e l l ' o p z i o n e , i n v e c e , il f i l e i m m a g i n e sarà s u d d i v i s o in p i ù f i l e s o l o n e l c a s o in c u i f i n i s s e l o s p a z i o d i s p o n i b i l e sul d i s p o s i t i v o . In u n a s i m i l e e v e n t u a l i t à , v e r r à c h i e s t o d i i n s e r i r e il p e r c o r s o d i u n n u o v o f i l e i m m a g i n e d o v e r i v e r s a r e la p a r t e r e s t a n t e d e l l a partizione da copiare.

Mettendo la spunta su Wait after each volume change, infine, il prog r a m m a d a r à m o d o a l l ' u t e n t e d i c a m b i a r e il s u p p o r t o d i m e m o r i z z a z i o n e in c a s o d i n e c e s s i t à .

Se si i n t e n d e creare d e i file i m m a g i n e d a m e m o r i z z a r e p o i su C D - R O M

si lasci Into files whose size is: come valore di Image split mode e si i n d i c h i c o m e valore n u m e r i c o 6 5 0 o 7 0 0 M i B , a s e c o n d a della capienza d e i dischi i m p i e g a t i . Nel caso d i utilizzo d i D V D - R O M il valore da inserire è 4400 MiB.

: Macchina

Dispositivi

Aiuto sàve partition io image lile

Compression level ( ) Hone (very fast + very big file) (*) Gzip i.gz: medium speed + small image file) ( ) BzipZ (.bzZ: very slow • very small image file) Options [XI Check partition b e f o r e s a v i n g [XI Enter description C ] Overwrite without prompt

If finished successfully:

Image split mode ( ) Automatic split (when no space left)| (*) Into files whose size is: [ 1 Wait after each volume change







initializing the operation. [» to cancel, CtrlS to pause, CtrlQ to résumé]

S c e l t i i v a l o r i d e s i d e r a t i p e r le o p z i o n i , si p r e m a F 5 . Se l o si d e s i d e r a , q u i n d i , si p u ò i n s e r i r e u n a d e s c r i z i o n e c h e s p e c i f i c h i il c o n t e n u t o d e l l a p a r t i z i o n e d a c o p i a r e . F a t t o q u e s t o , si s e l e z i o n i il p u l s a n t e O K p r e m e n d o

Life

Invio.

i

Linux U b u n t u per s e r v e r e reti

A q u e s t o p u n t o c o m p a r i r à u n a f i n e s t r a i n f o r m a t i v a sulla p a r t i z i o n e c h e si intende copiare. O r a n o n rimane che premere ancora Invio e attendere c h e il f i l e i m m a g i n e v e n g a g e n e r a t o . Si p r o c e d a p o i n e l m e d e s i m o m o d o p e r t u t t e le a l t r e p a r t i z i o n i d a c o p i a r e .

Ripristinare un file immagine su discu La p r o c e d u r a n e c e s s a r i a p e r r i p r i s t i n a r e l ' i m m a g i n e d i u n a p a r t i z i o n e è s i m i l e a q u e l l a s e g u i t a p e r c r e a r e il f i l e i m m a g i n e . E c c o u n s u c c i n t o r i e p i l o g o d e i diversi passaggi: 1. si a v v i a p a r t i m a g e d a l l a c o n s o l e d i S y s t e m R e s c u e C D e n e l l a s c h e r m a t a c h e a p p a r e si s e l e z i o n a , in a l t o , la p a r t i z i o n e d a r i p r i s t i n a r e ; 2. si p r e m e il t a s t o T a b e si d i g i t a il p e r c o r s o d e l f i l e i m m a g i n e . D a t o c h e P a r t i m a g e a g g i u n g e a u t o m a t i c a m e n t e l ' e s t e n s i o n e . 0 0 0 al p r i m o file i m m a g i n e g e n e r a t o , il n o m e d e l f i l e d a r i p r i s t i n a r e d e v e c o n t e n e r e i c a r a t t e r i . 0 0 0 finali. Per e s e m p i o , se il f i l e i m m a g i n e c r e a t o è d e b i a n . i m g , il n o m e d e l f i l e d a r i p r i s t i n a r e d i v e n t a d e b i a n . i m g . 0 0 0 ;

restore partition from image file Opt ions [ ] Simulation of the restoration (nothing is w r i t t e n ) t 1 Erase free blocks with zero values If finished

IHL

— a a r

successfully:

»l'IM»







{initializing the operation t» to c a n c e l , CtrlS to p a u s e , CtrlQ to r e s u m e ] Figura 9.5 - La schermata

di Partimage

con le opzioni

per il ripristino

di una

partizione.

3. si preme Tab e si sceglie Restore p a r t i t i o n f r o m an image file come A c t i o n . Si p r e m e F 5 p e r p r o s e g u i r e . N e l l a s c h e r m a t a s u c c e s s i v a si i n d i c a n o le o p z i o n i d i r i p r i s t i n o v o l u t e : p e r s i m u l a r e

l'operazione

s e n z a s c r i v e r e n u l l a sulla p a r t i z i o n e d i d e s t i n a z i o n e va s p u n t a t a l ' o p z i o n e S i m u l a t i o n o f t h e r e s t o r a t i o n . P o i si p r e m e a n c o r a F 5 ;

4. a p p a r i r à u n a f i n e s t r a c o n t e n e n t e i n f o r m a z i o n i d e t t a g l i a t e sulla p a r tizione da

ripristinare.

A q u e s t o p u n t o si p r e m e I n v i o d u e v o l t e e si

a t t e n d e c h e l ' o p e r a z i o n e d i r i p r i s t i n o a b b i a t e r m i n e . Sarà p o i p o s s i bile ripristinare altre partizioni s e g u e n d o i m e d e s i m i passaggi.

Il backup di file e directory Per u n a s e l e z i o n e g r a n u l a r e d e l l e i n f o r m a z i o n i d a c o p i a r e e

ripristinare,

è

n e c e s s a r i o a v v a l e r s i d i p r o g r a m m i c h e c o n s e n t a n o d i e f f e t t u a r e il b a c k u p d i r e t t o d i file e directory. N e l caso d e l

ripristino

d i una s e m p l i c e cartella o

d i u n g r u p p o d i f i l e , i n f a t t i , a p p l i c a z i o n i c o m e P a r t i m a g e c o s t r i n g o n o al r e c u p e r o dell'intera partizione c o n t e n e n t e i file desiderati, c o n u n n o t e v o l e s p r e c o d i t e m p o e spesso c o n risultati n o n v o l u t i . In q u e s t a s e z i o n e d e l c a p i t o l o v e r r a n n o d u n q u e p r e s e n t a t i d u e p o t e n t i s t r u m e n t i p e r il b a c k u p m i r a t o d e i d a t i , t a r e r s y n c , f o r n e n d o p e r essi la c o n s u e t a serie d i e s e m p i d ' u s o .

Archiviare con tar Un p r o g r a m m a s e m p l i c e e p o t e n t e c h e c o n s e n t e d i archiviare il c o n t e n u t o d i i n t e r e d i r e c t o r y in u n u n i c o file o su d i u n n a s t r o è tar. Si è g i à i n c o n t r a t o q u e s t o c o m a n d o n e l l e p a g i n e d e d i c a t e alla stesura d e g l i s c r i p t e , a q u e s t o p u n t o , è g i u n t o il m o m e n t o d i a p p r o f o n d i r n e la sintassi e c o n o s c e r n e le o p z i o n i d i s p o n i b i l i . N e l l a Tabella 9 . 1 v e n g o n o e l e n c a t e le o p z i o n i p r i n c i p a l i d i t a r , q u e l l e c i o è c h e s e l e z i o n a n o la m o d a l i t à d i f u n z i o n a m e n t o d e l p r o g r a m m a .

Tabella 9.1 - Le opzioni principali di tar. Funzione

Opzione -c o - - c r e a t e

Crea un n u o v o archivio

-x o - e x t r a c t

Estrae i file c o n t e n u t i nell'archivio

-t o - l i s t

M o s t r a in o u t p u t c i ò c h e c o n t i e n e l ' a r c h i v i o

-r o - a p p e n d

A g g i u n g e d e i file a un archivio esistente

-u o - u p d a t e

-d o —compare

A g g i u n g e d e i f i l e s o l o s e q u e s t i s o n o n u o v i o p i ù recenti d e l l e c o p i e m e m o r i z z a t e negli archivi Confronta

i dati memorizzati nell'archivio c o n quelli

presenti attualmente nel sistema

-delete -A o - c a t e n a t e

E l i m i n a d e i f i l e d a l l ' a r c h i v i o . N o n f u n z i o n a p e r g l i archivi su n a s t r o A g g i u n g e il c o n t e n u t o d i u n o o p i ù archivi e s i s t e n t i all'archivio indicato

A l l a serie d i o p z i o n i i n d i c a t e va a g g i u n t o u n a m p i o v e n t a g l i o d i o p z i o n i ausiliarie. Le p i ù i m p o r t a n t i s o n o -f, p e r i n d i c a r e il f i l e o ¡1 d i s p o s i t i v o c o r r i s p o n d e n t e a l l ' a r c h i v i o d a usare, -z p e r g e s t i r e archivi c o m p r e s s i c o n g z i p , -j p e r utilizzare archivi b z i p 2 e , i n f i n e , -v p e r a u m e n t a r e il l i v e l l o d i verbosità d e l l ' o u t p u t . Altre opzioni d'uso c o m u n e verranno presentate nel corso d e i paragrafi seguenti. Le o p e r a z i o n i di base con t a r Il p r o g r a m m a t a r va l a n c i a t o f o r n e n d o sulla linea d i c o m a n d o u n ' o p z i o n e principale, seguita d a altre o p z i o n i nel caso q u e s t e fossero

richieste.

Ecco

un e s e m p i o : tar cjf h o m e _ a l e . t a r . b z 2

/home/ale

C o n q u e s t o c o m a n d o v i e n e c r e a t o ( o p z i o n e c) l ' a r c h i v i o su f i l e ( f ) h o m e _ a l e . t a r . b z 2 . A l s u o i n t e r n o si c o p i a l ' i n t e r o c o n t e n u t o d i / h o m e / a l e , s o t t o d i r e c t o r y c o m p r e s e , c o m p r i m e n d o i d a t i m e d i a n t e b z i p 2 (j). C o m e si p u ò n o t a r e , l ' u t i l i z z o d e l c a r a t t e r e - c h e p r e c e d e le s i n g o l e o p z i o n i è f a c o l t a t i v o : lo stesso c o m a n d o a v r e b b e p o t u t o essere s c r i t t o t a r -cjf, t a r -c -j -f o p p u r e , a n c o r a , t a r - - c r e a t e --bzip2

--file.

Un archivio tar compresso ha l'indubbio vantaggio di occupare meno spazio sul supporto rispetto al medesimo archivio non compresso. In caso di difetti e d errori anche lievi su di un supporto, però, un archivio compresso rischia di risultare t o t a l m e n t e illeggibile. Un semplice archivio tar, invece, nella medesima situazione consentirebbe il recupero parziale dei contenuti, solitamente fino al blocco danneggiato.

C o n ¡1 s e m p l i c e c o m a n d o a p p e n a i n s e r i t o , q u i n d i , si è e f f e t t u a t o il b a c k u p c o m p l e t o della h o m e d i r e c t o r y d e l l ' u t e n t e ale. N e l l ' i m m a g i n e che s e g u e (Figura 9.6) è p o s s i b i l e v e d e r e l ' o u t p u t d e l c o m a n d o , c o n un p i c c o l o c a m b i a m e n t o : in q u e s t o c a s o è s t a t a a g g i u n t a a t a r l ' o p z i o n e v p e r a u m e n t a r e la v e r b o s i t à d e l

programma.

ale@pitagora:~$ tar cjfv homeale.tar,bz2 /home/ale tar: Rimuovo il '/' iniziale dai nomi dei membri /home/ale/ /home/ale/.gconf/ /home/ale/.gconf/desktop/ /home/ale/.gconf/desktop/gnome/ /home/ale/.gconf/desktop/gnome/accessibility/ /home/ale/, gconf/desktop/gnome/accessibility/keyboard/ /home/ale/.gconf/desktop/gnome/accessibility/keyboard/%gconf. xml /home/ale/.gconf/desktop/gnome/accessibility/%gconf. xml /home/ale/.gconf/desktop/gnome/%gconf.xml /home/ale/.gconf/desktop/gnome/applications/ /home/ale/.gconf/desktop/gnome/applications/windowmanager/ /home/ale/.gconf/desktop/gnome/applications/window manager/%gconf.xml /home/ale/.gconf/desktop/gnome/applications/%gconf.xml /home/ale/,gconf/desktop/gnome/applications/browser/ /home/ale/.gconf/desktop/gnome/applications/browser/%gconf.xml /home/ale/.gconf/desktop/gnome/applications/at/ /home/ale/.gconf/desktop/gnome/applications/at/visual/ /home/ale/.gconf/desktop/gnome/applications/at/visual/%gconf.xml /home/ale/. gconf/desktop/gnome/applications/at/%gconf.xml /home/ale/.gconf/desktop/gnome/background/ /home/ale/.gconf/desktop/gnome/background/%gconf.xml /home/ale/.gconf/desktop/gnome/interface/

Figura 9.6 - L'output del comando tar cjfv. Durante la creazione dell'archivio mostrati a mano a mano i file inseriti.

vengono

È c o n s i g l i a b i l e v e r i f i c a r e c h e l ' a r c h i v i o a p p e n a c r e a t o sia la c o p i a e s a t t a d i q u a n t o presente nel sistema, c o n f r o n t a n d o i dati d e l p r i m o c o n l'effettivo c o n t e n u t o d e l f i l e s y s t e m . P e r q u e s t a o p e r a z i o n e si e n t r a n e l l a

directory

r a d i c e c o n e d / e si u t i l i z z a l ' o p z i o n e - - c o m p a r e (-d) i n s e r e n d o il p e r c o r s o c o m p l e t o dell'archivio, c o m e nell'esempio seguente: tar dvf

/tmp/home_ale.tar.bz2

R i p o s t o l ' a r c h i v i o s u d i u n s u p p o r t o s i c u r o , q u a n d o si v o r r à c o n t r o l l a r n e il c o n t e n u t o si m o n t e r à il d i s p o s i t i v o d e l s u p p o r t o , si e n t r e r à n e l l a d i r e c t o r y d i q u e s t o e si l a n c e r à t a r c o n l ' o p z i o n e - - l i s t (-t): tar tjf

home_ale.tar.bz2

N e l t e r m i n a l e in cui si è e s e g u i t o il c o m a n d o v e r r a n n o e l e n c a t i t u t t i i f i l e e le d i r e c t o r y p r e s e n t i n e l l ' a r c h i v i o i n d i c a t o . Infine, p e r r i p r i s t i n a r e il c o n t e n u t o d e l l ' a r c h i v i o sul d i s c o si e n t r a d i r e c t o r y r a d i c e e si e s e g u e tar

nella

xjf seguito dal percorso c o m p l e t o di

home_ale.tar.bz2, c o m e nell'esempio seguente: t a r xjf

/media/cdrom/home_ale.tar.bz2

Per esser c e r t i c h e i p e r m e s s i nei f i l e r i p r i s t i n a t i c o r r i s p o n d a n o a q u e l li c o n t e n u t i n e l l ' a r c h i v i o , alla linea d i c o m a n d o va a g g i u n t a l ' o p z i o n e

--

s a m e - p e r m i s s i o n s (-p): tar x j p f

/media/cdrom/home_ale.tar.bz2

Q u e s t a o p z i o n e è i m p l i c i t a q u a n d o si e s t r a e un a r c h i v i o d a r o o t . Per c o n c l u d e r e q u e s t a carrellata sulle o p e r a z i o n i d i b a s e in tar, u n ' o p z i o n e u t i l e q u a n d o si d e v o n o c r e a r e c o p i e d i b a c k u p d i d i r e c t o r y v o l u m i n o s e è --exclude, c h e p e r m e t t e d i e s c l u d e r e f i l e e i n t e r e d i r e c t o r y d a l l ' a r c h i v i o c h e si v u o l e g e n e r a r e . Ecco un e s e m p i o : tar cjf h o m e _ a l e . t a r . b z 2 /home/ale

- - e x c l u d e *.jpg - - e x c l u d e

/home/ale/Musica

In q u e s t a riga v e n g o n o esclusi d a l l ' a r c h i v i o i f i l e c h e t e r m i n a n o c o n il suffisso . j p g e l ' i n t e r a d i r e c t o r y / h o m e / a l e / M u s i c a . Se g l i e l e m e n t i d a e s c l u d e r e s o n o m o l t i è c o n s i g l i a b i l e inserirli a l l ' I n t e r n o d i un f i l e d i t e s t o , un e l e m e n t o p e r ciascuna riga, e r i c h i a m a r e p o i t a r c o n l ' o p z i o n e - - e x c l u d e - f r o m (-x) s e g u i t a d a l p e r c o r s o d e l file: tar cjf h o m e _ a l e . t a r . b z 2

-X / t m p / e s c l u s i . t x t

/home/ale

Richiamando le opzioni -d e -x di tar è stato necessario entrare nella directory radice prima di poter lanciare il c o m a n d o . Questo perché, per default, q u a n d o crea un archivio, t a r elimina il carattere iniziale / dai nomi dei file. Per mantenere il percorso c o m p l e t o nei nomi dei file si deve usare l'opzione - -absolute-names (-p) nella creazione e nell'estrazione degli archivi.

mmm

/home/ale/Video /home/ale/Download /home/ale/doc/musica /home/ale/Immagini

1

"esclusi.txt"

5 L , 76C

5,0-1

Figura 9.7 - Gli elementi da escludere in un apposito file di testo.

da un archivio

possono

venire

Tut

elencati

Tar e i backup incrementali Il p r o g r a m m a t a r p e r m e t t e d i c r e a r e d i a r c h i v i i n c r e m e n t a l i . La g e s t i o n e d i q u e s t i è a f f i d a t a a l l ' o p z i o n e - - l i s t e d - i n c r e m e n t a i (-g) e a l l ' u t i l i z z o d i u n f i l e d i s n a p s h o t : si t r a t t a d i u n s e m p l i c e f i l e d i l o g c h e f o r n i s c e a t a r i n f o r m a z i o n i sullo stato d e i file e d e l l e d i r e c t o r y p r e s e n t i in u n archivio. A v e n d o a disposizione una "istantanea" d e l contenuto più recente di un a r c h i v i o , q u i n d i , il p r o g r a m m a p u ò c r e a r e il s u c c e s s i v o f i l e i n c r e m e n t a l e i n d i v i d u a n d o i file n u o v i e q u e l l i m o d i f i c a t i d a l l ' u l t i m a volta. Q u a n d o si c r e a u n a r c h i v i o i n c r e m e n t a l e b i s o g n a g e n e r a r e a n c h e il r e l a t i v o f i l e d i s n a p s h o t . E c c o u n e s e m p i o p e r il b a c k u p d e l l a d i r e c t o r y / e t c : t a r cf e t c - 1 5 0 8 0 8 . t a r

-g / t m p / e t c . i n c / e t c

C o n q u e s t o c o m a n d o v i e n e c r e a t o l'archivio iniziale e t c - 1 5 0 8 0 8 . t a r , c h e è u n a r c h i v i o d i t i p o c o m p l e t o , m e n t r e le i n f o r m a z i o n i p e r i f u t u r i f i l e i n c r e mentali sono memorizzate nello snapshot /tmp/etc.inc. Q u a n d o si v o r r à a g g i o r n a r e il b a c k u p d e l l a d i r e c t o r y / e t c b i s o g n e r à s e m p r e f a r e r i f e r i m e n t o al f i l e d i s n a p s h o t i n d i c a t o in p r e c e d e n z a , così d a p e r m e t t e r e a tar d i g e n e r a r e d e g l i archivi incrementali: t a r cf e t c - 2 1 0 8 0 8 . t a r

-g /tmp/etc.inc / e t c

M e d i a n t e q u e s t i d u e c o m a n d i , d u n q u e , si è p r i m a c r e a t o u n a r c h i v i o c o m p l e t o ( e t c - 1 5 0 8 0 8 . t a r ) e p o i u n a r c h i v i o i n c r e m e n t a l e ( e t c - 2 1 0 8 0 8 . t a r ) . Per e s t r a r r e il c o n t e n u t o d e g l i archivi e r i p r i s t i n a r e così le v e r s i o n i p i ù a g g i o r n a t e d e i f i l e in / e t c , b i s o g n a s e g u i r e il p e r c o r s o d i c r e a z i o n e d e g l i archivi r i c h i a m a n d o il file d i s n a p s h o t r e l a t i v o : tar xf e t c - 1 5 0 8 0 8 . t a r -g / t m p / e t c . i n c tar xf e t c - 2 1 0 8 0 8 . t a r -g / t m p / e t c . i n c

Nei nomi degli archivi incrementali usati come esempio la data è stata inserita manualmente, per maggiore chiarezza. Per indicare la data in m o d o automatico basta impiegare il c o m a n d o d a t e , come si è visto in precedenza: tar cf e t c - $ ( d a t e + % d % m % y ) . t a r

-g / t m p / e t c . i n c / e t c

Per conoscere la sintassi di d a t e si legga la man page del comando (man date).

Archivi multivolume È p o s s i b i l e c r e a r e c o n t a r archivi m u l t i v o l u m e , archivi c i o è c h e v e n g o n o s u d d i v ì s i e m e m o r i z z a t i su p i ù s u p p o r t i . C i ò p u ò risultare u t i l e n e l c a s o in cui, p e r il b a c k u p d e i p r o p r i d a t i , si u t i l i z z i n o nastri, u n i t à Z i p o s e m p l i c i f l o p p y d i s k e u n s i n g o l o s u p p o r t o n o n risulti s u f f i c i e n t e p e r c o n t e n e r e l ' i n t e r o a r c h i v i o t a r c h e si i n t e n d e c r e a r e . L ' o p z i o n e necessaria p e r g e s t i r e g l i archivi m u l t i v o l u m e è - - m u i t i - v o i u m e (-M): u t i l i z z a n d o q u e s t a o p z i o n e , n e l m o m e n t o in c u i lo s p a z i o d i s p o n i b i l e su u n s u p p o r t o si e s a u r i s c e il p r o g r a m m a a t t e n d e c h e l ' u t e n t e inserisca un n u o v o s u p p o r t o e così fa p e r i successivi, f i n c h é l ' i n t e r o a r c h i v i o n o n è stato copiato. N e l l ' i m m a g i n e s e g u e n t e (Figura 9.8) è p r e s e n t e u n c o m a n d o d ' e s e m p i o p e r la c r e a z i o n e d i u n a r c h i v i o m u l t i v o l u m e . A l l e o p z i o n i --create e --mult i - v o l u m e si a g g i u n g e l'utilizzo d e l f i l e d i d i s p o s i t i v o / d e v / s t O c o m e a r g o m e n t o d i --file. N e l l a riga d ' e s e m p i o r i p o r t a t a , d u n q u e , la c a r t e l l a / r o o t v i e n e a r c h i v i a t a su u n ' u n i t à a n a s t r o (il file d i d i s p o s i t i v o / d e v / s t O , a p p u n t o ) utilizzando un archivio m u l t i v o l u m e .

root@pitagora:-# tar --create --multi-volurne --file=/dev/stO /root|

Figura 9.8 - Una riga d'esempio per la creazione di un archivio multivolume su

nastro.

Può accadere c h e t a r n o n riconosca c o r r e t t a m e n t e l'avvenuto r a g g i u n g i m e n t o della fine d i un nastro. Tramite l ' o p z i o n e - L , q u i n d i , si p u ò indicare la lunghezza massima c h e d e v e avere un s i n g o l o s e g m e n t o d i un archivio m u l t i v o l u m e , espressa in KB. Q u a n d o un s e g m e n t o ha r a g g i u n t o tali d i m e n s i o n i , il p r o g r a m m a chiederà all'utente d i inserire un n u o v o nastro.

O g n i s e g m e n t o d i u n a r c h i v i o m u l t i v o l u m e p u ò e s s e r e g e s t i t o c o m e s e si trattasse d i u n archivio a sé stante, senza r i c h i e d e r e l'utilizzo d e l l ' o p z i o n e - - m u i t i - v o i u m e in fase d i e s t r a z i o n e . Q u e s t o a m e n o c h e sul s e g m e n t o n o n sia p r e s e n t e u n f i l e il c u i c o n t e n u t o è s t a t o s u d d i v i s o s u p i ù s u p p o r t i ; in t a l c a s o , sarà n e c e s s a r i o e s t r a r r e i s e g m e n t i d e l l ' i n t e r o a r c h i v i o i n c u i è p r e s e n t e tale file r i c h i a m a n d o l ' o p z i o n e

--muiti-voiume.

Copie sincronizzate con rsync G r a z i e al p r o g r a m m a

rsync, c h e v i e n e installato p e r d e f a u l t su U b u n t u

Server, è p o s s i b i l e e f f e t t u a r e c o p i e d i intere d i r e c t o r y t r a s f e r e n d o s o l o i d a t i c h e s o n o c a m b i a t i d i v o l t a in v o l t a . Ciò p u ò

risultare

m o l t o c o m o d o p e r i b a c k u p d i m a c c h i n e in rete o p p u r e

p e r creare d e l l e c o p i e d i riserva d i cartelle d i a m p i e d i m e n s i o n i (directory di file m u l t i m e d i a l i , p e r e s e m p i o ) in m o d o r a p i d o e d e f f i c i e n t e . N e l p r i m o e s e m p i o d i u t i l i z z o d i r s y n c si c o p i a il c o n t e n u t o d e l l a d i r e c t o r y /home/ale

su / m e d i a / d i s k / b a c k u p ,

il f i l e d i d i s p o s i t i v o d i u n h a r d

esterno: sudo rsync

-av /home/ale/

/media/disk/backup/

disk

N e l l a r i g a r i p o r t a t a si f a u s o d e l l ' o p z i o n e

-a d i r s y n c p e r i m p o s t a r e

modalità archivio: questa p e r m e t t e di effettuare una copia fedele

la

della

d i r e c t o r y i n d i c a t a e d i t u t t e le s o t t o d i r e c t o r y p r e s e n t i in e s s a , p r e s e r v a n d o le d a t e o r i g i n a r i e d e i f i l e , c o s ì c o m e i p e r m e s s i , i g r u p p i e i p r o p r i e t a r i . L ' o p z i o n e - v , q u i n d i , i n c r e m e n t a il l i v e l l o d i v e r b o s i t à d e l l ' o u t p u t . N e l l ' i m m a g i n e s e g u e n t e ( F i g u r a 9 . 9 ) è p o s s i b i l e v e d e r e n e l t e r m i n a l e il risultato del c o m a n d o a p p e n a

impartito.

ale@pitagora:-$ sudo rsync -av /home/ale/ /media/disk/backup/ building file list ... rsync: readlink "/home/ale/.gvfs" failed: Permission deni ed (13) done ./ .ICEauthority .Xauthority .bashhistory .bashjlogout .bashrc . dmrc .esdauth . fbrc .festival history .festivalrc .fonts.conf .gksu.lock .glivrc .gnubiffrc •grip ,grip-cdda2wav .grip-flac .grip-lame .grip-oggenc Figura 9.9 - L'output del comando rsync per copiare l'intero contenuto su un disco esterno, t: 1

di

/home/ale

Le v o l t e s u c c e s s i v e in c u i si l a n c e r à l o s t e s s o c o m a n d o r s y n c il c o n t e n u t o delle directory di origine (nell'esempio /home/ale) e di destinazione (/med i a / d i s k / b a c k u p ) verrà " s i n c r o n i z z a t o " , c o p i a n d o sulla s e c o n d a

directory

solo i file m o d i f i c a t i o a g g i u n t i d a l l ' u l t i m a e s e c u z i o n e d e l c o m a n d o . N e l s e c o n d o e s e m p i o si e f f e t t u a la c o p i a d i u n a c a r t e l l a l o c a l e s u

un

s i s t e m a r e m o t o . La s i n t a s s i d a u t i l i z z a r e i n r s y n c p e r la c o p i a i n r e t e è

d e l t u t t o slmile a q u e l l a a d o t t a t a in p r e c e d e n z a , c o n l'ovvia differenza d i d o v e r i n d i c a r e il n o m e d e l l ' h o s t e , s e n e c e s s a r i o , il n o m e d e l l ' u t e n t e c u i inviare i dati. Il m e t o d o p i ù s e m p l i c e p e r t r a s f e r i r e f i l e in r e m o t o c o n rsync è q u e l l o d i sfruttare SSH: nella m a c c h i n a c h e v i e n e c o n t a t t a t a , q u i n d i , d e v e essere a t t i v o e o p p o r t u n a m e n t e c o n f i g u r a t o u n s e r v e r SSH. N e l l a r i g a s e g u e n t e la d i r e c t o r y / h o m e / m a r i o v i e n e c o p i a t a n e l l a c a r t e l l a . / c o p i a d e l l ' u t e n t e m a n o sul c o m p u t e r b a c k u p . u f f i c i o . l a n : s u d o r s y n c - a v z -e s s h - - d e l e t e lan:./copia

/ h o m e / m a r i o / m a r i o @ b a c k u p . ufficio.

C o m e si p u ò v e d e r e , l ' i n s i e m e d i o p z i o n i i n s e r i t e sulla l i n e a d i c o m a n d o è un p o c o p i ù articolato rispetto a l l ' e s e m p i o p r e c e d e n t e . I n n a n z i t u t t o è s t a t a a g g i u n t a l ' o p z i o n e -z al g r u p p o -av: q u e s t a f a sì c h e i dati vengano compressi durante i trasferimenti e ciò consente di rendere i b a c k u p i n r e t e p i ù r a p i d i . L ' o p z i o n e -e, q u i n d i , è s e g u i t a d a l l a s h e l l r e m o t a (ssh) d a u t i l i z z a r e p e r il c o l l e g a m e n t o c o n la m a c c h i n a d i d e s t i n a z i o n e , m e n t r e - - d e l e t e fa c a n c e l l a r e d a l l a d i r e c t o r y d i d e s t i n a z i o n e i f i l e n o n p i ù presenti nella directory d i origine.

Bacula, un server per il backup B a c u i a è u n c o m p l e t o e a r t i c o l a t o s i s t e m a c l i e n t - s e r v e r p e r la g e s t i o n e d e i b a c k u p . Sì t r a t t a d ì u n ' a p p l i c a z i o n e i n d u b b i a m e n t e c o m p l e s s a , la c u i c o n f i g u r a z i o n e p u ò v a r i a r e in m o d o n o t e v o l e a s e c o n d a d e l l e

impostazioni

d e l l ' a m b i e n t e d i rete e delle p r o p r i e necessità. In q u e s t e p a g i n e , d u n q u e , v e r r à p r o p o s t a u n a c o n f i g u r a z i o n e d i b a s e d i Bacula adatta p e r u n sistema d i b a c k u p m i n i m a l e .

Installazione di Bacula La s t r u t t u r a m o d u l a r e d i B a c u l a c o n s e n t e d i a d a t t a r e il s i s t e m a a l l e p i ù s v a r i a t e c o n f i g u r a z i o n i . N e l l a T a b e l l a 9 . 2 v e n g o n o e l e n c a t e le c o m p o n e n t i che costituiscono l'impalcatura dell'applicazione.

Linux U b u n t u per s e r v e r e reti

Tabella 9.2 - Le componenti di Bacula. Director

D e m o n e c h e a m m i n i s t r a e c o o r d i n a le o p e r a z i o n i p r i n -

Daemon

cipali del sistema di b a c k u p

Storage Daemon

File D a e m o n Console Catalog

C o m p o n e n t e c h e si o c c u p a d i g e s t i r e i d i s p o s i t i v i in cui v e n g o n o m e m o r i z z a t i i b a c k u p . D e v e essere avviat o sul c o m p u t e r su c u i s o n o p r e s e n t i t a l i d i s p o s i t i v i D e m o n e c h e va a v v i a t o su o g n i m a c c h i n a d i c u i si des i d e r a e f f e t t u a r e il b a c k u p L ' i n t e r f a c c i a m e d i a n t e la q u a l e si d i a l o g a c o n il D i r e c t o r D a e m o n e si g e s t i s c o n o le o p e r a z i o n i in B a c u l a Il d a t a b a s e n e l q u a l e v e n g o n o i n s e r i t i i d a t i r e l a t i v i ai backup

N e l l a p r o c e d u r a d i i n s t a l l a z i o n e c h e s e g u e , p e r m a g g i o r e c h i a r e z z a , si p r e s u p p o n e c h e i t r e d e m o n i n e c e s s a r i al f u n z i o n a m e n t o d i B a c u l a s i a n o t u t t i a t t i v i sulla m e d e s i m a m a c c h i n a . La g e s t i o n e d e l l e o p e r a z i o n i d i b a c k u p (Director D a e m o n ) , q u e l l a d e i d i s p o s i t i v i di m e m o r i z z a z i o n e prescelti (Stor a g e D a e m o n ) e q u e l l a d e i d a t i d i c u i si v u o l e e f f e t t u a r e il b a c k u p (File D a e m o n ) , d u n q u e , n e g l i e s e m p i r i p o r t a t i a v v e n g o n o su d i u n u n i c o PC. Per u s a r e B a c u l a è n e c e s s a r i o i n s t a l l a r e u n s i s t e m a d i d a t a b a s e a s c e l t a t r a M y S Q L , S Q L i t e e P o s t g r e S Q L . Per l ' i n s t a l l a z i o n e d i e s e m p i o si è s c e l t o M y S Q L , q u i n d i p r i m a di installare Bacula b i s o g n a effettuare l'installazione d e l d a t a b a s e s c e l t o ( i n s t a l l a n d o M y S Q L p r i m a d i B a c u l a si c o n s e n t i r à a q u e s t ' u l t i m o di g e n e r a r e tutti i file di c o n f i g u r a z i o n e di default): sudo apt-get instali

mysql-server

D u r a n t e l'installazione d e l p a c c h e t t o verrà richiesto l ' i n s e r i m e n t o di una p a s s w o r d per l ' u t e n t e a m m i n i s t r a t o r e d e l d a t a b a s e , r o o t (Figura

9.10).

U n a v o l t a d i g i t a t a la p a s s w o r d d u e v o l t e p e r s i c u r e z z a , la p r o c e d u r a d ' i n stallazione di M y S Q L terminerà. A q u e s t o p u n t o si p o s s o n o i n s t a l l a r e i n e c e s s a r i p a c c h e t t i d i B a c u l a c o n il c o m a n d o s u d o a p t - g e t i n s t a l i b a c u l a . Il g e s t o r e d i p a c c h e t t i f a r à a p p a r i re u n a s c h e r m a t a in c u i v e r r à r i c h i e s t o d i i n s e r i r e l ' h o s t n a m e d o v e

risiede

il

d a t a b a s e M y S Q L : d a t o c h e in q u e s t a c o n f i g u r a z i o n e d i e s e m p i o si utilizza

9 . Il b a c k u p

una sola m a c c h i n a , è s u f f i c i e n t e p r e m e r e I n v i o p e r selezionare localhost, c i o è la m a c c h i n a l o c a l e .

onfigurazione del pacchetto

Coni igurazione in corso di mysql--seruer-5 . G | Sebbene non sia o b b l i g a t o r i a , si raccomanda d'impostare una password per l'utente d'amministrazione «root» di M y S Q L . Se questo campo è lasciata v u o t o , la password non uiene c a m b i a t a . Nuova password per l'utente «root» di MySQL:

N e l l a s c h e r m a t a s u c c e s s i v a b i s o g n a i n d i c a r e q u a l e u t e n t e a m m i n i s t r a il s e r v e r M y S Q L . P r e m e n d o I n v i o v e r r à c o n f e r m a t a la s c e l t a d i d e f a u l t , r o o t . F a t t o q u e s t o , si d e v e d i g i t a r e e p o i c o n f e r m a r e la p a s s w o r d i n s e r i t a d u r a n t e la c o n f i g u r a z i o n e d i M y S Q L s e r v e r ( F i g u r a 9 . 1 1 ) .

Figura

9.11 - In questa

per amministrare

schermata

MySQL.

della configurazione

di Bacula si inserisce

la

password

I n f i n e , si c o n f e r m a c o n I n v i o II n o m e d e l l ' u t e n t e p r o p r i e t a r i o d e l d a t a b a s e u s a t o d a B a c u l a ( b a c u l a ) e si i n s e r i s c e u n a p a s s w o r d p e r t a l e u t e n t e , d i gitandola una seconda volta p e r conferma. A q u e s t o p u n t o l'installazione d i B a c u l a è t e r m i n a t a e si p u ò p r o c e d e r e alla c o n f i g u r a z i o n e d i q u e s t o sistema d i backup.

La configurazione passo per passo La s t r u t t u r a a r t i c o l a t a d i B a c u l a

richiede

c h e ciascuna c o m p o n e n t e d e l

sistema v e n g a o p p o r t u n a m e n t e configurata. I file d i c o n f i g u r a z i o n e delle diverse c o m p o n e n t i s o n o t u t t i raccolti nella d i r e c t o r y / e t c / b a c u l a . Si c o m i n c i a i n d i c a n d o il d i s p o s i t i v o d i b a c k u p c h e si i n t e n d e

utilizzare

i n t e r v e n e n d o nel file d i c o n f i g u r a z i o n e della c o m p o n e n t e Storage, / e t c / bacula/bacula-sd.conf. N e l file d i d e f a u l t f o r n i t o dalla d i s t r i b u z i o n e s o n o presenti, c o m m e n t a t e , delle righe di configurazione p e r un nutrito numero d i d i s p o s i t i v i d i b a c k u p . Per e s e m p i o , e c c o le r i g h e n e c e s s a r i e p e r utilizzare u n ' u n i t à a n a s t r o D D S - 4 : Device { N a m e = "Tape D r i v e " Device Type = tape Media Type = DDS-4 Archive Device = /dev/stO AutomaticMount = yes; AlwaysOpen = Yes; ReraovableMedia = y e s ; RandomAccess = no;

}

C o m e si p u ò v e d e r e , le i n f o r m a z i o n i p e r la c o n f i g u r a z i o n e v e n g o n o f o r n i t e in g r u p p i d i righe r a c c h i u s e t r a p a r e n t e s i g r a f f e e p r e c e d u t e d a u n a p a r o l a c h i a v e (che in q u e s t o c a s o è Device). N e l l e r i g h e r i p o r t a t e v i e n e i n n a n z i t u t t o a s s e g n a t o u n n o m e u n i v o c o (Name) al d i s p o s i t i v o d i b a c k u p , T a p e D r i v e . La r i g a M e d i a T y p e i n d i c a p o i il t i p o d i s u p p o r t o a d o t t a t o , m e n t r e A r c h i v e D e v i c e c o n t i e n e il f i l e d i d i s p o s i t i v o relativo all'unità di b a c k u p prescelta. Le r i g h e q u i i n d i c a t e s o n o g i à p r e s e n t i n e l f i l e d i c o n f i g u r a z i o n e / e t c / b a c u l a / b a c u l a - s d . c o n f : p e r a t t i v a r l e è s u f f i c i e n t e e l i m i n a r e il c a r a t t e r e d i c o m m e n t o i n i z i a l e ('#') d a c i a s c u n a d i e s s e .

»¡.•!i-,iLìfesm.:«pr.

L'unità a nastro DDS-4 consente la memorizzazione di 20 GB di dati su un singolo nastro. Il sistema DDS (Digital Data Storage), nelle sue varie incarnazioni dal DDS-1 al DAT-160, fa uso di nastri digitali DAT. Il f o r m a t o più recente, DAT-160 p e r m e t t e di salvare 80 GB di informazioni per s u p p o r t o (160 GB con compressione).

Nella c o n f i g u r a z i o n e di d e f a u l t di Bacula s o n o presenti delle righe

per

e f f e t t u a r e c o p i e d i b a c k u p d e l C a t a l o g s t e s s o . Per c o m p l e t a r e la c o n f i g u razione di q u e s t o " j o b " (lavoro) di b a c k u p p r e d e f i n i t o , p e r ò , è necessario m o d i f i c a r e u n a riga d e l f i l e / e t c / b a c u l a / b a c u l a - s d . c o n f : si t r a t t a d e l l a r i g a A r c h i v e D e v i c e = c h e S e g u e N a m e = F i l e S t o r a g e e M e d i a T y p e = F i l e (nel f i l e b a c u l a - s d . c o n f d i d e f a u l t su U b u n t u S e r v e r è la riga 4 9 ) . In F i g u r a 9 . 1 2 questa riga v i e n e evidenziata.

In q u e s t a r i g a va a g g i u n t o il p e r c o r s o d o v e si d e s i d e r a c h e i b a c k u p su f i l e v e n g a n o m e m o r i z z a t i . Per e s e m p i o , p e r u t i l i z z a r e a t a l e s c o p o la d i r e c t o r y / m n t / b a c k u p la r i g a d e v e d i v e n t a r e così: Archive Device = /mnt/backup E f f e t t u a t a q u e s t a m o d i f i c a , è p o s s i b i l e s a l v a r e il f i l e / e t c / b a c u l a / b a c u l a s d . c o n f . Poi si d e v o n o a g g i u n g e r e d e l l e a p p o s i t e i s t r u z i o n i in / e t c / b a c u l a / b a c u l a - d i r . c o n f , il f i l e d i c o n f i g u r a z i o n e d e l D i r e c t o r D a e m o n . In q u e s t o f i l e b i s o g n a a g g i u n g e r e d e i b l o c c h i d i r i g h e p e r d e f i n i r e

uno

S t o r a g e (il d i s p o s i t i v o d i m e m o r i z z a z i o n e d a a d o t t a r e ) , u n F i l e S e t (le d i r e c t o r y d i c u i si i n t e n d e e f f e t t u a r e il b a c k u p ) e u n a S c h e d u l e (la p i a n i f i c a zione del backup). Si c o m i n c i a d a l l a s e z i o n e S t o r a g e . E c c o d e l l e r i g h e a d a t t e al d i s p o s i t i v o d ' e s e m p i o T a p e D r i v e c r e a t o in p r e c e d e n z a in b a c u l a - s d . c o n f : Storage { Name = TapeDrive A d d r e s s = eraclito.ufficio, l a n S D P o r t = 9103 Password = "Cv70F6pflt6pBopT4vQ0nigDrR0v3LT3Cgkiyj" D e v i c e = "Tape D r i v e " Media Type = DDS-4

}

La r i g a d i A d d r e s s c o n t i e n e l ' i n d i r i z z o F Q D N o l'IP d e l l a m a c c h i n a in c u i è p r e s e n t e il d i s p o s i t i v o d i m e m o r i z z a z i o n e , m e n t r e la P a s s w o r d i n d i c a t a d e v e c o r r i s p o n d e r e alla p a s s w o r d p r e s e n t e n e l f i l e b a c u l a - s d . c o n f , n e l l a s e z i o n e D i r e c t o r ( F i g u r a 9 . 1 3 ) . La r i g a D e v i c e , q u i n d i , r i p o r t a il v a l o r e d e l l a r i g a N a m e n e l f i l e b a c u l a - s d . c o n f p e r il d i s p o s i t i v o p r e s c e l t o . Il M e d i a

Type,

infi n e , d e v e c o r r i s p o n d e al M e d i a T y p e i n d i c a t o s e m p r e in b a c u l a - s d . c o n f . A q u e s t o p u n t o si p o s s o n o a g g i u n g e r e le i n f o r m a z i o n i sui d a t i d a i n s e r i r e nel b a c k u p . B i s o g n a c r e a r e u n a s e z i o n e F i l e S e t s i m i l e alla s e g u e n t e : FileSet { Name = "BackupFiles" Include { Options { signature = MD5 compression = GZIP

}

}

}

# # # # #

File =

/home

on the "Archive Device" directive in the Device resource. If you change the Name and/or the "Media Type" in the Device resource, please ensure that dird.conf has corresponding changes.

Storage { # definition of myself Name = pitagora-sd SDPort = 9103 # Director's port WorkingDirectory = "/var/lib/bacula" Pid Directory = "/var/run/bacula" Maximum Concurrent Jobs = 20 SDAddress = 127.0.0.1

}

# List Directors who are permitted to contact Storage daemon # Director { Name = pitagora-dir Password = "Cv70F6pflt6pBopT4vQOnigDrR0v3LT3Cgki -- VISUALE LINEA --

27,1

2%

Figura 9.13 - La password ih bacula-dir.conf deve corrispondere a quella nella sezione Director di bacula-sd.conf. A q u e s t o F i l e S e t v i e n e a s s e g n a t o il n o m e

BackupFiles e v e n g o n o

atti-

v a t e le o p z i o n i p e r c r e a r e u n a f i r m a M D 5 p e r o g n i f i l e d i c u i si e f f e t t u a il b a c k u p (riga s i g n a t u r e = MD5) e p e r c o m p r i m e r e i file m e d i a n t e GZIP (riga c o m p r e s s ion=GZIp). La r i g a c h e i n i z i a c o n F i l e = i n d i c a c h e si v u o l e c r e a r e u n a c o p i a d i b a c k u p d e l l a d i r e c t o r y / h o m e e d i t u t t e le s o t t o d i r e c t o r y a p a r t i r e d a e s s a . P e r g e s t i r e il b a c k u p d i p i ù c a r t e l l e si a g g i u n g o n o u l t e r i o r i r i g h e F i l e , in q u e s t o modo: File = /usr/local File = /etc File = /root A q u e s t o p u n t o si s t a b i l i s c e q u a n d o e f f e t t u a r e il b a c k u p d e l l e indicate.

directory

Linux Uburitu per s e r v e r e reti

E c c o q u i n d i u n ' i p o t e t i c a s e z i o n e S c h e d u l e d a i n s e r i r e in b a c u l a - d i r . c o n f : Schedule { Name = "BackupDaily" R u n = F u l l d a i l y at 0 8 : 0 0

La c o n s u e t a riga N a m e i n d i c a il n o m e d a d a r e a q u e s t a S c h e d u l e . N e l l a

riga

Run, q u i n d i , si c o n f i g u r a l ' e s e c u z i o n e d i u n b a c k u p c o m p l e t o (Full) d e i d a t i t u t t i i g i o r n i (daily) alle o r e 8 : 0 0 A M (at o s : o o ) . I t i p i d i b a c k u p p o s s o n o essere Full, Differential e incrementai m e n t r e altre righe Run c o n differ e n t i i n d i c a z i o n i t e m p o r a l i p o s s o n o e s s e r e le s e g u e n t i : Run = Incremental mon-fri at 20:05 R u n = D i f f e r e n t i a l o n 1 at 0 5 : 0 1 La p r i m a r i g a d ' e s e m p i o e f f e t t u a u n b a c k u p i n c r e m e n t a l e d a l l u n e d ì al v e n e r d ì a l l e 2 0 : 0 5 , m e n t r e la s e c o n d a crea u n b a c k u p d i f f e r e n z i a l e o g n i p r i m o d e l m e s e a l l e 5 : 0 1 . Per a v e r e u n e l e n c o e s a u s t i v o d e i v a l o r i c h e è p o s s i b i l e i n s e r i r e n e l l e r i g h e R u n si v e d a la G u i d a d i B a c u l a a l l ' i n d i r i z z o : http://www.bacula.org/en/dev-manual/Bacula

File Modifica Visualizza Cronologia '

:

Sfignalibri Strumenti

Users

Guide.html

Guida

http://www.bacula.org/en/dev-manual/What is Bacila htmi*SECT;ON0Ò43000000000ui.

BUE:

Interactions Between the Bacula Services T h e following block diagram shows the typical interactions b e t w e e n the Bacula Services f o r a backup job. Each block r e p r e s e n t s in general a s e p a r a t e p r o c e s s (normally a daemon). In general, the Director o v e r s e e s the f l o w of information. It also maintains the Catalog.

rU> Aiutata» • D«U

I

Next| Up| Previousj Comenis| Index|

N e x t ^ T h e C w i w n t fflifttft Of U p : Bacula User's Guide P r e v i o u s : List of T a b l e s Completato

Figura 9.14 - La Guida di Bacula online del programma.

Con tents

è una preziosissima

Index

fonte

di informazioni

sull'uso

Un b a c k u p differenziale memorizza t u t t i

i file modificati

dall'ultimo

b a c k u p c o m p l e t o . A differenza del b a c k u p incrementale, q u i n d i , per ripristinare la versione più recente dei dati sarà sufficiente avere accesso a l l ' u l t i m o b a c k u p c o m p l e t o e all'ultimo b a c k u p differenziale e f f e t t u a t o .

A d e s s o n o n r i m a n e c h e r a c c o g l i e r e le i n f o r m a z i o n i d i S t o r a g e , F i l e S e t e S c h e d u l e in u n u n i c o J o b c r e a n d o la s e z i o n e r e l a t i v a n e l f i l e b a c u l a - d i r . conf. Eccola: Job { Name = "LocalBackup" JobDefs = "DefaultJob" Enabled = yes Level = Full FileSet = "BackupFiles" Schedule = "BackupDaily" Storage = TapeDrive Write Bootstrap = "/var/lib/bacula/LocalBackup.bsr"

}

Le r i g h e c h e i n i z i a n o c o n F i l e S e t , s c h e d u l e e S t o r a g e d e v o n o a v e r e c o m e a r g o m e n t i i valori inseriti nelle

righe

Name d e l l e rispettive sezioni d e l file

b a c u l a - d i r . c o n f . Il n o m e d e l J o b , n e l l ' e s e m p i o L o c a l B a c k u p , s o l i t a m e n t e c o r r i s p o n d e o r i m a n d a al n o m e d e l l a m a c c h i n a d i c u i si v u o l e e f f e t t u a r e il b a c k u p . La riga w r i t e

B o o t s t r a p , i n v e c e , i n d i c a il f i l e n e l q u a l e si d e s i d e r a scri-

v e r e le i n f o r m a z i o n i d i b o o t s t r a p p e r il J o b c o r r e n t e : u n f i l e d i b o o t s t r a p c o n s e n t e d i r i p r i s t i n a r e u n s i s t e m a s e n z a c h e sia n e c e s s a r i a la p r e s e n z a d i un C a t a l o g . A t t i v a r e un file di b o o t s t r a p p e r un J o b , q u i n d i , è a l t a m e n t e raccomandabile. D o p o aver inserito queste ultime

righe

la c o n f i g u r a z i o n e è t e r m i n a t a . E

d u n q u e p o s s i b i l e s a l v a r e le m o d i f i c h e al f i l e b a c u l a - d i r . c o n f e c h i u d e r e l ' e d i t o r u t i l i z z a t o . O r a n o n r i m a n e c h e f a r l e g g e r e la c o n f i g u r a z i o n e g i o r n a t a ai d a e m o n d i B a c u l a , t r a m i t e i c o m a n d i s e g u e n t i : sudo /etc/init.d/bacula-sd restart sudo /etc/init.d/bacula-director restart

ag-

La console e le label Prima d i p o t e r e f f e t t u a r e le o p e r a z i o n i d i b a c k u p è n e c e s s a r i o a s s e g n a r e u n a l a b e l ( e t i c h e t t a ) ai n a s t r i c h e si i n t e n d e i m p i e g a r e a l l o s c o p o . P e r f a r e q u e s t o si d e v e r i c h i a m a r e la c o n s o l e d i B a c u l a e s e g u e n d o i n u n t e r m i n a l e il c o m a n d o b c o n s o i e . Il r i s u l t a t o s u s c h e r m o s a r à s i m i l e a q u a n t o v i s i b i l e n e l l ' i m m a g i n e s e g u e n t e (Figura 9.15).

ale@pitagora:~$ bconsoie Connecting to Director localhost:9101 1000 OK: pitagora-dir Version: 2.2.8 (26 January 2008) Enter a period to cancel a command. I

Figura 9.15 - La console di Bacula. Da qui si gestiscono le operazioni di backup.

Per p o t e r lanciare bconsoie

d a un u t e n t e c o m u n e è necessario che q u e -

sto a p p a r t e n g a al g r u p p o bacula: si o t t i e n e q u e s t o m e d i a n t e il c o m a n d o sudo

adduser

utente

bacula,

i n s e r e n d o al p o s t o d i utente

il n o m e

e f f e t t i v o d e l l ' u t e n t e d a a g g i u n g e r e al g r u p p o .

P e r a s s e g n a r e u n a l a b e l al n a s t r o a t t u a l m e n t e p r e s e n t e n e l l ' u n i t à , q u i n d i , nella c o n s o l e d i Bacula b i s o g n a d i g i t a r e label e p r e m e r e Invio. I n c o n s o l e v e r r a n n o e l e n c a t e le risorse p e r l o S t o r a g e d e f i n i t e nella c o n f i g u r a z i o n e : si s e l e z i o n i d a l l a lista T a p e D r i v e , d i g i t a n d o il n u m e r o c o r r i s p o n -

d e n t e (2). P o i si i n d i c h i u n n o m e a p r o p r i a s c e l t a p e r il V o l u m e

corrente

(il n a s t r o , n e l c a s o a t t u a l e ) , p e r e s e m p i o b a k 0 2 0 9 0 8 . I n f i n e , si s e l e z i o n i il P o o l d i d e f a u l t , 1. In F i g u r a 9 . 1 6 è p o s s i b i l e o s s e r v a r e l ' o u t p u t i n c o n s o l e per q u e s t i vari p a s s a g g i .

ale@pitagora:-$ bconsole Connecting to Director localhost:9101 1000 OK: pitagora-dir Version: 2.2.8 (26 January 2008) Enter a period to cancel a command. •label Automatically selected Catalog: MyCatalog Using Catalog "MyCatalog" The defined Storage resources are: 1: File 2: TapeDrive Select Storage resource (1-2): 2 Enter new Volume name: bak02O908 Defined Pools: 1: Default 2: Scratch Select the Pool (1-2): l |

Figura 9.16-1 passaggi da compiere nella console di Bacula per assegnare una label a un nastro.

Un p o o l n o n è altro c h e u n i n s i e m e d i V o l u m i , nastri o file c h e siano. Utilizzando p i ù p o o l è p o s s i b i l e s u d d i v i d e r e e organizzare i s u p p o r t i utilizzati a s e c o n d a d e l t i p o d i b a c k u p che sì i n t e n d e m e m o r i z z a r e su d i essi. A o g n i p o o l p o s s o n o essere a t t r i b u i t i p a r a m e t r i d i f f e r e n t i : q u e s t i saranno assegnati a u t o m a t i c a m e n t e ai vari V o l u m i a p p a r t e n e n t i al p o o l .

L'operazione di backup T e r m i n a t a la c o n f i g u r a z i o n e d i B a c u l a , è g i u n t o il m o m e n t o d ì e f f e t t u a r e la p r i m a s e m p l i c e o p e r a z i o n e d i b a c k u p . Si l a n c i il p r o g r a m m a questa volta acquisendo i poteri di root: sudo

bconsole

bconsole,

N e l l a c o n s o l e d i B a c u l a si e s e g u a a d e s s o il c o m a n d o i n t e r n o r u n . V e r r à m o s t r a t o un elenco dei J o b di b a c k u p che è possibile avviare, c o m e

in

queste righe di o u t p u t d ' e s e m p i o : A J o b n a m e m u s t b e specified. T h e defined J o b r e s o u r c e s a r e : 1: C l i e n t i 2 : BackupCatalog 3: R e s t o r e F i l e s 4 : LocalBackup S e l e c t J o b r e s o u r c e (1-4): Si s e l e z i o n i d u n q u e

il n u m e r o r e l a t i v o al J o b c r e a t o in p r e c e d e n z a ,

4.

D o p o a v e r p r e m u t o I n v i o s u l l a t a s t i e r a a p p a r i r a n n o in c o n s o l e d e l l e r i g h e i n f o r m a t i v e sul J o b i n d i c a t o : F i l e S e t , P o o l , S t o r a g e e c o s ì v i a .

Digitando

" y e s " e p r e m e n d o I n v i o , q u i n d i , il J o b v e r r à a t t i v a t o . A q u e s t o p u n t o è p o s s ì b i l e e s e g u i r e il c o m a n d o i n t e r n o m e s s a g e s p e r a v e re i n f o r m a z i o n i in t e m p o r e a l e s u l l ' o p e r a z i o n e in c o r s o , o p p u r e si p u ò l a n c i a r e s t a t u s p e r v i s u a l i z z a r e u n p r o s p e t t o d e i J o b a t t i v i al m o m e n t o e d i quelli che v e r r a n n o avviati nelle prossime 24 ore (Figura 9.17).

•status Status available for: 1: Director 2: Storage 3: Client 4: All Select daemon type for status (1-4): 1 pitagora-dir Version: 2.2.8 (26 January 2008) i486-pc-linux-gnu debian lenny/sid Daemon started 02-set 08 17:36, 5 Jobs run since started. Heap: heap=397,312 smbytes=38,210 max_bytes=42,720 bufs=220 max bufs=242 Scheduled Jobs: Level Type

Incremental Full Full

Backup Backup Backup

Pri

10 11 10

Scheduled

Name

Volume

02-set-08 23:05 02-set-08 23:10 03-set-08 08:00

Clienti BackupCatalog LocalBackup

•unknown* •unknown* •unknown*

Running Jobs: No Jobs running.

Figura 9.17- L'output del comando interno status nella console di Bacula.

Ripristina del backup Per

ripristinare

i d a t i d i u n b a c k u p si avvia la c o n s o l e d i B a c u l a c o n s u d o

b c o n s o i e e si lancia il c o m a n d o i n t e r n o r e s t o r e . V e r r à m o s t r a t o in c o n s o l e u n n u t r i t o n u m e r o d i o p z i o n i t r a c u i s c e g l i e r e . Tra q u e s t e , q u e l l a d i m a g g i o r e u t i l i t à e d i p i ù i m m e d i a t o u t i l i z z o è p r o b a b i l m e n t e la n u m e r o 5 ,

Select t h e most recent backup f o r a client, che consente di ripristinare il b a c k u p più recente di una d e t e r m i n a t a macchina client. Se si s c e g l i e q u e s t a o p z i o n e , d o p o a v e r i n d i c a t o il c l i e n t d i c u i si d e s i d e r a e f f e t t u a r e il r i p r i s t i n o si s e l e z i o n a il F i l e S e t c u i si è i n t e r e s s a t i , q u i n d i si specificano u n o o più J o b di backup. F a t t o q u e s t o , si e n t r a n e l l a m o d a l i t à p e r la s e l e z i o n e d e i f i l e : in q u e s t a m o d a l i t à si utilizza il c o m a n d o m a r k p e r i n d i c a r e a B a c u l a d i r i p r i s t i n a r e u n d e t e r m i n a t o f i l e o d i r e c t o r y ( c o n m a r k * si s e l e z i o n a l ' i n t e r o c o n t e n u t o d e l b a c k u p ) , m e n t r e unmark c o n s e n t e d i d e s e l e z i o n a r e d e i file. Per t e r m i n a r e si d i g i t a d o n e . Per e s e m p i o , i c o m a n d i s e g u e n t i s e l e z i o n e r a n n o d a l b a c k u p c o r r e n t e le d i r e c t o r y / h o m e / a l e / D o c u m e n t i e / h o m e / t e s t / a r c h i v i o : mark mark done

/home/ale/Documenti /home/test/archivio

Q u i n d i v e r r à i n d i c a t o il V o l u m e d a i n s e r i r e p e r e f f e t t u a r e il

ripristino

del

backup e saranno fornite informazioni dettagliate sull'operazione. Non

rimane

p o i c h e r i s p o n d e r e " y e s " alla d o m a n d a OK t o r u n ? , così d a

p r o c e d e r e n e l r i p r i s t i n o . R i s p o n d e n d o " m o d " , i n v e c e , sarà p o s s i b i l e m o d i f i c a r e a l c u n i p a r a m e t r i c o m e la d i r e c t o r y in c u i d o v r a n n o e s s e r e m e m o rizzati i f i l e r i p r i s t i n a t i .

ID. Costruire un Media Center • a u n e l e m e n t a r e S e r v e r a u d i o al più completo

Media Center multimediale

G i u n t i a q u e s t o p u n t o la r e t e l o c a l e è c o n f i g u r a t a e p r o t e t t a a d o v e r e , si h a n n o a d i s p o s i z i o n e i p r i n c i p a l i s t r u m e n t i p e r la c o n d i v i s i o n e d e l l e r i s o r s e e t u t t o è p r o n t o p e r m e t t e r e in p r a t i c a le c o n o s c e n z e a c q u i s i t e . In q u e s t o c a p i t o l o , d u n q u e , si a l l e s t i r à u n s i s t e m a m u l t i m e d i a l e p r o n t o p e r t r o n e g g i a r e n e l s a l o t t o d i casa: l ' h a r d w a r e sarà c o s t i t u i t o d a u n n o r m a l e PC d o m e s t i c o , c o n la r e l a t i v a i n f r a s t r u t t u r a d i r e t e , m e n t r e il s o f t w a r e n e cessario verrà f o r n i t o d i r e t t a m e n t e dalla d i s t r i b u z i o n e Linux. Gli e s e m p i d i M e d i a C e n t e r forniti nelle p a g i n e c h e s e g u o n o saranno via via p i ù c o m p l e s s i . Si i n i z i e r à c o n il p i ù s e m p l i c e d e i M e d i a C e n t e r m u s i c a l i e si a r r i v e r à p o i a c o s t r u i r e u n c o m p l e t o s i s t e m a m u l t i m e d i a l e , ricco d i f u n zionalità e duttile c o m e solo p u ò esserlo un dispositivo costruito, pezzo d o p o p e z z o , s e c o n d o le e s i g e n z e d i c h i l o utilizza.

Server musicale Si c o m i n c i a c o n u n s e m p l i c e s e r v e r m u s i c a l e : l ' a r c h i v i o m u s i c a l e sarà c o n t e n u t o in u n c a p i e n t e h a r d d i s k su d i u n s e r v e r c e n t r a l e e d o v r à e s s e r e a c c e s s i b i l e d a t u t t e le m a c c h i n e c o n n e s s e in r e t e , sia c h e u t i l i z z i n o L i n u x sia c h e a d o t t i n o W i n d o w s c o m e s i s t e m a o p e r a t i v o .

Per q u e s t o c o m p i t o v e r r à i n s t a l l a t o S a m b a s u l s e r v e r L i n u x : p u r e s s e n d o d i s p o n i b i l i d e i c l i e n t N F S p e r W i n d o w s , la p r e s e n z a d i u n s o f t w a r e c o m p a t i b i l e c o n i p r o t o c o l l i d i r e t e M i c r o s o f t r e n d e r à la f r u i z i o n e d e i c o n t e n u t i m u s i c a l i p i ù s e m p l i c e su t u t t e le m a c c h i n e .

Il più semplice dei IVIedia Center Nella c o n f i g u r a z i o n e q u i p r o p o s t a , sul server A v i e n e installato

Samba,

m e n t r e il c l i e n t B h a a c c e s s o alla d i r e c t o r y c o n d i v i s a d a l l a m a c c h i n a A . Il s e r v e r p o s s i e d e n e l l a L A N l ' i n d i r i z z o IP 1 9 2 . 1 6 8 . 0 . 2 , m e n t r e il c l i e n t h a 192.168.0.3. Per c o m o d i t à , n e l l a c o n n e s s i o n e al m u s i c s e r v e r si o f f r e l ' a c c e s s o ai f i l e musicali senza r i c h i e d e r e l ' i n s e r i m e n t o d i n o m e u t e n t e e p a s s w o r d . D o p o a v e r i n s t a l l a t o S a m b a sulla m a c c h i n a A , q u i n d i , n e l f i l e / e t c / s a m b a / s m b . c o n f si i n s e r i s c e a l l ' i n t e r n o d e l l a s e z i o n e [Global] la r i g a : security = share e poi, p e r sicurezza, si limita la c o n n e s s i o n e alla sola rete locale c o n questa riga: hosts allow = 192.168.0. A q u e s t o p u n t o si a g g i u n g o n o al c o n t e n u t o d e l f i l e / e t c / s a m b a / s m b . c o n f d e l l e r i g h e s i m i l i alle s e g u e n t i : [musica] path = /usr/local/share/musica comment = Musica condivisa guest ok = yes read only = no Il v a l o r e d i p a t h v a c a m b i a t o c o n la d i r e c t o r y c h e c o n t i e n e i f i l e a u d i o s u l p r o p r i o server musicale. O l t r e al c o n t r o l l o d e l t r a f f i c o in e n t r a t a m e d i a n t e s m b . c o n f , è p o s s i b i l e a g g i u n g e r e u n u l t e r i o r e l i v e l l o d i p r o t e z i o n e g r a z i e al f i r e w a l l . Le p o r t e d a a p r i r e p e r S a m b a s o n o le 1 3 7 , 1 3 8 U D P e le 1 3 9 , 4 4 5 TCP. E c c o d e l l e r i g h e d i e s e m p i o p e r i p t a b i e s c h e a c c e t t a n o c o n n e s s i o n i al s e r v e r S a m b a esclusivamente dalla rete locale 192.168.0.0/24: s u d o i p t a b i e s -p u d p -s 1 9 2 . 1 6 8 . 0 . 0 / 2 4 s u d o i p t a b i e s -p u d p -s 1 9 2 . 1 6 8 . 0 . 0 / 2 4

- - d p o r t 137 -j A C C E P T - - d p o r t 138 -j A C C E P T

s u d o i p t a b l e s -m s t a t e - - s t a t e N E W - m t c p -p t c p -s - - d p o r t 1 3 9 -j A C C E P T s u d o i p t a b l e s - m s t a t e - - s t a t e N E W - m t c p -p t c p -s - - d p o r t 4 4 5 -j A C C E P T

192.168.0.0/24 192.168.0.0/24

P r o t e t t o a d o v e r e ¡1 s e r v e r , b i s o g n a o r a s t a b i l i r e se si v u o l e c h e la m a c c h i na A a b b i a il r u o l o d i M e d i a C e n t e r o s e si p r e f e r i s c e c h e q u e s t o v e n g a a s s u n t o d a l c l i e n t B: n e l p r i m o c a s o s a r à il s i s t e m a L i n u x n e l s a l o t t o d i c a s a a d i f f o n d e r e la m u s i c a a t u t t i i P C c o n n e s s i in r e t e , m e n t r e n e l s e c o n d o c a s o il d i s p o s i t i v o si l i m i t e r à a

ricevere

la m u s i c a e n o n r i c h i e d e r à la p r e s e n z a d i

alcun hard disk interno per funzionare. Se si d e s i d e r a u n M e d i a C e n t e r " d i f f u s o r e " , q u i n d i , s u l l a s t e s s a m a c c h i n a A o c c o r r e i n s t a l l a r e , o l t r e al s e r v e r S a m b a , a n c h e le a p p l i c a z i o n i n u x p r e f e r i t e p e r la f r u i z i o n e m u s i c a l e . Q u e s t e l e g g e r a n n o

Li-

direttamente

il c o n t e n u t o d e l l a d i r e c t o r y / u s r / l o c a l / s h a r e / m u s i c a ( o s i m i l a r e ) , m e n t r e il c l i e n t B, p e r a v e r e a c c e s s o a l l ' a r c h i v i o m u s i c a l e d e l M e d i a C e n t e r

dalla

directory / m n t / s a m b a , d o v r à a g g i u n g e r e nel file / e t c / f s t a b una riga c o m e la s e g u e n t e : //192.168.0.2/musica

/mnt/samba smbfs guest 0 0

# /etc/fstab: static file system information. # # proc /proc proc defaults # /dev/sdal UUID 45ad37fa-386e-4ff0-be33-d4465e05c096 / s= remount-ro 0 1 # /dev/sda3 UUID 20e23alb-0clb-46ba-8cba-20eb8Of5c5bf /home 0

2

# /dev/sda2 UUID=07523736-8e32-4378-bbff-3bcaf4d57890 none 0

/dev/scd0

0

0

ext3

relatime,erro

ext3

relatime

swap

sw

0

/media/cdromO

udf,iso9660 user noauto exec,

# server musicale //192.168.0.2/musica /mnt/samba smbfs guest 0 0

12,0-1 Figura 10.1 - Sulla macchina client il file /etc/fstab

sarà simile a questo.

Tut

N e l c a s o d i u n M e d i a C e n t e r " r i c e v e n t e " , i n v e c e , è s u f f i c i e n t e inserire la riga d i / e t c / f s t a b a p p e n a

riportata

sulla m a c c h i n a B e q u i n d i f a r p u n t a r e u n

q u a l s i a s i p l a y e r a u d i o ai f i l e m u s i c a l i c o n t e n u t i nella d i r e c t o r y / m n t / s a m b a .

Per ragioni didattiche, in questa sezione si è scelto di adottare p e r la creazione d i un server musicale delle applicazioni trattate nel corso d e l v o l u m e . Un eccellente sistema alternativo è M P D (Music Player Daemon): si tratta d i un player audio d i t i p o server-client che, a b b i n a t o a un software p e r lo streaming musicale c o m e icecast, consente d i costruire una vera e propria stazione radio domestica via rete! Per m a g g i o r i informazioni: h t t p : / / w w w . m u s i c p d . o r g e http://www.icecast.org.

Il Media Center completa A v e r e n e l p r o p r i o s a l o t t o u n d i s p o s i t i v o c h e c o n s e n t a d i a s c o l t a r e la m u sica m e m o r i z z a t a su u n h a r d d i s k d i g r a n d i d i m e n s i o n i è c e r t o

comodo.

A n c o r a p i ù c o m o d o , p e r ò , è p o t e r c o n t a r e su u n a m a c c h i n a m u l t i m e d i a l e c h e r a c c h i u d a in p o c h i c e n t i m e t r i d i s p a z i o le f u n z i o n a l i t à d i TV, v i d e o r e g i stratore, lettore D V D , w e b browser e m o l t o altro. T u t t o q u e s t o è r e s o p o s s i b i l e d a u n a r t i c o l a t o e d u t t i l e s o f t w a r e PVR (Personal V i d e o Recorder) p e r Linux c h i a m a t o MythTV. N e l l e p a g i n e c h e seg u o n o , q u i n d i , si f o r n i r a n n o le i s t r u z i o n i p e r i n s t a l l a r e e c o n f i g u r a r e q u e s t a applicazione. Il M e d i a C e n t e r r i s u l t a n t e sarà i n s e r i t o a l l ' i n t e r n o d i u n a L A N , così d a p e r m e t t e r e l ' a c c e s s o ai c o n t e n u t i v i d e o in e s s o m e m o r i z z a t i d a t u t t e le m a c c h i n e c o n n e s s e in r e t e . M y t h T V è u n s o f t w a r e c o m p l e s s o e r i c c o d i f u n z i o n a l i t à e , o v v i a m e n t e , in q u e s t e p o c h e p a g i n e n o n è p o s s i b i l e f o r n i r e i n f o r m a z i o n i e s a u s t i v e sulla sua c o n f i g u r a z i o n e e i s u o i m o l t e p l i c i utilizzi. N e i p a r a g r a f i a s e g u i r e si p r e s u p p o n e q u i n d i c h e l ' h a r d w a r e d e l M e d i a C e n t e r (TV t u n e r , s c h e d a g r a f i c a c o n u s c i t a T V - O u t ecc.) sia g i à s t a t o c o r r e t t a m e n t e c o n f i g u r a t o .

Per m a g g i o r i informazioni si rimanda alla sezione D o c u m e n t a t i o n nel sito di MythTV: http://www.mythtv.org/ e alla pagina wiki d e l p r o g e t t o : http://www.mythtv.org/wiki/index.php/Main

Page

Installazione di MythTV MythTV è costituito da un vasto insieme di p r o g r a m m i principali e plugin d i c o n t o r n o . Per s e m p l i f i c a r n e l ' i n s t a l l a z i o n e e la c o n f i g u r a z i o n e , la d i s t r i buzione Ubuntu fornisce un g r u p p o di pacchetti Mythbuntu:

installando

q u e s t i sarà p o s s i b i l e s c e g l i e r e c o n f a c i l i t à le c o m p o n e n t i d i M y t h T V c h e si v o g l i o n o a v e r e s u l p r o p r i o M e d i a C e n t e r e v e r r à f o r n i t o , i n o l t r e , u n a m b i e n t e g r a f i c o l e g g e r o e g r a d e v o l e in c u i a v v i a r e l ' i n t e r f a c c i a d i M y t h T V .

M y t h b u n t u , oltre a essere un insieme di pacchetti, è anche una vera e propria distribuzione: basata su Ubuntu, c o m e lascia intuire il n o m e , consente d i installare su un PC un sistema o p e r a t i v o c o m p l e t o con t u t t o il necessario p e r il f u n z i o n a m e n t o d i MythTV. L'home p a g e d i questa interessante distro è h t t p : / / w w w . m y t h b u n t u . o r g .

Sulla m a c c h i n a c h e d e v e e s s e r e a d i b i t a a M e d i a C e n t e r , q u i n d i , si lanci il c o m a n d o seguente: sudo apt-get instali

mythbuntu-desktop

V e r r a n n o così s c a r i c a t i e i n s t a l l a t i i p a c c h e t t i c h e c o m p o n g o n o M y t h b u n t u , p i ù t u t t o il s o f t w a r e n e c e s s a r i o p e r la c o n f i g u r a z i o n e i n i z i a l e d i M y t h T V . D u r a n t e la p r o c e d u r a d i i n s t a l l a z i o n e d e i p a c c h e t t i , i n o l t r e , si p u ò i n d i c a r e al s i s t e m a il m o d e l l o d e l t e l e c o m a n d o a i n f r a r o s s i d a u s a r e , se c e n ' è u n o d i s p o n i b i l e ( F i g u r a 10.2). È p o i p o s s i b i l e c o n f i g u r a r e a n c h e u n e v e n t u a l e t r a s m e t t i t o r e IR.

Figura 10.2 - In questa schermata si indica il telecomando da usare per controllare a distanza il Media Center. T e r m i n a t o q u e s t o p r i m o p a s s a g g i o , si p u ò o r a a c c e d e r e a l l ' a m b i e n t e g r a f i c o f o r n i t o d a M y t h b u n t u . Per f a r e q u e s t o si d e v e l a n c i a r e G D M , il l o g i n m a n a g e r g r a f i c o , c o n il c o m a n d o s e g u e n t e : sudo /etc/init.d/gdm

start

A l s u c c e s s i v o r e b o o t d e l l a m a c c h i n a , G D M sarà

richiamato

automatica-

m e n t e a l l ' a v v i o . N e l l a s c h e r m a t a c h e a p p a r e , q u i n d i , si i n s e r i s c e il n o m e d e l l ' u t e n t e p r i n c i p a l e e la r e l a t i v a p a s s w o r d e si a t t e n d e il c a r i c a m e n t o d e l d e s k t o p e n v i r o n m e n t di M y t h b u n t u , chiamato Xfce. L'aspetto c o m p l e s s i v o dell'interfaccia grafica a disposizione d e l l ' u t e n t e è v i s i b i l e n e l l ' i m m a g i n e c h e s e g u e ( F i g u r a 10.3). U n ' i n s t a l l a z i o n e d i M y t h T V p u ò s v o l g e r e la f u n z i o n e d i B a c k e n d , d i F r o n t e n d o a v e r e e n t r a m b i i r u o l i . Il B a c k e n d si o c c u p a d i e f f e t t u a r e le r e g i s t r a z i o n i d a l l a TV, m e n t r e il F r o n t e n d f o r n i s c e l ' i n t e r f a c c i a p e r v i s u a l i z z a r e i c a n a l i t e l e v i s i v i , g u a r d a r e e i m p o s t a r e le r e g i s t r a z i o n i e così via.

ID. Costruire u n Media center

I Eile Modifica Visualizza Cronologia Segnalibri Strumenti "

SI

éì

Getbng Started ~ 'LatestHeadlines-

Related Projects

Mythbuntu is an community su •on tor Ubuntu fix setting up a standotene Myth TV Based PVR si a standalone system a for integrali«! 1 existing MythTV Unlike similar prefects. Mythbuntu kee( » ties with Ubuntu ion! is given back to Ubuntu. This architecture allows isfroma standard desfctop to a Mythbuntu machine he development cycle ot Mythbuntu closely follows that ing every six monlhs with Ubunlu releases

!ubuntu jxubuntu

XFCE4 desktop. All unnecessary sti

I''IMP]

Figura

-, I Mythbuntu Mczillj Firofo.

10.3 - L'interfaccia

grafica

di Mythbuntu.

Veloce,

bella

e facile

da

usare.

In q u e s t o s t a d i o i n i z i a l e d e l l ' i n s t a l l a z i o n e d i M y t h T V è p r e s e n t e n e l sistem a il s o l o F r o n t e n d . Se il M e d i a C e n t e r è u n s e m p l i c e d i s p o s i t i v o c o n n e s so alla T V c h e d e v e e s s e r e c o l l e g a t o in r e t e a u n PC p r o v v i s t o d i T V T u n e r , l ' i n s t a l l a z i o n e p u ò d i r s i t e r m i n a t a . Se i n v e c e il M e d i a C e n t e r è p r o v v i s t o d i s c h e d a T V e d e v e a v e r e il r u o l o d i s e r v e r m u l t i m e d i a l e p e r a l t r e m a c c h i n e , a l l o r a b i s o g n a a g g i u n g e r e t u t t o il n e c e s s a r i o p e r la f u n z i o n a l i t à d i Backend. Per f a r e q u e s t o i n n a n z i t u t t o si d e v e i n s t a l l a r e il d a t a b a s e r e l a z i o n a l e M y S Q L , n e c e s s a r i o p e r il f u n z i o n a m e n t o d e l B a c k e n d . Per i n s t a l l a r e il d a t a b a s e , q u i n d i , si p u ò a p r i r e u n a c o n s o l e d i t e r m i n a l e d i r e t t a m e n t e n e l l ' a m b i e n t e g r a f i c o d i M y t h b u n t u : si fa c l i c sul p u l s a n t e A p p l i c a t i o n s in a l t o , q u i n d i n e l m e n u c h e a p p a r e si e n t r a n e l s o t t o m e n u A c c e s s o r i e s e si s e l e z i o n a c o n u n clic d e l m o u s e la v o c e T e r m i n a l e . N e l l a f i n e s t r a d e l t e r m i n a l e si e s e g u a d u n q u e il c o m a n d o s u d o instali

m y s q i - s e r v e r - 5 . o e si p r e m a I n v i o alla r i c h i e s t a d i

apt-get

inserimento

d e l l a p a s s w o r d p e r l ' u t e n t e r o o t d i M y S Q L . Se in o u t p u t v i e n e r e s t i t u i t o u n e r r o r e si e s e g u a d i n u o v o il c o m a n d o p r e c e d e n t e .

Poi b i s o g n a a p r i r e il C e n t r o d i c o n t r o l l o M y t h b u n t u : si e n t r a in A p p l i c a -

tions, quindi si va nel sottomenu System e si fa clic su Centro di controll o M y t h b u n t u . D o p o a v e r d i g i t a t o la p a s s w o r d d e l p r o p r i o u t e n t e , n e l l a f i n e s t r a c h e a p p a r e si e n t r a n e l l a s e z i o n e S y s t e m R o l e s ( F i g u r a 10.4) e si m e t t e la s p u n t a s u l l ' o p z i o n e B a c k e n d p r i m a r i o , q u i n d i si fa clic sul p u l s a n t e A p p l i c a in b a s s o . V e r r a n n o così i n s t a l l a t i e c o n f i g u r a t i i p a c c h e t t i p e r la funzionalità di Backend di MythTV.

Mythbuntu Control Centre

-

I Q ] S y s t e m Roles

S y s t e m Roles

¡1^1 MythTV Configuration

Although a Mythbuntu machine is intended to be used as an appliance, active roles may be added, removed, or modified at any time.

^

Applications & Plugins

Infrared Devices

X

B a c k e n d Role

A machine containing a backend role will schedule and record television shows. Also, a backend role is needed on a network somewhere for a frontend role to connect to

30* Proprietary Drivers ^

n

Nessun backend



Backend primario

O Backend secondario F r o n t e n d Role

System Services

A machine containing a frontend role will connect to a master backend to obtain recorded content Nessun frontend

^ A r t w o r k & Login Behavior

*

Frontend

D e s k t o p Role

F j MythTV Themes ¡ ^ P r o p r i e t a r y Codecs

If you later decide that you would like to use this machine as a desktop, you can convert a machine from an applicance into a standalone machine that also has Mythbuntu configured 0

Ubuntu Desktop



Xubuntu Deskop

0

Kubuntu Desktop

Diskless S e r v e r

Advanced Mangement

A system role that will allow you to operate additional Frontend clients without installing Mythbuntu on them. •

Diskless Server



Add DHCP server

A q u e s t o p u n t o il M e d i a C e n t e r è c o r r e t t a m e n t e i n s t a l l a t o , m a c o n s e n t e e s c l u s i v a m e n t e d i g u a r d a r e e r e g i s t r a r e p r o g r a m m i TV. Per a g g i u n g e r e u l t e r i o r i m o d u l i b a s t a e n t r a r e n e l l a s e z i o n e A p p l i c a t i o n s & P l u g i n s d e l C e n t r o d i c o n t r o l l o M y t h b u n t u e m e t t e r e la s p u n t a sui p l u g i n ( m o d u l i a g g i u n t i v i ) c h e si d e s i d e r a i n s t a l l a r e . F a c e n d o c l i c s u l l ' o p z i o n e E n a b l e / D i s a b l e A l i P l u g i n s si s e l e z i o n e r a n n o in u n c o l p o s o l o t u t t i i m o d u l i . N o n r i m a n e p o i che p r e m e r e A p p l i c a p e r installare i p a c c h e t t i a g g i u n t i v i richiesti.

ID. Costruire un M e d i a c e n t e r

Nella Tabella

10.1 v e n g o n o

elencati i principali plugin disponibili

per

M y t h T V . Tra q u e s t i si c o n s i g l i a d i i n s t a l l a r e a l m e n o M y t h V i d e o e M y t h M u sic, così d a o t t e n e r e u n M e d i a C e n t e r c h e c o n s e n t a la f r u i z i o n e d i t u t t i i contenuti audio e v i d e o possibili.

Tabella 10.1 - I principali plugin di MythTV. Nome

Funzionalità

MythArchive

C o n s e n t e d i masterizzare su D V D le r e g i s t r a z i o n i d a l l a T V

MythBrowser

Un s e m p l i c e W e b b r o w s e r C o n s e n t e di avviare dei giochi d i r e t t a m e n t e dall'inter-

MythGame

faccia di MythTV. C o m p a t i b i l e c o n e m u l a t o r i e g i o c h i

HHIHHHHHHEHHhHHHH

MythMusic

Un c o m p l e t o lettore musicale

MythVideo

Player v i d e o c o n g e s t i o n e d e i c a t a l o g h i

MythWeb

Permette

di

controllare

MythTV

da

remoto

tramite

un'interfaccia w e b

S c e l t i i p l u g i n c h e si p r e f e r i s c o n o , si p u ò o r a c h i u d e r e la f i n e s t r a d e l C e n t r o d i c o n t r o l l o M y t h b u n t u e p a s s a r e alla c o n f i g u r a z i o n e d e l B a c k e n d : n e l m e n u A p p l i c a t i o n s d e l l ' a m b i e n t e g r a f i c o b i s o g n a d u n q u e e n t r a r e in Sy-

stem e selezionare la voce MythTV Backend Setup. N e l l a s c h e r m a t a c h e a p p a r e si d e v e q u i n d i i m p o s t a r e il r i c e v i t o r e TV, sceg l i e r e il t i p o d i G u i d a T V p r e f e r i t a e d e f f e t t u a r e la s c a n s i o n e d e i c a n a l i d i s p o n i b i l i . Si t r a t t a d i o p e r a z i o n i c h e , a s e c o n d a d e l T V t u n e r a d o t t a t o , p o s s o n o r i s u l t a r e p i u t t o s t o c o m p l e s s e : p e r u n ' i n t r o d u z i o n e alla c o n f i g u r a z i o n e d e l B a c k e n d si v e d a la p a g i n a : http://www.mythtv.org/wiki/index.php/Mythtv-setup T e r m i n a t o q u e s t o p a s s a g g i o d e l l a c o n f i g u r a z i o n e d i M y t h T V , si p u ò a v v i a r e l ' i n t e r f a c c i a d e l F r o n t e n d e n t r a n d o in A p p l i c a t i o n s , M u l t i m e d i a

e

facendo clic su MythTV Frontend. D a l l a s c h e r m a t a c h e a p p a r e ( F i g u r a 1 0 . 5 ) si p u ò q u i n d i g u a r d a r e la TV, e f f e t t u a r e e visualizzare registrazioni così c o m e a c c e d e r e alle funzionalità f o r n i t e dai vari p l u g i n installati.

IVlythTV entra in rete D o p o q u e s t e s o m m a r i e i n f o r m a z i o n i s u l l ' i n s t a l l a z i o n e d i M y t h T V , è il m o m e n t o d i f a r d i a l o g a r e il M e d i a C e n t e r a p p e n a c r e a t o c o n le a l t r e m a c c h i n e c o n n e s s e in r e t e . N e g l i e s e m p i c h e s e g u o n o la m a c c h i n a su c u i è i n s t a l l a t o il B a c k e n d d i M y t h T V ha c o m e i n d i r i z z o IP 1 9 2 . 1 6 8 . 1 . 4 , m e n t r e il c l i e n t su c u i è a t t i v o il F r o n t e n d possiede l'indirizzo 192.168.1.5. Se sul B a c k e n d s o n o a t t i v i d e i p l u g i n , p e r p o t e r l i u t i l i z z a r e d a l c l i e n t rem o t o è n e c e s s a r i o i n s t a l l a r l i a n c h e su q u e s t o t r a m i t e il C e n t r o d i c o n t r o l l o Mythbuntu. Il

Backend,

nella

configurazione

di default,

risponde

all'indirizzo

IP

1 2 7 . 0 . 0 . 1 , q u i n d i p u ò e s s e r e c o n t a t t a t o s o l o d a u n F r o n t e n d a t t i v o sulla m a c c h i n a locale. Per m o d i f i c a r e l'indirizzo c u i

risponde

il B a c k e n d , sulla

m a c c h i n a in c u i q u e s t o è i n s t a l l a t o si d e v e l a n c i a r e il M y t h T V

Backend

S e t u p e d entrare nella sezione 1. G e n e r a l . Nella schermata c h e appare, quindi, bisogna modificare i valori delle o p zioni Locai B a c k e n d e M a s t e r B a c k e n d , i n d i c a n d o per e n t r a m b e l'indirizzo

IP d e l l a m a c c h i n a B a c k e n d s u l l a r e t e l o c a l e . N e l l ' e s e m p i o è 1 9 2 . 1 6 8 . 1 . 4 . N e l l a s t e s s a s c h e r m a t a si i n d i c a il P I N d i s i c u r e z z a p e r le c o n n e s s i o n i r e m o t e : i n s e r e n d o 0 0 0 0 c o m e S e c u r i t y P I N si c o n s e n t i r à l ' a c c e s s o a t u t t i .

Host Address Backend Setup Locai Backend (pitagora) IP address: Port:

192.168.1.4

6543

Status Port:

Security Pin (Required):

6544

0000

Master Backend IP address:

192.168.1.4

Enter the IP address of this machine. Use an externally accessible address (ie, not 127.0.0.1) if you are going to be running a frontend on a different machine than this one. Cancel

Next >

Figura 10.6 - In questa schermata

si configura

l'indirizzo

IP del

Backend.

F a t t o q u e s t o , è n e c e s s a r i o c h e il s e r v e r M y S Q L s u l l a m a c c h i n a

Backend

a c c e t t i c o n n e s s i o n i d a l l a r e t e l o c a l e . P e r q u e s t o si a p r a c o n u n e d i t o r il f i l e / e t c / m y s q l / m y . c n f e si m o d i f i c h i la r i g a : bind-address

=

127.0.0.1

i n d i c a n d o al p o s t o d i 1 2 7 . 0 . 0 . 1 l ' i n d i r i z z o IP d e l B a c k e n d s u l l a L A N . S e g u e n d o l ' e s e m p i o r i p o r t a t o la r i g a d i v e n t a q u i n d i c o s ì : bind-address

=

192.168.1.4

I n f i n e si d e v e r i a v v i a r e il s e r v e r M y S Q L c o n il c o m a n d o : sudo /etc/init.d/mysql

restart

A q u e s t o p u n t o , p e r c o l l e g a r e al B a c k e n d M y t h T V , s i t u a t o s u l l a m a c c h i n a 1 9 2 . 1 6 8 . 1 . 4 , il F r o n t e n d p r e s e n t e s u l c l i e n t 1 9 2 . 1 6 8 . 1 . 5 , è s u f f i c i e n t e l a n -

d a r e in q u e s t ' u l t i m o l ' a p p l i c a z i o n e M y t h T V F r o n t e n d : il c l i e n t i n d i v i d u e r à a u t o m a t i c a m e n t e il B a c k e n d d i s p o n i b i l e in r e t e e si c o l l e g h e r à a e s s o .

Condividere le cartelle di MythTV con IXIFS S e g u e n d o le i s t r u z i o n i n e l p a r a g r a f o p r e c e d e n t e si è c o n n e s s o u n B a c k e n d d i M y t h T V c o n u n F r o n t e n d r e m o t o . Su q u e s t ' u l t i m o è o r a p o s s i b i l e g u a r d a r e la T V e d e f f e t t u a r e r e g i s t r a z i o n i s f r u t t a n d o la s c h e d a T V p r e s e n t e sulla m a c c h i n a B a c k e n d . Se si u t i l i z z a n o d e i p l u g i n c o m e M y t h V i d e o e M y t h M u s i c , p e r ò , g l i arc h i v i v i d e o e a u d i o p r e s e n t i sul B a c k e n d n o n r i s u l t e r a n n o a c c e s s i b i l i d a l F r o n t e n d . P e r r i m e d i a r e è n e c e s s a r i o c o n d i v i d e r e t r a m i t e N F S le d i r e c t o r y c o n t e n e n t i g l i a r c h i v i , in m o d o t a l e c h e il c l i e n t p o s s a l e g g e r l e . Sulla m a c c h i n a in c u i è p r e s e n t e il B a c k e n d , q u i n d i , v a i n s t a l l a t o il s e r v e r N F S c o n il c o m a n d o s u d o a p t - g e t i n s t a l i n f s - k e r n e l - s e r v e r . P o i SÌ d e v e c r e a r e u n a p p o s i t o f i l e / e t c / e x p o r t s c h e p e r m e t t a al c l i e n t d i a v e r e a c c e s s o a l l e d i r e c t o r y c o n g l i a r c h i v i m u l t i m e d i a l i . P e r c o m o d i t à si e s p o r t a l ' i n t e r a c a r t e l l a / v a r / l i b / m y t h t v , c h e è la d i r e c t o r y d i d e f a u l t n e l l a q u a l e s o n o r a c c o l t e le v a r i e s o t t o d i r e c t o r y c o n t e n e n t i i f i l e m u s i c a l i , le i m m a g i n i e i v i d e o gestiti d a i diversi p l u g i n . Ecco un file / e t c / e x p o r t s d i e s e m p i o : /var/lib/mythtv

192.168.1.5(rw)

In q u e s t a riga v i e n e c o n c e s s o alla m a c c h i n a c o n i n d i r i z z o IP 1 9 2 . 1 6 8 . 1 . 5 l ' a c c e s s o in l e t t u r a e s c r i t t u r a a / v a r / l i b / m y t h t v . D o p o a v e r m o d i f i c a t o il f i l e va a g g i o r n a t a la c o n f i g u r a z i o n e d e l s e r v e r N F S c o n s u d o e x p o r t f s -a. Sulla m a c c h i n a c l i e n t , q u i n d i , n o n resta c h e m o n t a r e la d i r e c t o r y r e m o t a . Il p e r c o r s o d i q u e s t a d i r e c t o r y d e v e e s s e r e il m e d e s i m o s u l F r o n t e n d rem o t o e sul B a c k e n d : s u d o m o u n t -t n f s 1 9 2 . 1 6 8 . 1 . 4 : / v a r / l i b / m y t h t v

/var/lib/mythtv

I n f i n e , s u l l o s t e s s o c l i e n t , u n a v o l t a v e r i f i c a t o c h e le c a r t e l l e c o n i c o n t e n u t i a u d i o e v i d e o s i a n o o r a e f f e t t i v a m e n t e a c c e s s i b i l i d a i rispettivi p l u g i n , p u ò e s s e r e c r e a t a u n ' a p p o s i t a riga in / e t c / f s t a b p e r m o n t a r e in a u t o m a t i c o la directory NFS: 192.168.1.4 :/var/lib/mythtv /var/lib/mythtv n f s rw 0 0

11. I server Come installare e configurare

FTP

server,

web

mail

server e server

server,

DINI5.

N e l C a p i t o l o 8 si s o n o f o r n i t e le i s t r u z i o n i p e r c o n d i v i d e r e d e l l e d i r e c t o r y tra p i ù m a c c h i n e c o n n e s s e in rete utilizzando i p r o t o c o l l o N F S e S M B / C I F S . In e n t r a m b i i casi, a t a l e s c o p o , sulla m a c c h i n a c h e e s p o r t a i d a t i s o n o s t a t e i n s t a l l a t e d e l l e a p p l i c a z i o n i server. In q u e s t o c a p i t o l o si p r e s e n t e r a n n o e i n s t a l l e r a n n o altri s o f t w a r e d i t i p o s e r v e r d ' u s o c o m u n e . Si c o m i n c e r à c o n il m a i l s e r v e r P o s t f i x , p o i si p a s s e r à al s e r v e r FTP v s f t p d e q u i n d i si i n s t a l l e r à A p a c h e c o m e w e b s e r v e r e B I N D c o m e server DNS. Tutte queste applicazioni sono duttili, potenti ma anche

notevolmente

c o m p l e s s e . N e l l e p a g i n e c h e s e g u o n o , q u i n d i , si f o r n i r a n n o l e s o l e i n f o r mazioni d i base p e r una corretta installazione e p e r una configurazione minimale.

Il mail server Postfix P o s t f i x è u n M T A ( M a i l T r a n s f e r A g e n t ) : si t r a t t a c i o è d i u n ' a p p l i c a z i o n e c h e h a il c o m p i t o d i t r a s f e r i r e i m e s s a g g i d i p o s t a e l e t t r o n i c a f r a le m a c c h i n e . L ' i n s t a l l a z i o n e d i u n M T A ( o m a i l s e r v e r ) p e r m e t t e d i s m i s t a r e la p o s t a c h e g l i u t e n t i si i n v i a n o , i n m o d o a u t o m a t i c o o m e n o , a l l ' i n t e r n o

della

macchina locale, m a c o n s e n t e anche d i gestire a u t o n o m a m e n t e le email in u s c i t a e in e n t r a t a d a l l a r e t e .

Nella catena d i p r o g r a m m i che gestiscono la posta elettronica, un client di posta c o m e Evolution o Mozilla T h u n d e r b i r d ha il ruolo d i Mail User A g e n t (MUA). L'applicazione che si occupa d i consegnare le email ai destinatari è chiamata invece Mail Delivery A g e n t (MDA). Un n o t o e diffuso M D A è procmail. Infine, un M U A p u ò scaricare la posta da un account r e m o t o c o n t a t t a n d o un server POP3 o IMAP.

Postfix fornisce una r a g i o n e v o l e c o n f i g u r a z i o n e d i d e f a u l t , inoltre riesce a smaltire carichi anche m o l t o elevati d i traffico email e i m p l e m e n t a avanz a t e p o l i t i c h e d i s i c u r e z z a . E c c o d u n q u e le i s t r u z i o n i p e r i n s t a l l a r e q u e s t o m a i l s e r v e r e p e r a d a t t a r n e la c o n f i g u r a z i o n e alle p r o p r i e e s i g e n z e .

Installazione e configurazione iniziale E s e g u e n d o il c o m a n d o s u d o a p t - g e t i n s t a l i postfix v e r r à s c a r i c a t o il p a c c h e t t o p r i n c i p a l e d e l m a i l s e r v e r e sarà a v v i a t a u n a p r o c e d u r a d i c o n f i g u r a z i o n e s e m p l i f i c a t a . Q u e s t a c o n s e n t e d i s t a b i l i r e in m o d o f a c i l e e v e l o c e d e l l e i m p o s t a z i o n i a d a t t e p e r a l c u n e t i p i c h e m o d a l i t à d i utilizzo d i u n M T A . N e l l a s c h e r m a t a c h e a p p a r e d o p o a v e r l a n c i a t o il c o m a n d o p e r l ' i n s t a l l a z i o n e d i P o s t f i x , d u n q u e , v e n g o n o p r e s e n t a t e le o p z i o n i d i s p o n i b i l i p e r la c o n f i g u r a z i o n e , c o n u n a d e t t a g l i a t a s p i e g a z i o n e d e l l o r o s i g n i f i c a t o . Prem e n d o O K sarà p o i p o s s i b i l e s c e g l i e r e u n a d i q u e s t e o p z i o n i a l l ' i n t e r n o d i u n e l e n c o ( F i g u r a 11.1). Se si v u o l e i n s t a l l a r e P o s t f i x p e r il s o l o s m i s t a m e n t o d e l l a p o s t a sulla m a c china locale (per e s e m p i o p e r ricevere i m e s s a g g i inviati dal d e m o n e m d a d m , v e d i C a p i t o l o 2 , p a r a g r a f o " M a n u t e n z i o n e d e i d i s c h i R A I D " ) si s c e l g a d a l l ' e l e n c o la v o c e S o l o l o c a l e . Per c o n f i g u r a r e u n M T A c o n n e s s o a I n t e r n e t si i n d i c h i i n v e c e S i t o i n t e r n e t , m e n t r e se si i n t e n d e u t i l i z z a r e u n m a i l s e r v e r e s t e r n o , p e r e s e m p i o q u e l l o d e l p r o p r i o p r o v i d e r , p e r l ' i n v i o d e l l e e m a i l si s e l e z i o n i la v o c e S i t o

i n t e r n e t con smarthost.

gurazioiie del pacche

Postfix Configuration Profilo generale di configurazione:

Sito internet con smarthost Sistema satellite Solo locale



Figura 11.1 -Le scelte possibili per una configurazione semplificata di postfix. A s e c o n d a della scelta effettuata, c o m p a r i r a n n o delle ulteriori s c h e r m a t e di configurazione. Scegliendo Sito i n t e r n e t , per e s e m p i o , apparirà

una

s c h e r m a t a in c u i si d o v r à i n d i c a r e u n m a i l n a m e , c i o è il n o m e d i d o m i n i o c h e il m a i l s e r v e r d e v e a g g i u n g e r e ai m e s s a g g i p r i v i d i i n d i c a z i o n e d i d o m i n i o . Q u i si i n s e r i s c e s o l i t a m e n t e il F Q D N d e l l a m a c c h i n a ( p e r e s e m p i o , p i t a g o r a . h o m e . lan). A q u e s t o p u n t o verrà c r e a t a una c o n f i g u r a z i o n e m i n i m a l e d i Postfix e sarà a v v i a t o il d e m o n e

r e l a t i v o . L a n c i a n d o il c o m a n d o

sudo

dpkg-reconfigu-

r e postfix, q u i n d i , c o m p a r i r à d i n u o v o la s c h e r m a t a p e r la c o n f i g u r a z i o n e s e m p l i f i c a t a d e l m a i l s e r v e r , m a in e s s a s a r à p o s s i b i l e i m p o s t a r e u n n u m e ro m a g g i o r e d i p a r a m e t r i . S c e g l i e n d o c o m e o p z i o n e S i t o i n t e r n e t , q u i n d i , s u p e r a t a la s c h e r m a t a r e lativa alla scelta d e l m a i l n a m e sarà p o s s i b i l e i n d i c a r e i s e g u e n t i e l e m e n t i di configurazione:



Destinatario della posta diretta a root e postmaster. Si indica l ' u t e n t e c u i v a n n o i n v i a t e le e m a i l d e s t i n a t e a g l i a c c o u n t d i a m m i n i strazione;



Destinazioni per cui accettare la posta. Le email per i domini aggiuntivi indicati v e r r a n n o c o n s i d e r a t e locali;



Forzare gli a g g i o r n a m e n t i sincroni della coda di posta. Con i mod e r n i f i l e s y s t e m si l a s c i a la r i s p o s t a d i d e f a u l t , N o ;



L o c a i N e t w o r k s . L e r e t i p e r le q u a l i il m a i l s e r v e r d e v e a c c e t t a r e d i s m i s t a r e la p o s t a . V e n g o n o a c c e t t a t e p e r d e f a u l t s o l o l e e m a i l d a l o c a l h o s t . P e r i n s e r i r e a n c h e la r e t e 1 9 2 . 1 6 8 . 1 . 0 / 2 4 , p e r e s e m p i o , si a g g i u n g a alla riga ,



192.168.1.0/24;

Limite di dimensione delle mailbox. Indica la dimensione massima p o s s i b i l e p e r l e c a s e l l e d i p o s t a . Il v a l o r e d i d e f a u l t è 0 ( i l l i m i t a t o ) . Se n o n c i s o n o e v i d e n t i m o t i v i c o n t r a r i , si lasci t a l e v a l o r e ;



Carattere per le estensioni degli indirizzi locali e Protocolli intern e t d a u s a r e . Si m a n t e n g a n o i v a l o r i p r e d e f i n i t i .

Configurazione diretta di Postfix N e l c a s o in c u i la c o n f i g u r a z i o n e s e m p l i f i c a t a n o n r i s u l t a s s e s u f f i c i e n t e , è p o s s i b i l e i n t e r v e n i r e d i r e t t a m e n t e sui file d i c o n f i g u r a z i o n e d e l mail server. Il f i l e d i c o n f i g u r a z i o n e p r i n c i p a l e è / e t c / p o s t f i x / m a i n . c f . Q u i si p o s s o n o impostare i valori p e r i parametri desiderati inserendo delle

righe

c o n la

s e g u e n t e sintassi: parametro = valore E c c o u n e s e m p i o , c h e i m p o s t a p e r l e e m a i l in u s c i t a il r e l a y h o s t ( s m a r t host) mail.provider.it: relayhost =

[mail.provider.it]

L ' a v e r i n s e r i t o il n o m e d e l l ' h o s t t r a p a r e n t e s i q u a d r e i n d i c a al m a i l s e r v e r di n o n effettuare alcun M X lookup. I p a r a m e t r i d i c o n f i g u r a z i o n e richiamabili nel file main.cf s o n o diverse centinaia: nella Tabella 11.1 n e v e n g o n o indicati alcuni tra i principali, m e n t r e un e l e n c o c o m p l e t o d e i p a r a m e t r i è c o n t e n u t o nella p a g i n a d i m a n u a l e d i p o s t c o n f p o s t a n e l l a s e z i o n e 5 d i m a n (man 5 p o s t c o n f ) .

Tabella 11.1 - Alcuni parametri fondamentali nella configurazione di Postfix. |

Parametro

Valore

mydestination

D o m i n i c h e il m a i l s e r v e r c o n s i d e r a l o c a l i

mydomain

I n d i c a il d o m i n i o d e l s e r v e r

myhostname

I n d i c a il n o m e d e l s e r v e r

mynetworks myorigin relayhost

Le r e t i c u i è c o n s e n t i t o u t i l i z z a r e il s e r v e r c o m e

relay

per l'inoltro della posta I n d i c a il d o m i n i o c h e v i e n e a g g i u n t o a l l e e m a i l l o c a l i Il m a i l s e r v e r c u i d e v o n o e s s e r e i n v i a t i i m e s s a g g i

di

p o s t a n o n locali

P e r m o d i f i c a r e u n p a r a m e t r o n e l f i l e m a i n . c f è a n c h e p o s s i b i l e u t i l i z z a r e il c o m a n d o p o s t c o n f c o n l ' o p z i o n e -e. P e r e s e m p i o , p e r i m p o s t a r e c o m e r e lay h o s t m a i l . p r o v i d e r . i t si p u ò l a n c i a r e in c o n s o l e il s e g u e n t e sudo postconf

-e " r e l a y h o s t =

comando:

[mail.provider.it]"

U n ' a l t r a o p z i o n e u t i l e d i p o s t c o n f è -n, c h e m o s t r a in o u t p u t l ' e l e n c o d e i p a r a m e t r i d i P o s t f i x c h e h a n n o v a l o r i d i f f e r e n t i d a q u e l l i d i d e f a u l t ( F i g u r a 11.2).

ale@pitagora:-$ postconf -n alias database = hash:/etc/aliases alias maps = hash:/etc/aliases appenddot mydomain = no biff = no configdirectory = /etc/postfix inet interfaces = all inetprotocols = all mailboxsizelimit = 0 mydestination = pitagora.home.Ian, pitagora, localhost.localdomain, localhost myhostname = pitagora mynetworks = 127.0.0.0/8 [: :ffff: 127.0.0.0]/104 [::1]/128 myorigin = /etc/mailname readme directory = no recipientdelimiter = + relayhost = smtp t l s s e s s i o n c a c h e database = btree:${data_directory}/smtp_scache smtpd banner = $myhostname ESMTP $mail name (Ubuntu) smtpdjtlscertfile = /etc/ssl/certs/ssl-cert-snakeoil.pem s m t p d t l s k e y file = /etc/ssl/private/ssl-cert-snakeoil.key smtpd tls session cache database = btree:${datadirectory}/smtpd scache s m t p d u s e t l s = yes ale@pitagora:-$

Figura 11.2-11 comando postconf-n

mostra tutti i parametri con dei valori non di default.

L i n u x U t i u n t u per server e reti

E s e g u e n d o postconf

-d, i n v e c e , v e n g o n o visualizzati in o u t p u t i v a l o r i d i

d e f a u l t d i t u t t i i p a r a m e t r i , m e n t r e se alla stessa o p z i o n e v i e n e

aggiunto

u n p a r a m e t r o il p r o g r a m m a m o s t r a il v a l o r e d i d e f a u l t d e l s o l o p a r a m e t r o inserito. L a n c i a n d o p o s t c o n f s e n z a a r g o m e n t i , i n f i n e , in c o n s o l e a p p a r e la lista d i tutti i parametri di configurazione con i

rispettivi

valori.

FTP server cari vsftpd T a l v o l t a si h a b i s o g n o d i u n o s t r u m e n t o s e m p l i c e d a c o n f i g u r a r e e d a g e stire c h e c o n s e n t a d i f o r n i r e l'accesso in r e t e a d e i file p r e s e n t i su u n a m a c c h i n a . Il s e r v e r F T P v s f t p d p u ò e s s e r e il g i u s t o c a n d i d a t o p e r c o m p i t i simili: grazie a q u e s t a a p p l i c a z i o n e , infatti, f o r n i r e u n servizio d i FTP " a n o nimo" è davvero semplice.

Installazione del server Un server FTP c o n f i g u r a t o p e r consentire l'accesso a n o n i m o

permette

di c o n d i v i d e r e file c o n u t e n t i privi d i u n o s p e c i f i c o a c c o u n t sul server s t e s s o . Si t r a t t a , q u i n d i , d i u n m o d o e f f i c a c e p e r d i s t r i b u i r e d e i f i l e p u b blicamente. Per i n s t a l l a r e v s f t p d e r e n d e r e s u b i t o o p e r a t i v o il s e r v e r b a s t a l a n c i a r e il comando seguente: sudo apt-get

instali

vsftpd

U n a v o l t a s c a r i c a t o il p a c c h e t t o d a l l a r e t e , q u e s t o v e r r à i n s t a l l a t o ,

sarà

c r e a t o l ' u t e n t e f t p n e l s i s t e m a , c o n la r e l a t i v a d i r e c t o r y / h o m e / f t p , e v e r r à a v v i a t o il d e m o n e v s f t p d . Se t u t t o c i ò c h e si v u o l e è u n s e m p l i c e s e r v i z i o d i F T P a n o n i m o la c o n f i g u razione d e l server è t e r m i n a t a . Basterà q u i n d i inserire i file d a d i s t r i b u i r e a l l ' i n t e r n o d i / h o m e / f t p e t a l e d i r e c t o r y sarà a c c e s s i b i l e a t u t t e l e m a c c h i n e c u i è c o n c e s s a la c o n n e s s i o n e al s e r v e r FTP.

ale@pitagora:~$ sudo apt-get instali vsftpd Lettura della lista dei pacchetti in corso,.. Fatto Generazione dell'albero delle dipendenze in corso Lettura delle informazioni di stato... Fatto I seguenti pacchetti NUOVI (NEW) saranno installati: vsftpd 0 aggiornati, 1 installati, 0 da rimuovere e 0 non aggiornati. È necessario prendere 0B/96,8kB di archivi. Dopo questa operazione verranno occupati 401kB di spazio su disco. Selezionato il pacchetto vsftpd, che non lo era, (Lettura del database ... 179780 file e directory attualmente installati.) Spacchetto vsftpd (da .../vsftpd_2.0.6-lubuntul_i386.deb) ... Configuro vsftpd (2.0.6-lubuntul) ... Aggiunta dell'utente di sistema «ftp» (UID 114) ... Aggiunta del nuovo utente «ftp» (UID 114) con gruppo «nogroup» ... La home directory "/home/ftp" non è stata creata. * Starting FTP server: vsftpd

[ OK ]

ale@pitagora:|

Figura 11.3 - Installando il pacchetto FTP anonimo.

vsftpd verrà attivato automaticamente

un servizio

Configurazione del server Nella configurazione preimpostata d i vsftpd è abilitato l'accesso a n o n i m o al s e r v e r FTP, m a n o n è c o n s e n t i t o a g l i u t e n t i a n o n i m i d i i n v i a r e d e i f i l e al s e r v e r . I n o l t r e , n o n è p e r m e s s a la c o n n e s s i o n e a g l i u t e n t i n o r m a l i . P e r m o d i f i c a r e la c o n f i g u r a z i o n e d i v s f t p d si d e v e e n t r a r e n e l f i l e / e t c / v s f t p d . c o n f e cambiare i parametri desiderati. Nella Tabella 11.2 sono indicati i p a r a m e t r i p r i n c i p a l i , c o n i rispettivi valori d i d e f a u l t .

Tabella 1 1 . 2 - 1 parametri principali di v s f t p d . c o n f . Valore

Parametro anonymous_ enable write_enable anon_upload_ enable

C o n s e n t e l'accesso agli u t e n t i a n o n i m i . D e f a u l t YES C o n s e n t e l ' a c c e s s o in s c r i t t u r a sul s e r v e r FTP. D e f a u l t N O P e r m e t t e agli u t e n t i a n o n i m i d i fare u p l o a d sul server F T P ( d e v e e s s e r e a t t i v o a n c h e il p a r a m e t r o w r i t e _ e n a ble). D e f a u l t N O

Parametro anon_mkdir_ write

enable

anon_root local_enable

Valore Permette agli utenti a n o n i m i di creare directory (deve e s s e r e a t t i v o a n c h e il p a r a m e t r o w r i t e _ e n a b l e ) .

De-

fault N O I n d i c a la d i r e c t o r y d i p a r t e n z a p e r g l i a c c e s s i a n o n i m i . P e r d e f a u l t il p a r a m e t r o n o n i n d i c a a l c u n a d i r e c t o r y P e r m e t t e l ' a c c e s s o FTP a g l i u t e n t i l o c a l i . D e f a u l t

NO

A v v i a al b o o t u n d e m o n e v s f t p d (YES), a l t r i m e n t i il serlisten

ver FTP v i e n e a v v i a t o d a u n s u p e r s e r v e r c o m e x i n e t d ( N O ) . D e f a u l t su U b u n t u Y E S

xferlog_enable

G e n e r a m e s s a g g i d i l o g p e r le o p e r a z i o n i d i u p l o a d e d o w n l o a d . D e f a u l t su U b u n t u Y E S

E c c o , p e r e s e m p i o , le r i g h e d i c o n f i g u r a z i o n e p e r c o n s e n t i r e la s c r i t t u r a agli utenti anonimi e indicare c o m e directory di partenza / m n t / f t p : write_enable=YES anon_up1oad_enab1e=YES anon_root = /mnt/ftp Se si i n t e n d e f o r n i r e a c c e s s o a n c h e a g l i u t e n t i n o r m a l i p u ò e s s e r e u t i l e i n d i c a r e q u a l i f r a q u e s t i p o s s o n o c o l l e g a r s i al s e r v e r , e s c l u d e n d o c o s ì t u t t i gli altri u t e n t i d a l servizio. Le r i g h e n e c e s s a r i e p e r o t t e n e r e q u e s t o s o n o le s e g u e n t i : local_enable=YES userlist_enable=YES userlist_deny=NO Il s i g n i f i c a t o d e l p r i m o p a r a m e t r o è s p i e g a t o n e l l a T a b e l l a 1 1 . 2 , m e n t r e le d u e righe successive r i c h i e d o n o qualche informazione aggiuntiva. La r i g a u s e r i i s t _ e n a b i e = Y E S fa c a r i c a r e al s e r v e r la lista d i u t e n t i c o n t e n u t a n e l f i l e i n d i c a t o d a l p a r a m e t r o useriist_fiie, c h e p e r d e f a u l t è / e t c / v s f t p d . u s e r j i s t . La r i g a u s e r i i s t _ d e n y = N o , q u i n d i , i n d i c a c h e t a l e f i l e d e v e e s s e r e i n t e r p r e t a t o c o m e e l e n c o d e g l i u t e n t i c u i è c o n c e s s o l ' a c c e s s o al s e r v e r FTP: se si f o s s e i n s e r i t o YES c o m e v a l o r e d e l p a r a m e t r o

useriist_deny,

i n v e c e , il f i l e s a r e b b e s t a t o i n t e r p r e t a t o c o m e e l e n c o d e g l i u t e n t i c u i è vietato l'accesso.

I n s e r i t e q u e s t e t r e righe in / e t c / v s f t p d . c o n f , n o n rimane p o i c h e s c r i v e r e i n / e t c / v s f t p d . u s e r _ l i s t g l i u t e n t i c h e p o s s o n o c o l l e g a r s i al s e r v e r FTP. Per a g g i o r n a r e la c o n f i g u r a z i o n e d e l s e r v e r d o p o a v e r a p p o r t a t o

delle

m o d i f i c h e al f i l e d i c o n f i g u r a z i o n e , q u i n d i , b i s o g n a l a n c i a r e il c o m a n d o sudo /etc/init.d/vsftpd

reload.

Il d e m o n e v s f t p d s e g u e le i m p o s t a z i o n i i n s e r i t e n e i file / e t c / h o s t s . a l l o w e / e t c / h o s t s . d e n y , d u n q u e p e r g e s t i r e g l i accessi è p o s s i b i l e i n t e r v e n i r e su q u e sti d u e file. Per e s e m p i o , p e r c o n s e n t i r e a l l ' i n d i r i z z o IP 1 9 2 . 1 6 8 . 1 . 5 il c o l l e g a m e n t o al s e r v e r FTP si p u ò inserire la riga s e g u e n t e in / e t c / h o s t s . a l l o w : vsftpd:

192.168.1.5

Il web server Apache A p a c h e è u n o d e i w e b s e r v e r p i ù d i f f u s i su I n t e r n e t . Si t r a t t a d i u n a p i a t t a f o r m a flessibile e d i g r a n d e p o t e n z a c h e p u ò essere utilizzata p r o f i c u a m e n t e anche p e r fornire p a g i n e w e b all'interno d i una L A N o c o m e pratic o a m b i e n t e d i s v i l u p p o p e r la c r e a z i o n e d i a p p l i c a z i o n i w e b , se i n s e r i t o p e r e s e m p i o a l l ' i n t e r n o d i u n c o m p l e t o sistema LAMP. C o n f i g u r a r e s e c o n d o le p r o p r i e n e c e s s i t à u n w e b s e r v e r c o m p l e s s o c o m e A p a c h e p u ò essere u n ' o p e r a z i o n e laboriosa m a , a l m e n o p e r u n ' i m p o s t a z i o n e e l e m e n t a r e , la c o n f i g u r a z i o n e d i d e f a u l t in U b u n t u S e r v e r p u ò c o n siderarsi u n valido p u n t o di partenza.

Installazione di Apache Per i n s t a l l a r e A p a c h e , i m o d u l i p r i n c i p a l i e a l c u n i p r o g r a m m i b a s t a l a n c i a r e il c o m a n d o s u d o a p t - g e t i n s t a l i

accessori

apache2.

A p a c h e è un w e b server modulare. È c o m p o s t o da una sezione " c o r e " centrale e da un insieme di m o d u l i aggiuntivi che forniscono funzionalità supplementari. Ci sono m o d u l i p e r gestire modalità differenti d i autenticazione, p e r a g g i u n g e r e il s u p p o r t o a SSL e TLS e così via. Per un indice c o m p l e t o d e i m o d u l i si veda: http://httpd.apache.Org/docs/2.0/mod/

Può capitare c h e n e l l ' o u t p u t d e l c o m a n d o c o m p a i a u n errore d e l genere: apache2 : Could

not reliably

determine

the server' s fully

qualified

domain name, using 127.0.1.1 for ServerName C i ò s i g n i f i c a c h e al s e r v e r n o n risulta a s s e g n a t o u n F Q D N . P e r r i s o l v e r e il p r o b l e m a si p u ò i n t e r v e n i r e s u l f i l e / e t c / h o s t s , c o m e s p i e g a t o n e l p a r a g r a f o A s s e g n a z i o n e d e i n o m i d i h o s t d e l C a p i t o l o 5. O p p u r e si p u ò a p r i r e c o n u n e d i t o r d a r o o t il f i l e / e t c / a p a c h e 2 / c o n f . d / f q d n e i n s e r i r e la riga s e g u e n t e : ServerName

localhost

A q u e s t o p u n t o , se si p r o v a a d a c c e d e r e a l l ' i n d i r i z z o h t t p : / / 1 2 7 . 0 . 0 . 1 c o n un qualsiasi w e b browser d o v r e b b e apparire una p a g i n a simile a quella v i s i b i l e n e l l ' i m m a g i n e s e g u e n t e ( F i g u r a 11.4). B e n e ! Il w e b s e r v e r è a t t i v o e perfettamente funzionante.

I File

Modifica Visualizza Cronologia Segnalibri stiumenti -

C

, Í

Suida

• http u m 0 ri l i

I t works!

Configurazione del web server I file d i c o n f i g u r a z i o n e d i A p a c h e s o n o c o n t e n u t i nella d i r e c t o r y / e t c / apache2.

N e l l a Tabella 11.3 v e n g o n o e l e n c a t i i p r i n c i p a l i file e le d i r e c t o r y

che

t r o v a n o in / e t c / a p a c h e 2 .

Tabella 1 1 . 3 - 1 file e le directory in /etc/apache2. |

Elemento apache2.conf

ports.conf

sites-available/

Utilizzo

I

Il f i l e d i c o n f i g u r a z i o n e p r i n c i p a l e . C o n t i e n e le i m p o s t a z i o n i g e n e r a l i p e r il s e r v e r w e b File d i c o n f i g u r a z i o n e

in c u i si i m p o s t a

la p o r t a

di

ascolto del server w e b La d i r e c t o r y c o n t i e n e i f i l e c o n le c o n f i g u r a z i o n i s p e c i f i c h e d e i s i n g o l i h o s t v i r t u a l i (siti) d i s p o n i b i l i N e l l a d i r e c t o r y s o n o i n d i c a t i g l i h o s t v i r t u a l i a t t i v i sul

sites-enabled/

server. Q u e s t i f a n n o r i f e r i m e n t o agli h o s t virtuali p r e senti nella directory sites-available

mods-available/

mods-enabled/

conf.d/

La d i r e c t o r y c o n t i e n e i f i l e p e r c a r i c a r e e c o n f i g u r a r e i moduli disponibili N e l l a d i r e c t o r y s o n o i n d i c a t i i m o d u l i a t t i v i sul server. Fanno

riferimento

a q u a n t o d i s p o n i b i l e in m o d s - a v a i l a b l e

I f i l e in q u e s t a d i r e c t o r y v e n g o n o l e t t i d a a p a c h e 2 . c o n f . C o n t e n g o n o d i r e t t i v e a g g i u n t i v e p e r la c o n f i g u r a z i o n e

S e g u e n d o q u e s t a s t r u t t u r a a d o t t a t a p e r o r g a n i z z a r e la c o n f i g u r a z i o n e d i A p a c h e , o g n i s i t o c h e si i n t e n d e g e s t i r e r i c h i e d e l ' i n s e r i m e n t o d i u n f i l e a p p o s i t o nella d i r e c t o r y sites-available. C i a s c u n o di q u e s t i file,

quindi,

rappresenta un diverso host virtuale. U n o s t e s s o s e r v e r w e b p u ò g e s t i r e p i ù siti e c i ò è p o s s i b i l e g r a z i e a l l ' u t i l i z z o d e g l i h o s t v i r t u a l i : la s c e l t a d i q u a l e s i t o d e v e r i s p o n d e r e a u n a s p e c i f i c a richiesta

v i e n e d e t e r m i n a t a d a l n o m e d e l s i t o c o n t a t t a t o o d a l l ' i n d i r i z z o IP

d i d e s t i n a z i o n e . In q u e s t o m o d o , u n a s i n g o l a m a c c h i n a p u ò f a r f u n z i o n a r e a n c h e d e c i n e e d e c i n e d i siti w e b . N e l l a c o n f i g u r a z i o n e d i d e f a u l t è a t t i v o u n u n i c o h o s t v i r t u a l e , la c u i c o n figurazione è c o n t e n u t a nel file / e t c / a p a c h e 2 / s i t e s - a v a i l a b l e / d e f a u l t . righe

i n i z i a l i d i q u e s t o f i l e s o n o v i s i b i l i in F i g u r a 1 1 . 5 .

Le

JameVirtualHost * ServerAdmin webmaster@localhost DocumentRoot /var/www/ «Directory /> Options FollowSymLinks AllowOverride None «Directory /var/www/> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ «Directory "/usr/lib/cgi-bin"> AllowOverride None Options +ExecCGI -Multiviews +SymLinksIfOwnerMatch Order allow,deny Allow from all Cim 1

1.1

Figura 11.5 - La sezione iniziale del file che definisce l'host virtuale di default. La p r i m a r i g a è N a m e v i r t u a i H o s t

* . La d i r e t t i v a N a m e v i r t u a i H o s t

permette

d i i n d i c a r e l ' i n d i r i z z o IP s u c u i il w e b s e r v e r s a r à i n a s c o l t o p e r le r i c h i e s t e d i c o n n e s s i o n e a g l i h o s t v i r t u a l i . In q u e s t a r i g a , q u i n d i , si s t a b i l i s c e c h e il s e r v e r p o t r à r i c e v e r e r i c h i e s t e s u q u a l s i a s i i n d i r i z z o (*). La s e c o n d a r i g a c o n t i e n e la d i r e t t i v a < v i r t u a i H o s t > , c h e d e f i n i s c e la c o n f i gurazione di un host virtuale. Questa direttiva p u ò applicarsi a uno specif i c o i n d i r i z z o IP o a u n n o m e c o m p l e t o d i d o m i n i o o p p u r e , c o m e in q u e s t o c a s o , p u ò r i f e r i r s i a t u t t i g l i i n d i r i z z i (*). La c o n f i g u r a z i o n e d e l l ' h o s t v i r t u a l e v a p o i c h i u s a c o n la d i r e t t i v a

.

La r i g a s e r v e r A d m i n w e b m a s t e r @ i o c a i h o s t , q u i n d i , c o n t i e n e l ' i n d i r i z z o e m a i l c o m u n i c a t o ai c l i e n t d a l w e b s e r v e r in c a s o d i e r r o r i . La r i g a

DocumentRoot

/ v a r / w w w / , i n v e c e , s t a b i l i s c e c h e la d i r e c t o r y c u i d a r à a c c e s s o l ' h o s t v i r t u a le è / v a r / w w w / s u l l a m a c c h i n a s e r v e r . Q u a n d o c o n il b r o w s e r si a p r e l ' i n d i r i z z o 1 2 7 . 0 . 0 . 1 , d u n q u e , v e r r à a p e r t o il f i l e i n d e x . h t m l c o n t e n u t o in / v a r / w w w / , p e r c h é q u e s t a è la d i r e c t o r y c u i p u n t a la d i r e t t i v a D o c u m e n t R o o t d e l l ' h o s t v i r t u a l e d i d e f a u l t .

Infine, le r i g h e racchiuse tra le d i r e t t i v e < D i r e c t o r y > e < / D i r e c t o r y > c o n tengono

o p z i o n i c h e si a p p l i c a n o

alle sole d i r e c t o r y

indicate,

sottodi-

rectory incluse. Q u e s t e , d u n q u e , s o n o le p a r t i p i ù rilevanti d e l f i l e / e t c / a p a c h e 2 / s i t e s - a v a i l a b l e / d e f a u l t , a l m e n o p e r u n a r i c o g n i z i o n e iniziale d e l l e o p z i o n i d i config u r a z i o n e d i s p o n i b i l i in A p a c h e .

Modificare la configurazione A q u e s t o p u n t o è p o s s i b i l e u t i l i z z a r e il f i l e d e l v i r t u a l h o s t d i d e f a u l t c o m e c a n o v a c c i o p e r la c o n f i g u r a z i o n e d e l p r o p r i o s i t o . Nel file / e t c / a p a c h e 2 / s i t e s - a v a i l a b l e / d e f a u l t , c o n la d i r e t t i v a D o c u m e n t R o o t

q u i n d i , si m o d i f i c h i la

riga

i n s e r e n d o c o m e v a l o r e la d i r e c t o r y in c u i

s o n o c o n t e n u t i i file d e l p r o p r i o sito w e b . Ecco u n e s e m p i o : DocumentRoot

/usr/local/share/web/

NameVirtualHost * ServerAdmin webmaster@localhost DocumentRoot /usr/local/share/web/ «Directory /> Options FollowSymLinks AllowOverride None «Directory /usr/local/share/web/> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ «Directory "/usr/lib/cgi-bin"> AllowOverride None Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all «/Directory» "default" 43L, 1009C scritti

4,1-2

Cim

Figura 1 1.6 - Cambiando poche righe nel file default è possibile creare una configurazione per il proprio sito.

Q u i n d i , b i s o g n a c a m b i a r e la r i g a « D i r e c t o r y / v a r / w w w / > i n s e r e n d o al p o s t o d i / v a r / w w w / la d i r e c t o r y i n d i c a t a d a D o c u m e n t R o o t . In q u e s t o m o d o il b l o c c o d i righe d i c o n f i g u r a z i o n e p e r / v a r / w w w / v e r r à a t t r i b u i t o alla n u o v a directory. I n f i n e , d a t o c h e s o n o s t a t e m o d i f i c a t e d e l l e i m p o s t a z i o n i , b i s o g n a f a r ril e g g e r e al s e r v e r la c o n f i g u r a z i o n e m e d i a n t e il c o m a n d o s u d o d/apache2

/etc/init.

reload.

Aggiungere un sito La c o n f i g u r a z i o n e p r e d e f i n i t a d i A p a c h e su U b u n t u c o n s e n t e d i a g g i u n g e r e u l t e r i o r i siti al w e b s e r v e r in m o d o d a v v e r o s e m p l i c e . A n c h e in q u e s t o c a s o , il p u n t o d i p a r t e n z a sarà il f i l e d e f a u l t in / e t c / a p a c h e 2 / s i t e s - a v a i l a b l e . Si c r e i u n n u o v o f i l e , c h i a m a t o p e r e s e m p i o s i t o , e si c o p i al s u o i n t e r n o il c o n t e n u t o d e l file default: sudo cp /etc/apache2/sites-available/default available/sito

/etc/apache2/sites-

A d e s s o b i s o g n a m o d i f i c a r e il n u o v o f i l e i n t e r v e n e n d o s u l l e p r i n c i p a l i d i r e t tive di configurazione. I n n a n z i t u t t o , va e l i m i n a t a la r i g a i n i z i a l e c o n la d i r e t t i v a N a m e v i r t u a i H o s t : q u e s t a , i n f a t t i , v i e n e l e t t a d a l f i l e d e f a u l t e n o n b i s o g n a inserirla n u o v a m e n t e . A l l ' i n t e r n o d e l b l o c c o < v i r t u a i H o s t > si d e v e p o i a g g i u n g e r e u n a riga s e r v e r N a m e c o n t e n e n t e il n o m e d i h o s t c o m p l e t o p e r il s i t o . U n a r i g a d i e s e m p i o è la s e g u e n t e : ServerName

sito.internet.it

La r i g a s e r v e r N a m e c o n s e n t e d i i n d i v i d u a r e il v i r t u a i H o s t c h e d e v e r i s p o n d e r e a u n a r i c h i e s t a e f f e t t u a t a al s e r v e r w e b d a u n c l i e n t . Se n o n v i e n e t r o v a t o a l c u n h o s t v i r t u a l e c h e c o r r i s p o n d a al n o m e d i h o s t r i c h i e s t o , v i e n e i n t e r p e l l a t o l ' h o s t v i r t u a l e d i d e f a u l t , n e l l a c u i c o n f i g u r a z i o n e la d i r e t t i v a ServerName è assente. N e l b l o c c o < v i r t u a i H o s t > va p o i m o d i f i c a t a la r i g a c o n la d i r e t t i v a D o c u m e n t R o o t in m o d o t a l e c h e q u e s t a i n d i c h i la d i r e c t o r y r a d i c e p e r il n u o v o s i t o . P o i si c a m b i a la r i g a « D i r e c t o r y directory radice desiderata.

/ v a r / w w w / > i n s e r e n d o a n c h e q u i la

F a t t o q u e s t o , si p o s s o n o m o d i f i c a r e a l t r e p a r t i r i p r e s e d a l f i l e d e f a u l t , p e r e s e m p i o e l i m i n a n d o le r i g h e r e l a t i v e a l l a d i r e c t o r y / u s r / s h a r e / d o c , c h e c o s t i t u i s c o n o u n i n u t i l e d u p l i c a t o , o p p u r e c a m b i a n d o le d i r e t t i v e E r r o r L o g e c u s t o m L o g in m o d o t a l e d a c r e a r e f i l e d i l o g d i v e r s i p e r i v a r i siti. E f f e t t u a t e t u t t e le m o d i f i c h e c h e si r e p u t a n o n e c e s s a r i e , q u i n d i , si s a l v a il f i l e s i t o e l o si a t t i v a n e l l a c o n f i g u r a z i o n e d i A p a c h e c o n il

comando

seguente: sudo a2ensite

sito

Il c o m a n d o s p e c u l a r e , d a l l a m e d e s i m a s i n t a s s i , p e r d i s a b i l i t a r e u n s i t o è a 2 d i s s i t e . Per d i s a t t i v a r e l ' h o s t v i r t u a l e c o n f i g u r a t o nel file sito, q u i n d i , va lanciato sudo a2dissite Dopo

sito.

l'esecuzione dei c o m a n d i a2ensite e a2dissite è infine

sario far r i l e g g e r e ad A p a c h e d/apache2

la c o n f i g u r a z i o n e c o n s u d o

neces-

/etc/init.

reload.

ale@pitagora:~$ sudo a2ensite sito Site sito installed; run /etc/init.d/apache2 reload to enable. ale@pitagora:~$ sudo /etc/init.d/apache2 reload * Reloading web server config apache2 ale@pitagora:-$ |

[ OK ]

Figura 11.7- Dopo aver attivato un sito si fa rileggere la configurazione al server web. A q u e s t o p u n t o A p a c h e g e s t i s c e p i ù siti c h e

rispondono

a un

medesimo

IP, m a p e r f a r e in m o d o c h e t a l i siti s i a n o r a g g i u n g i b i l i b i s o g n a i n t e r v e n i r e

sulla c o n f i g u r a z i o n e d e l s e r v e r D N S e a g g i u n g e r e a p p o s i t i r e c o r d D N S d i tipo CNAME. Per e f f e t t u a r e d e l l e p r o v e v e l o c i c o n g l i h o s t v i r t u a l i c o n f i g u r a t i ,

però,

è sufficiente a g g i u n g e r e nel file / e t c / h o s t s della m a c c h i n a server d e l l e righe

a g g i u n t i v e . Q u e s t e d e v o n o c o n t e n e r e l ' i n d i r i z z o IP d e l w e b s e r v e r

e i n o m i d i h o s t a c u i r i s p o n d o n o g l i h o s t v i r t u a l i i n c u i è p r e s e n t e la d i rettiva ServerName.

Host: virtuali IP-based La p r o c e d u r a

di configurazione

presentata

in q u e s t i

paragrafi

mostra

c o m e c r e a r e d e g l i h o s t v i r t u a l i d i t i p o n a m e - b a s e d ( u n s o l o i n d i r i z z o IP, siti identificati d a l n o m e d e l l ' h o s t richiesto dal client). Per u t i l i z z a r e h o s t v i r t u a l i I P - b a s e d (indirizzi IP d i f f e r e n t i p e r siti d i f f e r e n t i ) , i n v e c e , si d e v e c o l l e g a r e o g n i s i n g o l o h o s t v i r t u a l e a u n d i v e r s o i n d i r i z z o IP: si p u ò o t t e n e r e q u e s t o a d o t t a n d o p i ù c o n n e s s i o n i d i r e t e o p p u r e c o n f i g u r a n d o delle interfacce d i rete virtuali. Q u e s t a s e c o n d a o p z i o n e è m o l t o c o m o d a . Per sfruttarla basta

richiamare

ifconfig in q u e s t o m o d o : s u d o ifconfig ethO : 0 1 9 2 . 1 6 8 . 1 . 1 0 0 n e t m a s k Il

comando

crea

l'interfaccia

virtuale

255.255.255.0

eth0:0,

le a s s e g n a

l'indirizzo

192.168.1.100 e dichiara una netmask 255.255.255.0. È quindi possibile a t t i v a r e c o n l o s t e s s o p r o c e d i m e n t o le i n t e r f a c c e e t h 0 : 1 , e t h 0 : 2 e c o s ì v i a . Per c o n f i g u r a r e le i n t e r f a c c e d i r e t e v i r t u a l i a l l ' a v v i o d e l l a m a c c h i n a è s u f f i c i e n t e a g g i u n g e r e in / e t c / n e t w o r k / i n t e r f a c e s d e i b l o c c h i c o n t e n e n t i

righe

iniziali c o m e la s e g u e n t e : iface ethO: 0 inet

static

C r e a t e le i n t e r f a c c e v i r t u a l i , d u n q u e , p e r c o n f i g u r a r e A p a c h e si s e g u o n o le i s t r u z i o n i f o r n i t e in p r e c e d e n z a p e r g l i h o s t v i r t u a l i n a m e - b a s e d . In q u e s t o c a s o , p e r ò , n o n si d e v e i n s e r i r e a l c u n a d i r e t t i v a N a m e v i r t u a i H o s t e n e l l e righe < v i r t u a i H o s t > va i n s e r i t o l ' i n d i r i z z o IP d e l l ' i n t e r f a c c i a d i r e t e virtuale abbinata all'host virtuale corrente.

Ecco q u i n d i un semplice b l o c c o d i e s e m p i o : cVirtualHost 192.168.1.100> ServerAdmin webmaster@localhost DocumentRoot /usr/local/share/sito2 ServerName www.secondosito.com

Il server DIM5 BIIX1D N e l C a p i t o l o 5 si è v i s t o c o m e t r a d u r r e i n o m i d i h o s t in i n d i r i z z i IP i n s e r e n d o o p p o r t u n e righe d i c o n f i g u r a z i o n e nel file / e t c / h o s t s . Q u e s t o m e t o d o p u ò e s s e r e f u n z i o n a l e in r e t i d i p i c c o l i s s i m e d i m e n s i o n i , m a g a r i c o s t i t u i t e d a d u e o t r e m a c c h i n e , m a è c e r t o i n e f f i c i e n t e e p o c o p r a t i c o in L A N a n che p o c o più grandi. In q u e s t o c a s o è n e c e s s a r i o f a r g e s t i r e la r i s o l u z i o n e d e i n o m i d i h o s t a u n s e r v e r D N S i n s t a l l a t o su u n c o m p u t e r d e l l a L A N : le v a r i e m a c c h i n e n e l l a r e t e l o c a l e c o n t a t t e r a n n o q u i n d i il s e r v e r D N S o g n i v o l t a c h e d o v r a n n o risolvere un n o m e . Un b e l passo avanti

rispetto

al d o v e r r e p l i c a r e e m o d i -

f i c a r e il f i l e / e t c / h o s t s su t u t t i i PC d e l l a r e t e . N e i p a r a g r a f i c h e s e g u o n o , q u i n d i , si f o r n i r a n n o le i s t r u z i o n i p e r i n s t a l l a r e il s e r v e r D N S B I N D e u t i l i z z a r n e a l c u n e f u n z i o n a l i t à d i b a s e .

Installazione e configurazione iniziale Per i n s t a l l a r e B I N D va l a n c i a t o in c o n s o l e il c o m a n d o s u d o stali

a p t - g e t in-

b i n d 9 . A l t e r m i n e d e l l ' i n s t a l l a z i o n e , q u e l l o c h e si o t t e r r à sarà u n

D N S server di caching attivo nel sistema e fornito d i una configurazione quasi completa. Prima d i c o n t i n u a r e , è necessaria q u a l c h e precisazione iniziale sui t i p i d i server D N S c h e è possibile i m p l e m e n t a r e : •

S e r v e r d i c a c h i n g . Il D N S s e r v e r i n s t a l l a t o c o n t a t t a u n a l t r o D N S s e r v e r p e r la r i s o l u z i o n e d e i n o m i e m e m o r i z z a le r i s p o s t e n e l l a c a c h e , c o s ì d a o f f r i r l e ai c l i e n t p e r le s u c c e s s i v e r i c h i e s t e ;



S e r v e r a u t o r i t a t i v o p r i m a r i o . Il D N S s e r v e r i n s t a l l a t o r i s o l v e d i r e t tamente i nomi

ricercando

le i n f o r m a z i o n i su d e i f i l e d i c o n f i g u r a z i o -

ne locali. È c h i a m a t o a n c h e server m a s t e r ;



S e r v e r a u t o r i t a t i v o s e c o n d a r i o . Il DNS server ricava le informazioni richieste da un server autoritativo primario. È c h i a m a t o anche server slave.

N e l l a c o n f i g u r a z i o n e d i d e f a u l t d i B I N D , q u i n d i , il s e r v e r D N S n o n fa a l t r o che

ricevere

d a t i d a u n a f o n t e e s t e r n a e ha il s e m p l i c e s c o p o d i m i g l i o r a r e

l ' e f f i c i e n z a d i u n a r e t e l o c a l e , a u m e n t a n d o la v e l o c i t à d i r i s o l u z i o n e d e i n o m i e r i d u c e n d o il t r a f f i c o D N S n e l l a L A N . Per r e n d e r e o p e r a t i v a la c o n f i g u r a z i o n e d i u n s e r v e r D N S d i c a c h i n g , q u i n di, è sufficiente inserire nel file / e t c / b i n d / n a m e d . c o n f . o p t i o n s gli indirizzi IP d e i s e r v e r D N S d a c o n t a t t a r e , t i p i c a m e n t e q u e l l i d e l p r o p r i o p r o v i d e r . D o p o a v e r a p e r t o il f i l e c o n u n e d i t o r d a r o o t , si c e r c h i il b l o c c o d i r i g h e s e g u e n t e e si t o l g a n o t u t t i i c a r a t t e r i / / iniziali d i c o m m e n t o : // f o r w a r d e r s { / / / /

}

I

0 . 0 . 0 . 0 ;

Q u i n d i , si i n s e r i s c a n o al p o s t o d i o . o . o . o , - g l i i n d i r i z z i IP d e s i d e r a t i . E c c o u n e s e m p i o d i c i ò c h e si d e v e o t t e n e r e : forwarders { 195.110.128.1; 212.48.4.11;

}:

F a t t o q u e s t o , si riavvii il s e r v e r D N S c o n il c o m a n d o s u d o bind9

/etc/init.d/

restart.

N o n r i m a n e p o i c h e m o d i f i c a r e il f i l e / e t c / r e s o l v . c o n f d e l l a m a c c h i n a serv e r in m o d o t a l e c h e su q u e s t a v e n g a c o n t a t t a t o il s e r v e r D N S l o c a l e p e r r i s o l v e r e i n o m i . La r i g a n a m e s e r v e r d e v e d i v e n t a r e così: nameserver

127.0.0.1

N e l caso siano p r e s e n t i p i ù r i g h e c h e s p e c i f i c a n o gli indirizzi d e i server D N S d a u s a r e , è n e c e s s a r i o c h e il s e r v e r l o c a l e v e n g a i n d i c a t o p e r p r i m o . I n s e r i r e in / e t c / r e s o l v . c o n f sia il p r o p r i o s e r v e r D N S sia q u e l l i d e l p r o v i d e r , quindi, consente di

risolvere

i n o m i d i h o s t a n c h e q u a n d o il s e r v e r n e l l a

r e t e l o c a l e risulta i r r a g g i u n g i b i l e ( F i g u r a 11.8).

nameserver 127.0.0.1 nameserver 195.110.128.1 Jameserver 212.48.4.11

"/etc/resolv.conf" 3L, 69C scritti Figura 11.8 - Il file /etc/resolv.conf

Tut

3,1

con il server DNS locale e quelli forniti dal provider.

N e g l i a l t r i c o m p u t e r d e l l a L A N , I n f i n e , il p r i m o n a m e s e r v e r i n d i c a t o n e l f i l e / e t c / r e s o l v . c o n f d e v e p u n t a r e a l l ' i n d i r i z z o IP d e l l a m a c c h i n a i n c u i è installato BIND.

La cache d i B I N D n o n v i e n e m e m o r i z z a t a su d i s c o m a è m a n t e n u t a in R A M . In caso d i eccessiva o c c u p a z i o n e d i m e m o r i a sul server è p o s s i b i l e limitare le d i m e n s i o n i della cache i n s e r e n d o in n a m e d . c o n f . o p t i o n s l ' o p z i o n e max-cache-size.

Per cancellare le i n f o r m a z i o n i c o n t e n u t e nella

c a c h e , invece, si lancia il c o m a n d o s u d o

rade

- s 127.0.0.1

flush.

Configurare un server DIM5 primaria L'utilizzo d i B I N D c o m e server d i c a c h i n g , a n c h e se f o r n i s c e u n servizio u t i l e in u n a L A N , è s o l o u n s e m p l i c e a s s a g g i o d e l l e p o t e n z i a l i t à d i u n server D N S . E c c o q u i n d i le istruzioni p e r creare u n server a u t o r i t a t i v o p r i m a r i o : q u e l l o c h e si o t t e r r à s a r à u n a m a c c h i n a c h e r i s o l v e i n o m i d i h o s t p e r la r e t e l o c a -

le, d e m a n d a n d o a u n s e r v e r D N S e s t e r n o la t r a d u z i o n e d e l n o m i e s t e r n i v e r s o la L A N . Per a t t i v a r e u n s e r v e r p r i m a r i o è n e c e s s a r i o d e f i n i r e n e l s e r v e r u n a z o n a D N S locale. Una zona n o n è altro che una parte d e l l o spazio d e i

nomi

D N S : la p r i m a o p e r a z i o n e d a c o m p i e r e , d u n q u e , è c r e a r e u n a z o n a c o r r i s p o n d e n t e agli indirizzi della p r o p r i a L A N . N e g l i e s e m p i c h e s e g u o n o v i e n e u t i l i z z a t o il n o m e d i d o m i n i o u f f i c i o . l a n . Q u a n d o q u e s t o a p p a r e n e l l e r i g h e r i p o r t a t e , d u n q u e , b i s o g n a i n s e r i r e al s u o p o s t o il n o m e d i d o m i n i o d e l l a p r o p r i a r e t e . Le m a c c h i n e c h e c o m p o n g o n o la r e t e s o n o q u i n d i m a r c o ( 1 9 2 . 1 6 8 . 1 . 1 0 ) , c a r i o ( 1 9 2 . 1 6 8 . 1 . 2 0 ) , g i a n n i ( 1 9 2 . 1 6 8 . 1 . 3 0 ) e ns ( 1 9 2 . 1 6 8 . 1 . 4 0 ) . Su q u e s t ' u l t i m a è i n s t a l l a t o il server D N S . Si a p r a d u n q u e il f i l e / e t c / b i n d / n a m e d . c o n f . l o c a l e si a g g i u n g a n o le r i g h e seguenti: z o n e "ufficio, lan" { type master; file " / e t c / b i n d / d b . ufficio. lan" ;

};

F a t t o q u e s t o , va c o n f i g u r a t a p e r la r e t e l o c a l e u n a z o n a i n v e r s a : q u e s t a c o n s e n t e d i r i s o l v e r e u n i n d i r i z z o IP n e l r e l a t i v o n o m e d i h o s t . S e m p r e n e l f i l e n a m e d . c o n f . l o c a l si i n s e r i s c a n o q u e s t e r i g h e : zone "1.168.192.in-addr.arpa" type master; file " / e t c / b i n d / d b . 1 9 2 " ;

{

};

L ' i n d i c a z i o n e 1 . 1 6 8 . 1 9 2 n e l l a p r i m a riga n o n è a l t r o c h e la s c r i t t u r a i n v e r s a dei p r i m i tre n u m e r i che c o m p o n g o n o l'indirizzo della L A N . Nella terza r i g a , i n v e c e , 1 9 2 è il p r i m o n u m e r o d e l l ' i n d i r i z z o . A q u e s t o p u n t o , d o p o a v e r s a l v a t o il f i l e n a m e d . c o n f . l o c a l è g i u n t o il m o m e n t o d i c r e a r e d e i r e c o r d , c i o è le v o c i d e l d a t a b a s e d e l D N S , sia p e r la z o n a d i r e t t a sia p e r q u e l l a i n v e r s a . Per la z o n a d i r e t t a si p u ò u s a r e c o m e m o d e l l o il f i l e / e t c / b i n d / d b . l o c a i , il c u i c o n t e n u t o è v i s i b i l e in F i g u r a 1 1 . 9 .

D

; BIND data file for local loopback interface $TTL @ IN

@ IN @ IN @ IN

604800 50A localhost. root.localhost. ( 2 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL NS localhost. A 127.0.0.1 AAAA : : 1

•/etc/bind/db. local" 14L, 270C Figura 11.9 - Si usa /etc/bind/db.

1,1

Tut

locai come modello per creare il file della zona.

Si c r e i q u i n d i d b . u f f i c i o . l a n a p a r t i r e d a q u e s t o f i l e : s u d o c p / e t c / b i n d / d b . l o c a i / e t c / b i n d / d b .ufficio. l a n N e l f i l e d b . u f f i c i o . l a n la p r i m a riga d a m o d i f i c a r e è la s e g u e n t e : @ IN

SOA localhost. root.localhost. (

A l p o s t o d i l o c a l h o s t . b i s o g n a i n s e r i r e il n o m e d i d o m i n i o c o m p l e t o d e l s e r v e r D N S m a n t e n e n d o il p u n t o f i n a l e . A l p o s t o d i r o o t . l o c a l h o s t . , i n v e c e , si i n d i c a l ' i n d i r i z z o e m a i l d e l l ' a m m i n i s t r a t o r e sul s e r v e r c o n s e r v a n d o la n o t a z i o n e p r e s e n t e n e l f i l e d b . l o c a i . P e r e s e m p i o , s e si u s a n s . u f f i c i o . l a n c o m e F Q D N e a d m i n @ u f f i c i o . l a n c o m e e m a i l la r i g a d i v e n t a c o s ì : @ IN

SOA ns.ufficio.lan. admin.ufficio. l a n . (

Q u e s t a p r i m a r i g a m o d i f i c a t a è l ' i n i z i o d e l r e c o r d S O A p e r la z o n a c h e si s t a c o n f i g u r a n d o : q u e s t o t i p o d i r e c o r d h a la f u n z i o n e d i d e f i n i r e u n a z o n a e si e s t e n d e p e r p i ù chiusura.

righe

n e l f i l e , f i n o al c a r a t t e r e d i p a r e n t e s i t o n d a d i

La riga s u c c e s s i v a n e l f i l e c o n t i e n e il v a l o r e d e l s e r i a l . O g n i v o l t a c h e si e f f e t t u a n o d e i c a m b i a n t i nel file d b . u f f i c i o . l a n q u e s t o v a l o r e va a u m e n t a t o . U n a p r a t i c a d i f f u s a è q u e l l a d i i n d i c a r e c o m e n u m e r o s e r i a l e la d a t a c u i le m o d i f i c h e s o n o s t a t e a p p o r t a t e , a g g i u n g e n d o d u e c i f r e f i n a l i

in per

s e g n a l a r e i c a m b i a m e n t i e f f e t t u a t i in u n o s t e s s o g i o r n o . E c c o u n a r i g a d i esempio: 2008092800

; Serial

Le r i g h e s e g u e n t i d e l r e c o r d S O A si p o s s o n o l a s c i a r e i m m u t a t e . Q u i n d i si d e v e m o d i f i c a r e la r i g a s u c c e s s i v a : @ IN

NS

localhost.

Q u e s t a c o n t i e n e un record di t i p o NS, che indica i server primari e second a r i p e r u n a d e t e r m i n a t a z o n a . Il c a r a t t e r e

p r e s e n t e anche nella

riga

i n i z i a l e d e l r e c o r d S O A , è u n a s c o r c i a t o i a u s a t a p e r r a p p r e s e n t a r e la z o n a a t t u a l e , m e n t r e l o c a l h o s t . è il n o m e d i h o s t d e l s e r v e r D N S c u i la r i g a si riferisce. Se il s e r v e r D N S n e l l a L A N è n s . u f f i c i o . l a n , q u i n d i , q u e s t a r i g a d e v e d i v e n t a r e così: @ IN

NS

n s . ufficio. l a n .

F i n o r a si s o n o i n c o n t r a t i i r e c o r d S O A e N S . N e l l a T a b e l l a 1 1 . 4 , q u i n d i , viene presentato un elenco dei tipi di record D N S più importanti.

Tabella 11.4 - I principali tipi di record DNS. I

Descrizione

Tipo SOA NS

••HI PTR

MX CNAME

Sta p e r S t a r t o f A u t h o r i t y e d e f i n i s c e u n a z o n a Sta p e r N a m e S e r v e r e i n d i c a d e i n a m e s e r v e r a u t o r i t a t i v i F o r n i s c e la c o r r i s p o n d e n z a t r a u n n o m e e u n i n d i r i z z o S t a p e r P o i n T e R e f o r n i s c e la c o r r i s p o n d e n z a t r a u n i n d i rizzo e un n o m e Sta p e r M a i l e X c h a n g e r e i n d i c a a q u a l i h o s t d e v o n o esser e i n v i a t e le e m a i l Fornisce a un host un n o m e

OEE

Life

supplementare

*

j

A q u e s t o p u n t o si a g g i u n g o n o n e l f i l e le r i g h e c h e c o n s e n t o n o d i t r a d u r r e g l i i n d i r i z z i IP in n o m i d i h o s t a l l ' i n t e r n o d e l l a r e t e l o c a l e . Si i n s e r i s c e i n n a n z i t u t t o u n r e c o r d A c o n le i n f o r m a z i o n i s u l s e r v e r D N S : ns

IN

A

192.168.1.40

Q u i n d i , si a g g i u n g o n o le r i g h e r e l a t i v e a g l i a l t r i c o m p u t e r n e l l a L A N , c o m e in q u e s t e r i g h e d i e s e m p i o : marco cario gianni

IN IN IN

A A A

192.168.1.10 192.168.1.20 192.168.1.30

F a t t o q u e s t o , s o n o s t a t i c r e a t i t u t t i i r e c o r d p e r la z o n a d i r e t t a :

il f i l e

d b . u f f i c i o . i a n risultante è visibile n e l l ' i m m a g i n e che s e g u e (Figura 11.10).

• f BIND data file for local loopback interface • $TTL 604800 IN SOA n s . u f f i c i o . I a n . admin.ufficio.lan. ( 2008092800 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL g IN NS n s . u f f i c i o . I a n . ns IN A 192.168.1.40 inarco IN A 192.168.1. 10 cario IN A 192.168.1.20 gianni IN A 192.168.1. 30

1,1

"/etc/bind/db.ufficio,lan 1 ' 16 linee --6%-Figura 11.10-11 file /etc/bind/db.ufficio.lan

dopo le

Tut

modifiche.

P o i si p a s s a a c o n f i g u r a r e il f i l e p e r la z o n a i n v e r s a . A n c h e in q u e s t o c a s o si u t i l i z z a u n f i l e c o m e m o d e l l o , d b . 1 2 7 : sudo cp /etc/bind/db.127

/etc/bind/db.192

La s t r u t t u r a d i q u e s t o f i l e è s i m i l e a q u e l l a d e l f i l e p e r la z o n a

diretta.

B i s o g n a q u i n d i m o d i f i c a r e la p r i m a r i g a d e l r e c o r d S O A n e l m o d o

visto

in p r e c e d e n z a , i n c r e m e n t a n d o a n c h e q u i il s e r i a l a o g n i m o d i f i c a . P o i si a g g i u n g e u n r e c o r d N S c o n il n o m e d i h o s t d e l s e r v e r D N S . I n f i n e , si i n s e r i s c e u n r e c o r d PTR p e r o g n i n o m e d i h o s t p r e s e n t e n e l l a r e t e l o c a l e , in q u e s t o 10 20 30 40

IN IN IN IN

PTR PTR PTR PTR

modo: marco.ufficio, lan. cario.ufficio, l a n . g i a n n i . ufficio, l a n . n s .ufficio, l a n .

11 c o n t e n u t o d e l f i l e al t e r m i n e d e l l e m o d i f i c h e s a r à s i m i l e a l l ' i m m a g i n e s e g u e n t e ( F i g u r a 1 1 . 1 1 ) . La c o n f i g u r a z i o n e d e l s e r v e r D N S p r i m a r i o è t e r m i nata e n o n resta c h e riavviare B I N D c o n sudo /etc/init ,d/bind9

restart.

• ; BIND reverse data file for local loopback interface

I$TTL 604800 IN SOA ns.uff icio.lan. admin.ufficio.lan. ( 2008092800 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL @ IN 10 IN 20 IN 30 IN 40 IN

NS PTR PTR PTR PTR

ns. ufficio, lan. marco.ufficio.lan. cario.ufficio.lan. gianni.ufficio.lan. ns.ufficio.lan.

("/etc/bind/db. 192" 16L, 376C scritti Figura 11.11 - Il file /etc/bind/db.

192 con la configurazione

1,1 della zona inversa.

Tut

12. Ottimizzare il sistema La procedura per c o m p i l a r e facilmente il

kernel e le applicazioni.

A r r i v a t i a q u e s t o p u n t o , q u e l l o c h e si è o t t e n u t o è u n a m a c c h i n a p e r f e t t a m e n t e f u n z i o n a n t e e c o n t u t t o il s o f t w a r e n e c e s s a r i o p e r e r o g a r e servizi nella rete o p e r d i v e n t a r e u n c o m p l e t o d i s p o s i t i v o m u l t i m e d i a l e . A v o l t e , p e r ò , l ' h a r d w a r e d i c u i si d i s p o n e n o n è s f r u t t a t o al m e g l i o d a l s i s t e m a o p e r a t i v o o d a i p r o g r a m m i c h e si u t i l i z z a n o p i ù c o m u n e m e n t e . In q u e s t o b r e v e e u l t i m o c a p i t o l o , q u i n d i , si v e d r à c o m e o t t i m i z z a r e il sis t e m a c o m p i l a n d o il k e r n e l e l e a p p l i c a z i o n i , in m o d o t a l e d a o t t e n e r e la m i g l i o r e aderenza possibile tra h a r d w a r e p o s s e d u t o e software utilizzato.

Compilazione del kernel Il k e r n e l f o r n i t o c o n U b u n t u Server d o v r e b b e c o n s e n t i r e p r e s t a z i o n i s o d d i s f a c e n t i nella m a g g i o r p a r t e d e l l e s i t u a z i o n i e d e l l e c o n f i g u r a z i o n i a d o t t a t e . La p r i n c i p a l e r a g i o n e p e r c u i è c o n s i g l i a b i l e c o m p i l a r e u n k e r n e l p e r s o n a l i z z a t o è la ricerca d i u n a m i g l i o r e c o m p a t i b i l i t à h a r d w a r e : n o n è d e t t o , infatti, c h e un dispositivo v e n g a riconosciuto c o r r e t t a m e n t e d a l kernel d i default e ciò p u ò c o m p o r t a r e malfunzionamenti, prestazioni mediocri o l ' i m p o s s i b i l i t à d i u s a r e il d i s p o s i t i v o s t e s s o . A l t r e v o l t e u n e l e m e n t o ril e v a n t e d e l P C , c o m e p e r e s e m p i o la C P U , v i e n e s f r u t t a t o al m a s s i m o d e l l e p o t e n z i a l i t à .

riconosciuto

ma non è

Per c o m p i l a r e u n p r o p r i o k e r n e l è n e c e s s a r i o s c e g l i e r e q u a l e v e r s i o n e d e i s o r g e n t i d e l k e r n e l Linux utilizzare: le s c e l t e p r i n c i p a l i s o n o il k e r n e l u f f i c i a le, c h i a m a t o a n c h e k e r n e l v a n i i i a , e il k e r n e l U b u n t u . S c e g l i e n d o il p r i m o si ha la p o s s i b i l i t à d i scaricare s e m p r e l ' u l t i m a r e l e a s e s t a b i l e d e l k e r n e l d i s p o n i b i l e , m e n t r e il s e c o n d o è e s p r e s s a m e n t e p e n s a t o p e r integrarsi nel sistema U b u n t u e fornisce spesso patch e driver più aggiornati

rispetto

al c o r r i s p e t t i v o k e r n e l v a n i l l a .

Kernel ufficiale e kernel Ubuntu Per p o t e r c o m p i l a r e il k e r n e l si i n s t a l l i n o i n n a n z i t u t t o a l c u n i p a c c h e t t i c o n il c o m a n d o s e g u e n t e : sudo a p t - g e t i n s t a l i b u i l d - e s s e n t i a l f a k e r o o t k e r n e l - p a c k a g e libncurses5-dev

bin86

Q u i n d i , se si d e s i d e r a a d o t t a r e il k e r n e l u f f i c i a l e , si scarichi l ' u l t i m a v e r s i o n e s t a b i l e d e l k e r n e l d a h t t p : / / w w w . k e r n e l . o r g / (Figura 12.1). Per e s e m p i o , al m o m e n t o d e l l a stesura d i q u e s t o l i b r o l ' u l t i m a release d i s p o n i b i l e è la 2 . 6 . 2 6 . 5 e p e r e f f e t t u a r e il d o w n l o a d d e l f i l e c o r r i s p o n d e n t e b a s t a l a n c i a r e in c o n s o l e q u e s t o c o m a n d o : wget

http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.26.5.tar.bz2

f i l e Modifies ^isualizza Cronologia Sfignalibri Strumenti Guide V -

&

• £ • •
View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF