05.06.2013 Views

LINUX DEBIAN ETCH I servizi di rete

LINUX DEBIAN ETCH I servizi di rete

LINUX DEBIAN ETCH I servizi di rete

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Dott.Ing.Ivan Ferrazzi<br />

<strong>LINUX</strong> <strong>DEBIAN</strong> <strong>ETCH</strong><br />

I <strong>servizi</strong> <strong>di</strong> <strong>rete</strong><br />

1/17


Dott.Ing.Ivan Ferrazzi<br />

Copyright ©2008 Dott.Ing. Ivan Ferrazzi<br />

Permission is granted to copy, <strong>di</strong>stribute and/or mo<strong>di</strong>fy this<br />

document under the terms of the GNU Free Documentation<br />

License, Version 1.2 or any later version published by the<br />

Free Software Foundation; with no Invariant Sections, no<br />

Front-Cover Texts, and no Back-Cover Texts.<br />

2/17


Dott.Ing.Ivan Ferrazzi<br />

Introduzione<br />

IL LOGSYSTEM DI <strong>LINUX</strong><br />

Il sistema operativo Linux, come tutti i sistemi operativi, è molto<br />

complesso e <strong>di</strong>fficile da gestire. Ogni processo può generare dei<br />

messaggi informativi, <strong>di</strong> errore o <strong>di</strong> controllo, che permettono l'analisi<br />

dello stato <strong>di</strong> funzionamento dei singoli processi. Cercare <strong>di</strong> raccogliere<br />

manualmente i singoli messaggi inviati da <strong>di</strong>versi processi <strong>di</strong>venterebbe<br />

un'impresa molto ardua ai limiti dell'impossibile. Per questo motivo Linux<br />

utilizza un “logsystem”. Un sistema che permette <strong>di</strong> “<strong>di</strong>rottare” tutti i<br />

segnali generati dai vari processi e classificati per priorità all'interno <strong>di</strong><br />

file <strong>di</strong>versi. Tutti questi file vengono, <strong>di</strong> norma, generati e aggiornati<br />

all'interno della cartella /var/log. Questo permette ad un<br />

amministratore <strong>di</strong> <strong>rete</strong> la verifica dell'intero sistema concentrandosi<br />

solamente sul contenuto <strong>di</strong> una cartella.<br />

Il processo che si occupa <strong>di</strong> raccogliere i vari messaggi e <strong>di</strong> or<strong>di</strong>narli per<br />

priorità si chiama syslogd e viene configurato con il file<br />

/etc/syslog.conf.<br />

Il file <strong>di</strong> configurazione /etc/syslog.conf<br />

Questo file <strong>di</strong> configurazione può contenere delle righe che iniziano con il<br />

# che identificano righe <strong>di</strong> commento e non vengono prese in<br />

3/17


Dott.Ing.Ivan Ferrazzi<br />

considerazione durante l'elaborazione del file <strong>di</strong> configurazione. Tutte le<br />

altre righe hanno il seguente formato<br />

processo <strong>di</strong> provenienza.priorità azione<br />

I processi <strong>di</strong> provenienza e le priorità<br />

All'interno <strong>di</strong> un'unica riga è possibile definire azioni per più processi <strong>di</strong><br />

provenienza o priorità. In caso <strong>di</strong> più processi <strong>di</strong> priorità questi verrebbero<br />

scritti in sequenza separati da una virgola (,), mentre più priorità<br />

verrebbero scritte sempre in sequenza, ma seperate da un punto e<br />

virgola (;). Sia per i processi che per le priorità e possibile utilizzare anche<br />

l'asterisco (*) che identifica rispettivamente tutti i processi, oppure tutte<br />

le priorità.<br />

Qui <strong>di</strong> seguito verranno elencati tutti i processi <strong>di</strong> provenienza<br />

riconosciuti da syslogd:<br />

kern Messaggi <strong>di</strong> sistema <strong>di</strong>rettamente dal kernel<br />

