Untuk prosesnya dapat dilihat dari gambar berikut ini :
Sebelum membuat koneksi, port TCP nomor 21 di sisi server akan “mendengarkan” percobaan koneksi dari sebuah klien FTP dan kemudian akan digunakan sebagai port pengatur (control port) untuk (1) membuat sebuah koneksi antara klien dan server, (2) untuk mengizinkan klien untuk mengirimkan sebuah perintah FTP kepada server dan juga (3) mengembalikan respons server ke perintah tersebut. Sekali koneksi kontrol telah dibuat, maka server akan mulai membuka port TCP nomor 20 untuk membentuk sebuah koneksi baru dengan klien untuk mentransfer data aktual yang sedang dipertukarkan saat melakukan pengunduhan dan penggugahan.
FTP hanya menggunakan metode autentikasi standar, yakni menggunakan username danpassword yang dikirim dalam bentuk tidak terenkripsi. Pengguna terdaftar dapat menggunakan username dan password-nya untuk mengakses, men-download, dan meng-upload berkas-berkas yang ia kehendaki. Umumnya, para pengguna terdaftar memiliki akses penuh terhadap beberapa direktori, sehingga mereka dapat membuat berkas, membuat direktori, dan bahkan menghapus berkas. Pengguna yang belum terdaftar dapat juga menggunakan metodeanonymous login, yakni dengan menggunakan nama pengguna anonymous dan password yang diisi dengan menggunakan alamat e-mail.
Instalasi vsftpd
Dengan asumsi bahwa Anda telah menginstal Ubuntu, masuk ke terminal kemudian jalankan perintah :
$sudo apt-get install vsftpd
Tunggu hingga selesai kemudian jalankan perintah :
$sudo /etc/init.d/vsftpd start
Untuk menjalankan FTP server
Konfigurasi vsftpd
File konfigurasinya terletak di /etc/vsftpd.conf untuk membukanya jalankan perintah :
$sudo nano /etc/vsftpd.conf
Bila anda ingin user anonymous dapat menggunakan ftp, tambahkan atau edit baris ini :
anonymous_enable=YES
Sebaliknya bila anda tidak ingin user anonymous dapat menggunakan ftp, ubah nilai baris diatas menjadi NO seperti di bawah ini :
anonymous_enable=NO
Bila anda ingin lokal user (user pengguna komputer namun bukan root user) dapat login menggunakan ftp protokol, tambahkan atau edit baris ini :
local_enable=YES
Sebaliknya bila anda ingin lokal user (user pengguna komputer namun bukan root user) tidak dapat login menggunakan ftp protokol ubah nilai baris diatas menjadi NO.
Bila anda ingin mengubah root directory dari user anonymous (default root directorynya ada di/home/ftp ), tambahkan atau edit baris ini :
anon_root=<anonymous user root directory yang anda inginkan>
Bila ingin memberikan pesan selamat datang, tambahkan dan edit baris ini :
ftpd_banner “pesan selamat datang”
Membatasi jumlah klien, tambahkan dan edit baris ini:
max_client jumlah maksimum klien
Membatasi jumlah klien dengan IP yang sama, tambahkan dan edit baris ini:
max_per_ip jumlah maksimum klien per IP
Mengunci FTP user di direktori home, tambahkan dan edit baris berikut:
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
Untuk file /etc/vsftpd/chroot_list tambahkan bila tidah ada. Dengan begitu semua ftp root directory tiap local user ada di home directory masing-masing user. Jika anda ingin membuat pengecualian untuk user tertentu agar root directorynya tetap berada di / anda dapat menuliskan nama user tersebut di file /etc/vsftpd/chroot_list.
Namun jika anda ingin agar hanya user tertentu saja yang ftp root direktorinya pindah ke home direktori masing-masing anda dapat mengubah paramater baris chroot_local_usermenjadi NO seperti ini chroot_local_user=NO lalu menuliskan user yang ingin dipindah root direktorinya ke dalam file /etc/vsftpd/chroot_list.
Sekian sedikit tutorial mengenai FTP Server menggunakan vsftpd, mudah-mudahan bermanfaat.
Source : adhit web