Configurazione di Proftpd (Debian Squeeze)

Questa e` una configurazione di proftpd che ho fatto per un cliente. Questa pagina e` adattata a Debian Squeeze, nel quale cambiano alcuni default. Le vecchie versioni vanno bene per le vecchie Debian.

Lo scopo e` quello di permettere a tanti utenti di uploadare e downloadare files, oguno dalla propria directory. Ogni utente accede solo alla propria directory, all'interno della quale puo` fare cio` che vuole liberamente. Un utente (o piu` di uno) e` amministratore e puo` accedere alle directory di tutti gli utenti, e fare in esse cio` che vuole. Gli utenti sono configurati in un file dedicato allo scopo, e NON sono utenti di sistema.

Volendo e` possibile, giocando con gli alberi delle directory, creare delle sezioni nidificate con amministratori "locali".

La sicurezza fa decisamente schifo (tutti gli utenti accedono al file system con lo stesso UID e GID, e l'unica cosa che impedisce loro di andare a fare casini nelle directory degli altri e` il fatto che sono chrooted dentro la loro home), tuttavia dal momento che FTP trasmette le password in chiaro, direi che abbiamo ben altro di cui preoccuparci per la sicurezza. Certo non consiglierei questo set-up a chi abbia problemi di sicurezza, ma del resto non gli consiglierei nemmeno di usare FTP, quindi...

Installazione

Installare il pacchetto Debian "proftpd"

Verra` creato automaticamente un utente "ftp" con la relativa home, che useremo per contenere i files dei nostri utenti. Verra` anche creato un un utente "proftpd".

Configurazione

La configurazione di questo sistema si basa su due files: il primo e` /etc/proftpd/proftpd.conf.

Uso il file di configurazione standard, modificando solo alcune voci: Le prime due sono commentate di defaul, e io le scommento, mentre le ultime due sono inserite, di default non ci sono.

### Scommentare questa
# Use this to jail all users in their homes
DefaultRoot                     ~

### Scommentare questa
# Users require a valid shell listed in /etc/shells to login.
# Use this directive to release that constrain.
RequireValidShell               off

### Inserire queste due
# Autenticazione su file utenti dedicato, niente utenti di sistema
AuthUserFile /etc/proftpd/passwd
AuthOrder mod_auth_file.c

Il secondo file di configurazione e` /etc/proftpd/passwd, che contiene le definizioni degli utenti che devono accedere al server FTP. Questo file non viene editato a mano, ma generato con l'apposito comando ftpasswd.

Creazione degli utenti

Prima di tutto creo un utente "admin" che puo` accedere tutta la struttura dei files sotto /home/ftp.

Notare che il GID e lo UID che uso sono quelli dell'utente "ftp", presi da /etc/passwd. Non e` affatto detto che 103 come UID vada bene!

ftpasswd --passwd --file /etc/proftpd/passwd --gid 65534 --uid 103 --name admin  --shell /bin/true --home /home/ftp/

Poi, per ogni utente "normale" del sistema, devo fare due cose:

LinuxDebian/Proftpd (last edited 2011-02-23 14:50:44 by Kurgan)