auth Messaggi dal sistema <strong>di</strong> sicurezza (login,...)<br />

authpriv Messaggi riservati del sistema interno <strong>di</strong> sicurezza<br />

mail Messaggi del sistema delle mail<br />

news Messaggi del sistema delle news<br />

uucp Messaggi del sistem uucp<br />

lpr Messaggi del sistema <strong>di</strong> stampa<br />

cron Messaggi del sistema cron per le operazioni pianificate<br />

syslog Messaggi dello stesso syslog<br />

daemon Messaggi degli altri processi in esecuzione<br />

user Messaggi da normali programmi applicativi<br />

local0-local7 Liberamente utilizzabili<br />

Priorità in or<strong>di</strong>ne decrescente<br />

emerg L'ultimo messaggio prima <strong>di</strong> un crash <strong>di</strong> sistema<br />

alert Messaggio allarmante che necessita imme<strong>di</strong>ato controllo<br />

crit Messaggio relativa a situazione critica andata a buon fine<br />

err Messaggio <strong>di</strong> errore <strong>di</strong> ogni tipo<br />

warn Messaggio <strong>di</strong> allerta <strong>di</strong> ogni tipo<br />

notice Messaggi <strong>di</strong> segnalazione <strong>di</strong> situazioni anormali<br />

info Messaggi <strong>di</strong> protocollo <strong>di</strong> normale amministrazione<br />

debug Messaggi <strong>di</strong> debug in caso <strong>di</strong> ricerca <strong>di</strong> errori in programmi<br />

none Non necessariamente un messaggio<br />

syslog utilizza come criterio <strong>di</strong> registrazione la priorità definita nel file <strong>di</strong><br />

configurazione, oppure un messaggio con priorità più alta. Nel caso si<br />

volessero registrare messaggi che appartengono solo alla classe <strong>di</strong><br />

priorità definita bisognerebbe inserire un = davanti alla stessa priorità,<br />

es.<br />

4/17


Dott.Ing.Ivan Ferrazzi<br />

Le azioni<br />

news.=crit /var/log/news/news.crit<br />

Le azioni identificano dove verranno mandati, oppure scritti, i messaggi<br />

raccolti. Le azioni possono essere definite in varie maniere:<br />

(a)Scrivere il messaggio all'interno <strong>di</strong> un file.<br />

Per far scrivere il messaggio all'interno <strong>di</strong> un file basta inserire<br />

come azione il nome, con percorso assoluto (quin<strong>di</strong> iniziando con /),<br />

del file da utilizzare come destinazione. Normalmente viene<br />

eseguita una sincronizzazione del filesystem dopo ogni operazione<br />

<strong>di</strong> scrittura del processo syslog. La sincronizzazione necessita <strong>di</strong><br />

molto tempo. Per questo motivo possiamo iniziare il percorso<br />

assoluto del file con un “-” per evitare la sincronizzazione, es.<br />

*.auth -/var/log/auth.log<br />

(b)Invio del messaggio ad un processo syslog presente<br />

all'interno <strong>di</strong> un altro PC.<br />

Per motivi <strong>di</strong> sicurezza può essere importante non tenere i file log<br />

all'interno dello stesso PC che mette a <strong>di</strong>sposizione un tipo <strong>di</strong><br />

<strong>servizi</strong>o in internet o all'interno della <strong>rete</strong> locale. E' quin<strong>di</strong> possibile<br />

inviare il messaggio ad un altro processo syslog presente su un<br />

altro PC. In questo caso bisogna inserire una @ (chiocciola) seguita<br />

dal hostname del PC, oppure il relativo in<strong>di</strong>rizzo IP. Il processo<br />

syslogd del PC che deve ricevere i messaggi deve essere fatto<br />

partire con il parametro -r (remote). Es.<br />

*.auth @logserver<br />

(c)Invio del messaggio sul terminale <strong>di</strong> un utente online.<br />

