Debian (Jessie) – Ftp server

Vediamo come installare e configurare il nostro server debian come ftp server.

  1. Installiamo il software
    # apt-get install vsftpd
  2. Assicuriamoci che il servizio sia fermo:
    # /etc/init.d/vsftpd stop
    [ ok ] Stopping vsftpd (via systemctl): vsftpd.service.
  3. Creiamo una copia di backup del file di configurazione:
    # mv /etc/vsftpd.conf /etc/vsftpd.conf.orig
    # cat /etc/vsftpd.conf.orig | grep -v "#" > /etc/vsftpd.conf
  4. A questo punto aggiungiamo le seguenti righe che autorizzano la scrittura e la possibilità di effettuare chroot come utente locale del server:
    # echo "write_enable=YES
    ascii_upload_enable=YES
    ascii_download_enable=YES
    chroot_local_user=YES
    ls_recurse_enable=YES
    user_sub_token=\$USER
    <strong>local_root=/home/\$USER/shares</strong>
    seccomp_sandbox=NO
    allow_writeable_chroot=YES
    pasv_enable=YES
    pasv_min_port=64000
    pasv_max_port=64001
    port_enable=YES
    local_umask=022" &gt;&gt; /etc/vsftpd.confHo evidenziato in grasseto la path che verrà cercata come chroot, in altre parole per ogni utente verrà cercata la cartella shares all’interno della home (situata in /home).
  5. Riavviamo il servizio:
    # /etc/init.d/vsftpd restart
  6. [Opzionale] Creiamo le cartelle predefinite in /etc/skel (questo lo facciamo per fare in modo che venga creata la cartella shares – grassetto del punto 4 – per ogni utente aggiunto):
    # mkdir /etc/skel/shares
  7. [Opazionale] Rendiamo disponibile la shell /bin/false, questa shell inibisce l’accesso da ssh (o quanto meno lo rende assai più complicato):
    # echo "/bin/false" &gt;&gt; /etc/shells
    # cat /etc/shells# /etc/shells: valid login shells
    /bin/sh
    /bin/dash
    /bin/bash
    /bin/rbash
    /bin/false
  8. Creiamo ora un utente per l’accesso ftp inibendogli l’accesso ssh:
    # useradd -s /bin/false -m utente1
    # passwd utente1
    Immettere nuova password UNIX:
    Reimmettere la nuova password UNIX:
    passwd: password aggiornata correttamente
  9. Possiamo ora testare la connessione ftp con username utente1 e password quella inserita.