December 8, 2016 | Author: IacopoDivareseSpino | Category: N/A
Download Linux Ubuntu per Server e Reti.pdf...
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-
•
t»
!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 -
&
• £ • •