Nel caso in cui venisse inserito il nome <strong>di</strong> login <strong>di</strong> un utente, o una<br />

lista <strong>di</strong> nomi <strong>di</strong> login separati da una virgola, il messaggio verrebbe<br />

visualizzato <strong>di</strong>rettamente sul terminale del o degli utenti online nel<br />

momento dell'invio del messaggio. Es.<br />

*.auth root,alberto<br />

(d)Invio del messaggio su tutti i terminali degli utenti online.<br />

In questo caso inseriamo un asterisco (*) come identificatore <strong>di</strong><br />

azione. Es.<br />

*.auth *<br />

5/17


Dott.Ing.Ivan Ferrazzi<br />

NFS<br />

Network File System<br />

In una <strong>rete</strong> informatica <strong>di</strong>venta in<strong>di</strong>spensabile la con<strong>di</strong>visione <strong>di</strong> risorse<br />

tra le macchine collegate. Il File System più conosciuto nel mondo Unix è<br />

NFS, originariamente sviluppato dalla Sun per Solaris. NFS è il Network<br />

File System che permette <strong>di</strong> con<strong>di</strong>videre risorse tra sistemi Unix e Mac OS<br />

X.<br />

Installazione <strong>di</strong> NFS.<br />

Far <strong>di</strong>ventare la nostra macchina un server o client NFS è molto semplice.<br />

Il sistema base è già presente all'interno del kernel. Quello che bisogna<br />

quin<strong>di</strong> fare è installare i componenti che sfruttano il sistema base.<br />

Per installare i componenti necessari ad un clienti NFS <strong>di</strong>gitiamo<br />

apt-get install nfs-common portmap<br />

per un server NFS invece<br />

apt-get install nfs-kernel-server nfs-common portmap<br />

6/17


Dott.Ing.Ivan Ferrazzi<br />

Configurazione base lato server.<br />

Il sistema NFS si basa sul file <strong>di</strong> configurazione /etc/exports. Per<br />

rendere effettivo ogni cambiamento all'interno <strong>di</strong> questo file è<br />

in<strong>di</strong>spensabile l'utilizzo del seguente comando<br />

exportfs -a<br />

Il file /etc/exports ha la seguente struttura:<br />

cartella con<strong>di</strong>visa utenti(opzioni) utenti(opzioni) ecc.<br />

Come cartella con<strong>di</strong>visa viene inserito il percorso assoluto alla cartella<br />

che si vuole con<strong>di</strong>videre all'interno della <strong>rete</strong>. All'interno della stessa riga<br />

inseriamo poi l'in<strong>di</strong>rizzo IP, l'in<strong>di</strong>rizzo <strong>di</strong> <strong>rete</strong>, oppure il dominio dei<br />

computer che devono avere accesso alla cartella con, tra parentesi, le<br />

opzioni per gestire i permessi <strong>di</strong> con<strong>di</strong>visione.<br />

Esempio:<br />

/me<strong>di</strong>a/share 192.168.0.12(rw) www.miodominio.it(ro)<br />

/me<strong>di</strong>a/docs 192.168.0.0/24(ro)<br />

In questo caso vengono con<strong>di</strong>vise le cartelle /me<strong>di</strong>a/share e<br />

/me<strong>di</strong>a/docs. La cartella /me<strong>di</strong>a/share è accessibile dal computer con<br />

in<strong>di</strong>rizzo IP 192.168.0.12 in lettura e scrittura; dal dominio<br />

www.miodominio.it, invece, in sola lettura. Alla cartella /me<strong>di</strong>a/docs ha<br />

accesso tutta la <strong>rete</strong> 192.168.0.0 in sola lettura.<br />

NFS utilizza un sistema chiamato squashing che evita <strong>di</strong> utilizzare le ID<br />

degli utenti che si collegano al sistema all'interno del computer server.<br />

Questo per evitare che un utente root in collegamento (ID=0) venga<br />

riconosciuto come root del sistema stesso. Gli utenti che effettuano il<br />

