6 999
contributi
S3v (discussione | contributi) (Utenti ad accesso limitato) |
S3v (discussione | contributi) Nessun oggetto della modifica |
||
Riga 2: | Riga 2: | ||
== Introduzione == | == Introduzione == | ||
In questa guida verrà spiegata la l'installazione e la configurazione di un server FTP all'interno della propria LAN utilizzando ProFTPD.<br/> | In questa guida verrà spiegata la l'installazione e la configurazione di un server FTP all'interno della propria LAN utilizzando ProFTPD.<br/> | ||
L'installazione di ProFTPD porta, di default, ad una autenticazione degli accessi basata sui file "/etc/passwd" e "/etc/group" presenti sul server. Questo significa che, per avere accesso al server FTP. l'amministratore | L'installazione di ProFTPD porta, di default, ad una autenticazione degli accessi basata sui file "/etc/passwd" e "/etc/group" presenti sul server. Questo significa che, per avere accesso al server FTP. l'amministratore deve creare un utente (con relativa home directory).<br/> | ||
Questo approccio è, tipicamente, valido nel caso in cui gli accessi al server siano pochi e l'amministratore non debba preoccuparsi più di troppo di ciò che hanno in mente di fare gli utenti e dello spazio occupato da ciascuna home directory. All'aumentare delle utenze, però, i rischi legati alla sicurezza aumentano e serve trovare una strada più comoda per amministrare facilmente gli accessi. | Questo approccio è, tipicamente, valido nel caso in cui gli accessi al server siano pochi e l'amministratore non debba preoccuparsi più di troppo di ciò che hanno in mente di fare gli utenti e dello spazio occupato da ciascuna home directory. All'aumentare delle utenze, però, i rischi legati alla sicurezza aumentano e serve trovare una strada più comoda per amministrare facilmente gli accessi. | ||
Riga 98: | Riga 98: | ||
Il passo successivo consiste nel creare le directory personali di ciascun utente in quanto la directory home è stata creata da [[root]] e non ha permessi di scrittura per utenti diversi. Infatti: | Il passo successivo consiste nel creare le directory personali di ciascun utente in quanto la directory home è stata creata da [[root]] e non ha permessi di scrittura per utenti diversi. Infatti: | ||
<pre> | <pre> | ||
$ ls -l /home | |||
... | |||
... | |||
drwxr-xr-x 4 root root 4096 dic 30 22:01 ftp-share | drwxr-xr-x 4 root root 4096 dic 30 22:01 ftp-share | ||
</pre> | </pre> | ||
Riga 125: | Riga 128: | ||
=== Directory pubblica === | === Directory pubblica === | ||
Avere tutte directory private può già essere considerata una situazione ragionevole in molti contesti ma, più in generale, è auspicabile che esista una directory pubblica per condividere dati tra diversi utenti.<br/> | Avere tutte directory private può già essere considerata una situazione ragionevole in molti contesti ma, più in generale, è auspicabile che esista una directory pubblica per condividere dati tra diversi utenti.<br/> | ||
Creeremo, quindi, una directory in cui tutti potranno inviare o | Creeremo, quindi, una directory in cui tutti potranno inviare o prelevare dati attraverso FTP: la chiameremo <code>Pubblica</code> e si troverà all'interno di <code>/home/ftp-share/</code>. | ||
<pre> | <pre> | ||
# mkdir /home/ftp-share/Pubblica | # mkdir /home/ftp-share/Pubblica | ||
Riga 155: | Riga 158: | ||
Il secondo file conterrà le direttive per consentire (o negare) il login al server FTP. Creiamo il file <code>01Login.conf</code> contenente: | Il secondo file conterrà le direttive per consentire (o negare) il login al server FTP. Creiamo il file <code>01Login.conf</code> contenente: | ||
<pre> | <pre> | ||
# Login solo dalla subnet 192.168. | # Login solo dalla subnet 192.168. | ||
<Limit LOGIN> | <Limit LOGIN> | ||
Order allow,deny | Order allow,deny | ||
Riga 169: | Riga 172: | ||
</Limit> | </Limit> | ||
</pre> | </pre> | ||
La prima direttiva permette l'accesso solo agli indirizzi IP "192.168.x.x" mentre la seconda permette il login solo al | La prima direttiva permette l'accesso solo agli indirizzi IP "192.168.x.x" mentre la seconda permette il login solo al grupp ''ftp-users''. Un client che non soddisfa entrambe le condizioni non ha accesso al server FTP.<br/> | ||
Chiaramente adattate questa configurazione al vostro caso. | Chiaramente adattate questa configurazione al vostro caso. | ||
Riga 180: | Riga 183: | ||
</pre> | </pre> | ||
;RequireValidShell:Necessaria per consentire il login senza possedere una [[shell]] valida (è stata impostata a "/bin/false"). | ;RequireValidShell:Necessaria per consentire il login senza possedere una [[shell]] valida (è stata impostata a "/bin/false"). | ||
;DefaultRoot ~ ftp-full:La home directory di chi appartiene al gruppo | ;DefaultRoot ~ ftp-full:La home directory di chi appartiene al gruppo ''ftp-full''; di default abbiamo scelto all'inizio che sia <code>/home/ftp-share</code> (home directory durante la creazione dell'utente). | ||
== Test di funzionamento == | == Test di funzionamento == | ||
Riga 187: | Riga 190: | ||
# service proftpd restart | # service proftpd restart | ||
</pre> | </pre> | ||
e connettersi con il | e connettersi con il proprio client FTP preferito specificando l'indirizzo IP del server, il proprio username e la password. | ||
== Utenti ad accesso limitato == | == Utenti ad accesso limitato == | ||
Riga 195: | Riga 198: | ||
# ftpasswd --passwd --home /home/ftp-share/Pubblica/ --name paperino --shell /bin/false --uid 4000 | # ftpasswd --passwd --home /home/ftp-share/Pubblica/ --name paperino --shell /bin/false --uid 4000 | ||
</pre> | </pre> | ||
Creare un gruppo per raggruppare questo tipo di utenti. Chiamiamolo ''ftp-downonly" e aggiungiamoci ''paperino'': | Creare un gruppo virtuale per raggruppare questo tipo di utenti. Chiamiamolo ''ftp-downonly" e aggiungiamoci ''paperino'': | ||
<pre> | <pre> | ||
# ftpasswd --group --name downonly --file /etc/proftpd/ftpd.group -m paperino --gid 4000 | # ftpasswd --group --name downonly --file /etc/proftpd/ftpd.group -m paperino --gid 4000 | ||
Riga 201: | Riga 204: | ||
Bisognerà aggiungere ''paperino'' anche al gruppo ''ftp-users'' (come spiegato nel paragrafo[[#Aggiungere un utente a un gruppo]]) per consentirgli un accesso FTP al server. | Bisognerà aggiungere ''paperino'' anche al gruppo ''ftp-users'' (come spiegato nel paragrafo[[#Aggiungere un utente a un gruppo]]) per consentirgli un accesso FTP al server. | ||
Successivamente | Successivamente è necessario modificare il file ''02Direttive.conf" aggiungendo la riga: | ||
<pre> | <pre> | ||
DefaultRoot ~ ftp-downonly | DefaultRoot ~ ftp-downonly |
contributi