FTP server digunakan sebagai standar layanan untuk mengupload data dan program ke server. Harus diperhatikan bahwa FTP bekerja di port 21 dan tidak melakukan enkripsi terhadap username dan password, sehingga cukup rentan dengan sniffing dimana ada seseorang yang menangkap paket2 data yang ditransaksikan antara client dan server, sehingga sniffer dapat mengetahui username dan password user.
FreeBSD menyediakan aplikasi superserver, yaitu inetd, yang dapat melayani semua kebutuhan koneksi dimana salah satu layanannya adalah FTP. Namun inetd cukup berat untuk dijalankan terutama jika hanya untuk melayani FTP. Oleh karenanya kita bisa menggunakan aplikasi layanan FTP independen yaitu ftpd (FTP Daemon).
Agar suatu server FreeBSD dapat melayani koneksi FTP :
1. create file “/etc/ftpchroot” :
# cat /etc/ftpchroot
service
ukm
setting diatas akan membatasi semua user yg termasuk group “service” dan group “ukm” sehingga tidak bisa browsing ke folder selain home directory-nya
2. jika FTP hanya akan diaktifkan sekali2, cukup jalankan dengan command
# /usr/libexec/ftpd –D4
dan untuk mematikannya jalankan :
# killall ftpd
3. jika FTP harus selalu aktif, maka buat file berikut :
# cat /usr/local/etc/rc.d/ftp.sh
#!/bin/sh
case “$1” in
start)
[ -x /usr/libexec/ftpd ] && /usr/libexec/ftpd -D -4 -l -p /var/run/ftpd.pid > /dev/null && echo -n ‘ ftpd’
;;
stop)
[ -r /var/run/ftpd.pid ] && /usr/bin/kill `cat /var/run/ftpd.pid` > /dev/null && echo -n ‘ ftpd’
;;
*)
echo “Usage: `basename $0` {start|stop}” >&2
;;
esac
exit 0
4. jangan lupa membuka firewall (allow tcp from any to me dst-port 21)
5. jangan lupa membuka /etc/hosts.allow (ftpd : 10.1.0.0/255.255.0.0 : allow)