collegamento vengono identificati sul computer server come utente<br />

nobody, se questo esiste, come ID negativa, se questo non dovesse<br />

essere presente all'interno del sistema.<br />

Per questo motivo <strong>di</strong>venta in<strong>di</strong>spensabile settare in maniera corretta<br />

l'utente e il gruppo proprietario delle cartelle con<strong>di</strong>vise. Nel caso in cui<br />

venisse utilizzato nobody come utente bisognerà mo<strong>di</strong>ficare le<br />

appartenenze come segue<br />

chown nobody /me<strong>di</strong>a/share<br />

chown nobody /me<strong>di</strong>a/docs<br />

Si ricorda comunque la scarsa sicurezza <strong>di</strong> NFS e si consiglia quin<strong>di</strong> <strong>di</strong><br />

utilizzare NIS solamente per con<strong>di</strong>visioni all'interno <strong>di</strong> una <strong>rete</strong> sicura.<br />

Configurazione base lato client.<br />

Il collegamento ad una risorsa con<strong>di</strong>visa via NFS si può fare manualmente<br />

7/17


Dott.Ing.Ivan Ferrazzi<br />

da root <strong>di</strong>rettamente da riga <strong>di</strong> comando<br />

mount -t nfs IP_server:/me<strong>di</strong>a/share /mnt<br />

dove IP_server è l'in<strong>di</strong>rizzo IP del server NFS, oppure automaticamente<br />

inserendo il collegamento all'interno del file /etc/fstab<br />

IP_server:/me<strong>di</strong>a/share /mnt/share nfs defaults 0 0<br />

IP_server:/me<strong>di</strong>a/dosc /mnt/docs nfs defaults 0 0<br />

Per le possibili opzioni si faccia riferimento a man mount, oppure, man<br />

exports.<br />

8/17


Dott.Ing.Ivan Ferrazzi<br />

SAMBA<br />

Samba è la soluzione ideale per con<strong>di</strong>videre risorse all'interno <strong>di</strong> una <strong>rete</strong><br />

composta da client/server Linux e Microsoft. Samba, infatti, è in grado <strong>di</strong><br />

comunicare con il protocollo SMB (Server Message Block), utilizzato<br />

come protocollo <strong>di</strong> comunicazione dai sistema Microsoft.<br />

Installazione <strong>di</strong> Samba.<br />

L'installazione <strong>di</strong> samba è molto semplice. Basta <strong>di</strong>gitare<br />

apt-get install samba<br />

per avere un completo sistema Samba funzionante. Per poter utilizzare<br />

con<strong>di</strong>visioni samba, o da server Windows, su Linux utilizziamo il comando<br />

smbclient e smbmount.<br />

apt-get install smbclient<br />

Configurazione base <strong>di</strong> Samba.<br />

Samba utilizza il file <strong>di</strong> configurazione /etc/samba/smb.conf per gestire il<br />

comportamento delle con<strong>di</strong>visioni. Un possibile file <strong>di</strong> configurazione ha la<br />

seguente struttura:<br />

9/17


Dott.Ing.Ivan Ferrazzi<br />

[global]<br />

workgroup = WORKGROUP<br />

netbios name = <strong>DEBIAN</strong><br />

security = share<br />

guest account = nobody<br />

server string = Linux Samba Server<br />

comment = File con<strong>di</strong>visi<br />

[public]<br />

comment = Materiale pubblico<br />

path = /public<br />

guest ok = Yes<br />

read only = Yes<br />

All'interno delle parentesi quadre identifichiamo i blocchi che verranno<br />

configurati in<strong>di</strong>vidualmente. Uno dei blocchi standard presente all'interno<br />

<strong>di</strong> questo file <strong>di</strong> configurazione è il blocco global. Questo viene utilizzato<br />

per configurare il comportamento base del server Samba. Il blocco<br />

seguente [public] invece identifica un blocco per la con<strong>di</strong>visione <strong>di</strong><br />

