FTP (File Transfer Protocol) adalah sebuah protokol Internet yang berjalan di dalam lapisan aplikasi yang merupakan standar untuk pentransferan berkas (file) komputer antar mesin-mesin dalam sebuah internetwork. Protokol ini masih digunakan hingga saat ini untuk melakukan pengunduhan (download) dan penggugahan (upload) berkas-berkas komputer antara klien FTP dan server FTP. Sebuah server FTP diakses dengan menggunakan Universal Resource Identifier (URI) dengan menggunakan format ftp://namaserver dari file browser maupun web browser. Klien FTP dapat menghubungi server FTP dengan membuka URI tersebut. Salah satu program yang digunakan untuk server FTP ialah vsftpd (very secure file transfer protocol daemon)
Instalasi FTP
Masukan CD Ubuntu server kedalam CDROM
Mounting CDROM
$sudo mount /dev/cdrom /cdrom
Masukan password user dan tunggu proses mounting selesai
Ketikan perintah install paket vsftpd melalui terminal
$ sudo apt-get install vsftpd
Cek keberadaan instalasi ftp server vsftpd
$ sudo dpkg-l vsftpd
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Cfg-files/Unpacked/Failed-cfg/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Description
+++-==============-==============-=====================
ii vsftpd 2.2.0-1ubuntu1 lightweight, efficient FTP server written fo
Konfigurasi User Anonim
User anonim ialah user yang dapat memanfaatkan fasilitas FTP server tanpa harus melakukan login terlebih dahulu, biasanya user anonim ini digunakan sebagai sarana transfer file secara umum seperti update repositori, upload file global, dll. Direktori root untuk ftp server berada pada /home/ftp secara defaultnya, kita dapat melakukan perubahan dengan menentukan direktori user anonim dimana saja, misal pada direktori /home/user/ftp, konfigurasinya ialah sebagai berikut :
Buat direktori pada home/user/ftp
$mkdir ftp
Buat parent direktori didalam folder ftp, misal kakek, nenek, ayah, ibu, anak, cucu
$cd ftp
$mkdir kakek, nenek, ayah, ibu, anak, cucu
Ubah direktori mode user ftp pada direktori /home/user/ftp
$sudo usermod -d /home/user/ftp ftp
Lakukan pengujian melalui web browser mozilla dengan mengetikan alamat ftp://localhost atau ketikan ftp://nama_domain.com, jika konfigurasi berhasil maka akan tampil list direktori yang telah kita buat pada jendela web browser
Gambar 1
Konfigurasi User local agar dapat melakuan akses ftp server
Secara defaultnya FTP server tidak mengaktifkan user local untuk mengakses ftp komputer yang menyediakan layanan ftp, bagaimana user local (selain daripada user root) dapat mengakses ftp caranya kita dapat mengkonfigurasi file vsftpd.conf yang berada pada direktori /etc/vsftpd.conf
Konfigurasi vsftpd.conf
$ sudo nano /etc/vsftpd.conf
Kemudian cari baris yang bertuliskan script berikut :
#write_enable=YES
#local_enable=YES
#anon_upload_enable=YES
#anon_mkdir_write_enable=YES
Untuk megaktifkan script diatas hilangkan tanda “#” menjadi seperti berikut
write_enable=YES
local_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
Simpan konfigurasi file vsftpd.conf dengan menekan CTRL+O → Enter → CTRL+X
Restart service vsftpd
$ sudo /etc/init.d/vsftpd restart
* Stopping FTP server: vsftpd [ OK ]
* Starting FTP server: vsftpd [ OK ]
Lakukan pengujian FTP server dengan membuka file browser seperti nautilus, file manager untuk linux dan windows exploler pada windows.
Gambar 2
Membuat User FTP
Selain user anonim yang dapat diakses secara umum, berikutnya yaitu user personalisasi yang secara khusus didefinisikan pada server ftp. User personalisasi dapat mengakses ftp server dengan melakukan login terlebih dahulu dengan menggunakan user name dan password. User ini memiliki kelebihan dibandingkan dengan user anonim, karena dapat melakukan baca, tulis, buat folder, dan menghapus ke server FTP. Cara membuatnya ialah sebagai berikut :
Buat Nama user yang diinginkan, misal adrian
root@ubuntu:/etc/bind# adduser adrian
Adding user `adrian' ...
Adding new group `adrian' (1001) ...
Adding new user `adrian' (1001) with group `adrian' ...
Creating home directory `/home/adrian' ...
Copying files from `/etc/skel' ...
Enter new UNIX password: [masukan password baru]
Retype new UNIX password: [masukan kembali]
passwd: password updated successfully
Changing the user information for adrian
Enter the new value, or press ENTER for the default
Full Name []: Adrian Dr
Room Number []: 1
Work Phone []: 021 1234 1234
Home Phone []: 021 6789 6789
Other []:
Nothing
Is the information correct? [Y/n] y
root@ubuntu:/etc/bind#
Sampai disini kita telah berhasil membuat user dengan nama adrian dan sudah dapat melakukan akses FTP dengan file browser dengan mengetik URL : ftp://adrian@ftp.prisma.com kemudian masukkan password user tersebut.
Gambar 3
Membatasi USER FTP Hanya pada Home direktori
Secara default user yang bisa masuk melalui ftp, bisa mengakses semua berkas yang ada di server (tentunya dengan hak akses yang sesuai dengan user tersebut) sebagai contoh seperti tampilan gambar diatas yang menampilkan isi seluruh komputer server ftp pada user adrian. Jika Anda ingin membatasi user yang login melalui ftp hanya bisa mengakses berkas-berkas yang ada di home direktorinya saja, gunakan konfigurasi berikut.
Edit file /etc/vsftpd.conf
$sudo nano /etc/vsftpd.conf
Cari script teks pada file vsftpd.conf berikut dan hilangkan tanda “#” didepan scriptnya
chroot_local_user=YES
Jika anda ingin mengunci semua user pada masing-masing direktori home saja
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
Jika anda ingin menentukan user mana saja yang tidak terkunci dalam direktori home maka masukan nama user pada file /etc/vsftpd.chroot.list
$sudo nano /etc/vsftpd.chroot_list
Tambahkan nama user yang ingin dibebaskan direktorinya dari home
adrian
Simpan konfigurasi file ini dengan cara CTRL+O – Enter – CTRL+X
Restart layanan vsftpd
$sudo /etc/init.d/vsftpd restart
Lakukan uji coba dengan mengetikan alamat url ftp://adrian@ftp.prisma.com pada file browser kemudian anda diminta memasukan password untuk user tersebut
Gambar 4
Dari kedua tampilan gambar diatas dapat dibedakan bahwa user yang dibatasi aksesnya di direktori home hanya dapat membuka sub-sub direktori yang berada di home tersebut (gambar 4), sedangkan user yang hak aksesnya belum dibatasi dapat dengan leluasa membuka direktori-direktori yang berada pada root (gambar 3)
Melakukan Upload & Download dari Server FTP
Jika FTP server telah dikonfigurasi berikutnya melakukan pembuatan folder pada direktori home dengan cara akses dahulu ftp server dari komputer klien dengan mengetikan URL pada file browser ftp://ftp.namadomain.com , sebagai contoh ftp://ftp.prisma.com kemudian lakukan login dengan memasukan nama user ftp yang telah terdaftar dan masukkan passwordnya. Buat beberapa folder didalam direktori user FTP, misal download, aplikasi, musik, game, dll. Membuat folder dapat dilakukan dengan dua cara yaitu
Mode Grafic User Interface (GUI)
Klik Kanan pada tempat yang kosong kemudian pilih create folder dan beri nama masing-masing folder sesuai keinginan.
Isi folder yang telah dibuat sesuai namanya dengan file-file yang berkaitan, misal folder musik diisi dengan file musik, folder aplikasi diisi dengan file program aplikasi, folder game diisi dengan aplikasi game, folder download diisi dengan berbagai macam jenis file yang dapat di upload dari FTP klien.
Mode Command Line Interface (CLI)
Lakukan login terlebih dahulu dengan mengetikan perintah berikut pada terminal
root@ubuntu:/etc/bind# ftp ftp.prisma.com
Connected to ns.prisma.com.
220 (vsFTPd 2.2.0)
Name (ftp.prisma.com:administrator): adrian
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>
Buat direktori menggunakan perintah mkdir pada prompt FTP>
ftp> mkdir aplikasi
257 "/aplikasi" created
ftp> mkdir download
257 "/download" created
ftp> mkdir musik
257 "/musik" created
ftp> mkdir game
257 "/game" created
ftp>
Lihat apakah direktori yang dibuat benar-benar sudah ada menggunakan perintah ls
ftp> ls
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
drwx------ 2 1001 1001 4096 Mar 15 15:33 aplikasi
drwx------ 2 1001 1001 4096 Mar 15 15:33 download
drwx------ 2 1001 1001 4096 Mar 15 15:33 game
drwx------ 2 1001 1001 4096 Mar 15 15:33 musik
226 Directory send OK.
ftp>
Mengisi (upload) file pada direktori yang telah dibuat menggunakan perintah “put” (mengisi file). Sebagai contoh mengupload file 3gp.exe dari komputer lokal kemudian diletakan di direktori aplikasi pada komputer ftp server
ftp> put
(local-file) /home/administrator/apex-free-3gp-converter.exe
(remote-file) /aplikasi/3gp.exe
local: /home/administrator/3gp.exe remote: /aplikasi/3gp.exe
200 PORT command successful. Consider using PASV.
150 Ok to send data.
226 File receive OK.
14838025 bytes sent in 0.28 secs (51424.0 kB/s)
ftp>
Lakukan pengisian (upload) file sesuai dengan kebutuhan
Mengambil file (download) dari direktori ftp server menggunakan perintah “get”
ftp> get
(remote-file) /aplikasi/3gp.exe
(local-file) /home/administrator/Downloads/3gp.exe
local: /home/administrator/Downloads/3gp.exe remote: /aplikasi/3gp.exe
200 PORT command successful. Consider using PASV.
150 Opening BINARY mode data connection for /aplikasi/3gp.exe (14838025 bytes).
226 File send OK.
14838025 bytes received in 0.35 secs (40982.3 kB/s)
ftp>
Keluar dari FTP menggunakan perintah “exit”
ftp> exit
1 komentar:
Posting Komentar