risorse.<br />

Il blocco global contiene la configurazione standard come il nome del<br />

gruppo <strong>di</strong> lavoro (workgroup), il nome netbios da utilizzare per il<br />

riconoscimento da client Windows (netbios name), il nome descrittivo<br />

(server string) e il commento da visualizzare (comment).<br />

La <strong>di</strong>rettiva security impostata su share permette <strong>di</strong> con<strong>di</strong>videre le<br />

risorse senza l'utilizzo <strong>di</strong> autenticazione da parte del client che si<br />

connette. Infatti, viene detto al sistema Samba <strong>di</strong> gestire ogni utente<br />

remoto con i <strong>di</strong>ritti dell'utente nobody presente sul sistema (guest<br />

account).<br />

Nel blocco public definiamo il commento da utilizzare per la cartella<br />

con<strong>di</strong>visa (comment), il percorso assoluto della cartella con<strong>di</strong>visa (path),<br />

l'utilizzo <strong>di</strong> un utente guest, quin<strong>di</strong> senza autenticazione, (guest ok =<br />

Yes) e il <strong>di</strong>ritto <strong>di</strong> sola lettura (read only = Yes). La con<strong>di</strong>visione verrà<br />

identificata dal nome messo tra parentesi quadre (nel nostro caso<br />

public).<br />

Ad ogni mo<strong>di</strong>fica <strong>di</strong> questo file è in<strong>di</strong>spensabile il riavvio del <strong>servizi</strong>o<br />

come segue<br />

/etc/init.d/samba restart<br />

E' possibile creare delle con<strong>di</strong>visioni con autenticazione nome<br />

utente/password mo<strong>di</strong>ficando leggermente il blocco global come segue:<br />

[global]<br />

workgroup = WORKGROUP<br />

netbios name = <strong>DEBIAN</strong><br />

security = share<br />

guest account = nobody<br />

server string = Linux Samba Server<br />

comment = File con<strong>di</strong>visi<br />

encrypt passwords = Yes<br />

[public]<br />

comment = Materiale pubblico<br />

10/17


Dott.Ing.Ivan Ferrazzi<br />

path = /public<br />

guest ok = Yes<br />

read only = Yes<br />

In questo file <strong>di</strong> configurazione abbiamo abilitato la <strong>di</strong>rettiva user per<br />

quanto riguarda il controllo degli accessi (security = user) e in più<br />

abbiamo attivato la possibilità <strong>di</strong> utilizzare password criptate (encrypt<br />

passwords = Yes).<br />

L'utilizzo <strong>di</strong> autenticazione rendono in<strong>di</strong>spensabile una gestione separate<br />

dei nomi utente e delle password. Il sistema per le autenticazioni Linux e<br />

Windows non sono compatibili. Bisogna quin<strong>di</strong> rendere i due sistemi<br />

compatibili. Questo si ottiene facendo gestire il tutto da Samba. Per dare<br />

ad un utente la possibilità <strong>di</strong> accedere ad una con<strong>di</strong>visione Samba non<br />

basta l'utilizzo <strong>di</strong> un utente <strong>di</strong> sistema. Dobbiamo ora, come prima cosa,<br />

creare l'utente e “formattare” la sua password in maniera compatibile ai<br />

sistemi Windows.<br />

Questo si ottiene con il comando<br />

smbpasswd -a utente<br />

Con il parametro -a <strong>di</strong>ciamo al comando <strong>di</strong> verificare che l'utente sia<br />

presente come utente <strong>di</strong> sistema. Il comando eseguito crea il file<br />

/etc/samba/smbpasswd che contiene i dati necessari al riconoscimento<br />

dell'utente.<br />

L'utilizzo <strong>di</strong> nome utente e password per la con<strong>di</strong>visione permette<br />

l'utilizzo del blocco [homes]. Anche questo, come global, è un blocco<br />

predefinito, e permette l'utilizzo della home <strong>di</strong>rectory dell'utente stesso.<br />

In questo caso possiamo aggiungere ancora la <strong>di</strong>rettiva browseable = No<br />

che permette <strong>di</strong> <strong>di</strong>sabilitare la visualizzazione della cartella /home. Il file<br />

<strong>di</strong> configurazione verrà mo<strong>di</strong>ficato come segue:<br />

[global]<br />

workgroup = WORKGROUP<br />

netbios name = <strong>DEBIAN</strong><br />

security = share<br />

guest account = nobody<br />

server string = Linux Samba Server<br />

comment = File con<strong>di</strong>visi<br />

encrypt passwords = Yes<br />

[public]<br />

comment = Materiale pubblico<br />

path = /public<br />

guest ok = Yes<br />

read only = Yes<br />

[homes]<br />

comment = Cartella home<br />

read only = No<br />

create mask = 0750<br />

browseable = No<br />

Da ora in poi gli utenti presenti all'interno del sistema e create con il<br />

11/17


Dott.Ing.Ivan Ferrazzi<br />

comando smbpasswd avranno la possibilità <strong>di</strong> gestire il contenuto della<br />

propria cartella home.<br />

Configurazione <strong>di</strong> Samba lato client.<br />

Samba può essere utilizzato su PC Linux per accedere alle risorse<br />

con<strong>di</strong>vise da server Windows. Da root possiamo <strong>di</strong>gitare<br />

mount -t smbfs //ip_server/cartella /mnt<br />

dove ip_server è l'in<strong>di</strong>rizzo ip del server (o il nome host del server<br />

riconosciuto all'interno della <strong>rete</strong>) e cartella il nome della cartella<br />

con<strong>di</strong>visa. Oppure possiamo utilizzare<br />

smbmount //ip_server/cartella /mnt<br />

In automatico possiamo effettuare l'inserimento del collegamento<br />

all'interno del file /etc/fstab come segue:<br />

//ip_server/cartella /mnt smbfs defaults,username=user,password=psswd 0 0<br />

Le opzioni username e password permettono <strong>di</strong> definire all'interno <strong>di</strong><br />

questo file il nome utente e la parola chiave da utilizzare per l'accesso<br />

alla con<strong>di</strong>visione. Il file /etc/fstab è un file che ogni utente può leggere.<br />

Per questo motivo non è consigliabile mettere il nome utente e la<br />

password all'interno <strong>di</strong> questo file. Possiamo però utilizzare l'opzione<br />

credentials=nome file che ci permette <strong>di</strong> mettere il nome utente e la<br />

password su un file esterno non leggibile da altri utenti. Il file identificato<br />

da credentials ha il seguente formato:<br />

username=utente<br />

password=parola chiave<br />

12/17


Dott.Ing.Ivan Ferrazzi<br />

Server FTP<br />

Il <strong>servizi</strong>o FTP permette <strong>di</strong> effettuare l'upload o il download <strong>di</strong> file che si<br />

trovano su un computer remoto configurato come FTP-Server. Vedremo<br />

ora come creare un FTP-Server utilizzando il programma pure-ftpd.<br />

Installazione <strong>di</strong> pure-ftpd.<br />

Per installare il server pure-ftpd <strong>di</strong>gitiamo il seguente comando come<br />

root<br />

apt-get install pure-ftpd-common pure-ftpd<br />

Dopo l'installazione troveremo la cartella /etc/pure-ftpd che sarà la<br />

cartella all'interno della quale pure-ftpd cercherà le impostazioni <strong>di</strong><br />

configurazione per il <strong>servizi</strong>o. Il demone che viene fatto partire è il<br />

/usr/sbin/pure-ftpd-wrapper, demone che viene fatto partire dei<br />

tcpwrapper all'interno del file <strong>di</strong> configurazione /etc/inetd.conf.<br />

Configurazione <strong>di</strong> pure-ftpd.<br />

pure-ftpd utilizza la gestione degli utenti virtuali. Questo significa che<br />

tutti gli utente creati per la gestione del <strong>servizi</strong>o ftp non saranno utenti<br />

riconosciuti a livello <strong>di</strong> sistema, ma solamente all'interno del <strong>servizi</strong>o ftp.<br />

13/17


Dott.Ing.Ivan Ferrazzi<br />

Tutti gli utenti virtuali utilizzeranno un utente e un gruppo creati apposta<br />

all'interno del sistema Linux. Come prima cosa dovremmo quin<strong>di</strong> creare il<br />

gruppo e l'utente come segue:<br />

groupadd ftpgroup<br />

useradd -g ftpgroup -d /dev/null -s /etc ftpuser<br />

Creiamo quin<strong>di</strong> il gruppo ftpgroup e <strong>di</strong> seguito l'utente ftpuser come<br />

utente del gruppo ftpgroup e senza home <strong>di</strong>rectory (-d /dev/null).<br />

Ora possiamo creare il primo utente virtuale che verrà poi utilizzato per<br />

gli effettivi collegamenti tramite client FTP:<br />

pure-pw useradd test1 -u ftpuser -d /home/ftpusers/test1<br />

Con questo comando creiamo l'utente virtuale test1 che verrà gestito<br />

dal sistema con i <strong>di</strong>ritti <strong>di</strong> ftpuser e avrà come home <strong>di</strong>rectory la cartella<br />

/home/ftpusers/test1. Nel caso in cui il demone pure-ftpd-wrapper<br />

fosse fatto partire con il parametro -j il sistema creerebbe la home<br />

<strong>di</strong>rectory automaticamente. Altrimenti dovremmo creare le cartelle<br />

manualmente.<br />

Creando le cartelle manualmente dobbiamo naturalmente fare attenzione<br />

all'utente proprietario della relativa cartella (ftpuser).<br />

Gli utenti creati verranno inseriti all'interno del file /etc/pureftpd/pureftpd.passwd.<br />

Questo file non viene però letto <strong>di</strong>rettamente<br />

dal demone in esecuzione. Per questo motivo <strong>di</strong>venta in<strong>di</strong>spensabile<br />

eseguire il comando<br />

pure-pw mkdb<br />

che creerà il file /etc/pure-ftpd/pureftpd.pdb, un file binario che verrà<br />

letto <strong>di</strong>rettamente dal demone in questione. E' importantissimo, quin<strong>di</strong>,<br />

ricordarsi <strong>di</strong> eseguire questo comando ogni volta si vada a mo<strong>di</strong>ficare il<br />

file pureftpd.passwd.<br />

Per mo<strong>di</strong>ficare la password <strong>di</strong> un utente già esistente basta <strong>di</strong>gitare<br />

pure-pw passwd test1<br />

oppure<br />

pure-pw userdel test1<br />

per eliminare l'utente dal <strong>servizi</strong>o.<br />

Anche dopo queste operazioni va eseguito il pure-pw mkdb.<br />

L'ultimo passaggio che dobbiamo ricordarci <strong>di</strong> fare è <strong>di</strong> attivare la relativa<br />

gestione dei permessi. All'interno della cartella /etc/pure-ftpd/conf<br />

14/17


Dott.Ing.Ivan Ferrazzi<br />

troviamo una serie <strong>di</strong> file <strong>di</strong> configurazione che possono essere utilizzati<br />

per definire il sistema <strong>di</strong> verifica dei permessi da utilizzare. Nel nostro<br />

caso il sistema da utilizzare è PureDB, ossia la banca dati creata con<br />

pure-pw. I sistemi utilizzati per la verifica dei permessi pure-ftpd lo va a<br />

cercare all'interno della cartella /etc/pure-ftpd/auth. pure-ftpd prende<br />

quin<strong>di</strong> i file in sequenza (alfabeticamente parlando) presenti all'interno <strong>di</strong><br />

questa cartella per verificare se l'utente ha accesso o meno.<br />

Per attivare il PureDB basta creare un link simbolico all'interno della<br />

cartella auth come segue:<br />

cd /etc/pure-ftpd/auth<br />

ln -s ../conf/PureDB 50pure<br />

Facciamo ripartire il demone con<br />

/etc/init.d/pure-ftpd restart<br />

Da ora in poi sarà possibile utilizzare un client ftp come FileZilla (o simili)<br />

per effettuare l'upload o il download dei file.<br />

15/17


Dott.Ing.Ivan Ferrazzi<br />

Server <strong>di</strong> posta<br />

Il server <strong>di</strong> posta elettronica si <strong>di</strong>vide in <strong>servizi</strong>o <strong>di</strong> invio e <strong>di</strong> ricezione<br />

della posta. Il protocollo utilizzato per l'invio della posta elettronica è<br />

SMTP, mentre uno dei protocolli utilizzati per la ricezione è il protocollo<br />

POP3. Come server SMTP installeremo il programma sendmail, come<br />

POP3 server popa3d.<br />

Installazione <strong>di</strong> sendmail.<br />

Per installare il server sendmail <strong>di</strong>gitiamo il seguente comando come<br />

root<br />

apt-get install sendmail<br />

La cartella utilizzata da sendmail come deposito dei file <strong>di</strong> configurazione<br />

è la cartella /etc/mail/.<br />

Configurazione <strong>di</strong> sendmail.<br />

Il file <strong>di</strong> configurazione base <strong>di</strong> sendmail è /etc/mail/sendmail.cf che<br />

permette <strong>di</strong> configurare il sistema base <strong>di</strong> sendmail. Questo file è molto<br />

complesso e non è mia intenzione spiegare tutte le opzioni possibili.<br />

Cercheremo <strong>di</strong> concentrarci solamente sulle opzioni più importanti.<br />

16/17


Dott.Ing.Ivan Ferrazzi<br />

DS<br />

Nel caso in cui il nostro server SMTP non sia collegato <strong>di</strong>rettamente ad un<br />

sistema DNS e non sia quin<strong>di</strong> in grado <strong>di</strong> risolvere le email <strong>di</strong> destinazione<br />

<strong>di</strong>venta necessario l'utilizzo <strong>di</strong> un server SMTP primario. Al nostro server<br />

SMTP possiamo quin<strong>di</strong> in<strong>di</strong>care il server da utilizzare per l'invio delle<br />

email. In questo caso inseriamo l'in<strong>di</strong>rizzo IP del server da utilizzare come<br />

segue<br />

DS192.168.0.1<br />

Dove 192.168.0.1 è il server SMTP primario che viene utilizzato per<br />

l'invio della posta elettronica.<br />

Per quanto riguarda le altre impostazioni il server dovrebbe funzionare in<br />

maniera corretta anche con le impostazioni standard.<br />

Utilizzare /etc/aliases.<br />

In alcuni casi può essere interessanti rein<strong>di</strong>rizzare email con precise<br />

destinazioni ad un'altra email presente all'interno del sistema. In questo<br />

caso possiamo utilizzare il file /etc/aliases come segue:<br />

webmaster: root<br />

info: root<br />

root: user<br />

Le email inviate a webmaster@miodominio.it e info@miodominio.it<br />

verranno in<strong>di</strong>rizzate a root, che a sua volta verranno in<strong>di</strong>rizzate a<br />

user@dominio.it.<br />

Dopo aver mo<strong>di</strong>ficato il file /etc/aliases è in<strong>di</strong>spensabile eseguire il<br />

comando<br />

newaliases<br />

Installazione <strong>di</strong> popa3d.<br />

Per installare il server popa3d <strong>di</strong>gitiamo il seguente comando come root<br />

apt-get install popa3d<br />

Il sistema <strong>di</strong> POP3 non deve essere configurato perché utilizza gli utenti<br />

registrati all'interno del sistema Linux come utenti <strong>di</strong> posta elettronica.<br />

17/17

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!