Pendahuluan Struktur FTPDengan begitu tersedianya beragam informasi di Internet, seringkali pengguna ingin mengcopy file tersebut. Sebagai contoh, bila ditemukan file atau program yang menarik dan berhubungan dengan masalah yang dihadapi, untuk itu biasanya dilakukan modifikasi pada program tersebut sesuai dengan kebutuhan. Hal ini tidak mungkin dilakukan modifikasi file tersebut pada remote login, yang dilakukan adalah file tersebut dicopy ke mesin local dan kemudian baru dimodifikasi. Fasilitas untuk melakukan ini adalah dengan menggunakn ftp.
Gambar Interaksi FTP (Parker, 1994:126) Proses ftp menggunakan ftp sebagai client, dan ftpd sebagai server. Tetapi berbeda dengan koneksi telnet, ada 2 jenis koneksi yang terjadi. Sesuai dengan namanya, tugas protocol ftp ini adalah mentransfer file dari komputer satu ke komputer lainnya. Ini tidak tergantung dari lokasi komputer itu berada, bagaimana cara koneksinya, atau bahkan sistem operasinya. Selama komputer tersebut mempunyai akses ke Internet , berarti fasilitas ftp bisa digunakan. Dengan kata lain selama sistem komputer terse-but memiliki protocol TCP/IP, maka fasilitas ftp dapat digunakan. Seperti juga telnet, ftp juga mempunyai akses berbagai macam database dan service. Dapat ditemukan berbagai macam dari file artikel hinggai software dengan cuma-cuma. Bagi seorang peneliti maka fasilitas ftp sangat membantu dalam membantu kerja dan ada yang menganggap bahwa ftp merupakan suatu sarana umum untuk saling membagi data. Ftp adalah program yang complex karena ada beberapa cara untuk memanipulasi file dan struktur file. Beberapa format untuk menyimpan (binary atau ASCII, compress atau uncompress, dll) dan ada beberapa cara tambahan untuk mendapatkannya secara benar. Akan dibahas juga sekilas tentang FTP anonymous. Hampir semua public archives mempunyai fasilitas ini.
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
Protocol FTPProtocol FTP menggunakan 4 karakter ASCII yang diakhiri dengan karakter NEWLINE. Beberapa kode membutuhkan parameter setelah kode tersebut. Keuntungan menggunakan karakter ASCII, adalah untuk memudahkan user melihat aliran perintah dalam upaya pemeriksaan pentrasnferan file.. Juga memudahkan untuk mengakses ftpserver tanpa menggunakan ftp client. FTP internal command yang digunakan oleh protocol dapat dilihat pada Tabel. PERINTAH ABOR ACCT ALLO APPE CDUP CWD DELE HELP LIST MKD MODE NLST NOOP PASS PASV PORT PWD QUIT REIN REST RETR RMD RNFR RNTO SITE SMNT STAT STOR STOU STRU SYST
KETERANGAN Abort previous command User account ID Allocate storage for forthcoming operation Append incoming data to an existing file Change to parent directory Change working directory Delete file Retrieve information Transfer list of directories Make a directory Set transfer mode Transfer a directory listing No operation User Password Request a passive open Port address Display current directory Terminate the connection Terminate and restart the connection Restart marker (restart transfer) Transfer a copy file Remove a directory Old pathname for rename command New pathname for rename command Provide service specifies Mount a file system Return status Accept and store data Accept data and store under different name File structure Query to determine operating system
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
TYPE USER
Type of Data User ID
Setelah diberikannya suatu perintah internal ftp, maka akan diberikan reply berbentuk bilangan 3 digit. Tanda pengembalian tersebut memiliki arti : / Digit pertama menunjukkan kesuksesan eksekusi suatu perintah. Digit kedua dan ketika menunjukkan informasi yang lebih detail lebih tetapi bergantung dari > Digit ketiga jua menunjukkan informasi yang detail implementasi
Digit Pertama 1.00
2.00 3.00 4.00
5.00
Keterangan Aksi dimulai. Mengharapkan balasan lain sebelum mengirim perintah baru Aksi selesai. Boleh mengirim suatu perintah baru Perintah diterima tetapi menunggu, kerna kurang informasi Perintah tidak diterima, atau diselesaikan. Terjadi error temporer. Perintah dapat dikirimkan kembali Perintah tidak dapat diterima atau diselesaikan Tabel Arti reply code digit pertama
Digit Kedua 0.00 1.00 2.00 3.00 4.00 6.00
Keterangan Kesalahan sintaks atau perintah ilegal Membalas atau menunggu informasi Membalas yang mengacu pada pengelolaan koneksi Membalas untuk perintah otentikasi Tak digunakan Membalas untuk status server Tabel Arti reply code digit kedua
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
Setelah melakukan koneksi dan login ke remore host dengan menggunakan ftp, sebenarnya tidak benar-benar login ke mesin remote tersebut. Secara logikal tetap login di mesin lokal, tetapi instruksi untuk transfer file dan perpindahan direktori harus mengacu kepada mesin lokal. Langkah-langkah ini dilakukan setiap kali melakukan koneksi. User dengan menggunakan program FTP-CLient dapat mengontrol internal command ini. Beberapa perintah pada tingkatan user ditunjukkan pada Tabel 5.4. Perintah ini bergantung pada implementasi sistem. FTP Command ascii binary cd close del dir
Keterangan Mode transfer dengan menggunakan ASCII Mode transfer dengan menggunakan Binary Pindah direktori Memutuskan hubungan Menghapus file di Server Menampilkan direktori yang di Server
Table 5.4. Perintah-perintah user untuk FTP FTP ini tersedia pada sebagian besar mesin UNIX. yang mengimplementasikan TCP/IP. Dengan menggunakan FTP client di mesin yang berbasiskan DOS/Windows, maka dapat dilakukan transfer data antara kedua mesin tersebut.
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
Instalasi server FTP FTP Server di aktifkan dengan mengeksekusi program ftp daemon yang kemudian akan sipa di background dan mendengarkan (listen) di port 21 (default) untuk siap menerima request. Yang biasa digunakan adalah wu-ftpd yang di kembangkan oleh Washington University. Seperti biasa jalankan perintah rpm #rpm -ivh wu-ftpd-x.rpm Konfigurasi server FTP File-file konfigurasi untuk Wu-Ftpd terdapat di /etc sebagai berikut : • services • inetd.conf • ftpaccess • ftphosts • ftpusers FTP Server ini dijalankan oleh internet super server yang disebut inetd, suatu file yang akan menentukan cara penanganan port tertentu oleh program daemon.
/etc/services Isi dari file services di /etc digunakan untuk mendefinisian port-port yang tersedia dan dapat di gunakan. ftp-data 20/tcp ftp 21/tcp Dua baris diatas yang mendefinisikan kepada inetd bahwa data dan command di ftp server menggunakan port tersebut.
/etc/inetd.conf Baris yang menjalankan perintah inisialisasi ftp daemon adalah : ftp stream tcp nowait root /usr/sbin/tcpd in.ftpd -l -a Keterangan dari baris diatas adalah : • ftp menerangkan nama service • stream menerangkan jenis soket yang digunakan • tcp menerangkan jenis protokol yang digunakan • nowait atau wait • root pengguna yang menjalankan daemon tersebut, hal ini akan berkaitan dengan hak pengguna tersebut. Biasanya dituliskan dalam format user[.group] • /usr/sbin/tcpd program daemon server yang dijalankan • in.ftpd -l -a argumen yang diberikan pada program server /etc/ftpaccess Hal-hal yang penting dalam konfigurasi akses ftp server adalah class, deny, limit, noretrieve, loginfails, private, autogroup, dan guestgroup. Masing-masing fungsi akan dijelaskan kemudian. class Syntax : class
typelist addrglobal
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1
Keterangan : • classname : adalah nama sebutan untuk sebuah class • typelist : daftar jenis user yang terdiri dari real, guest, anonymous • addrglobal : dapat berupa ip address ataupun host.domain.name dapat menggunakan wildcard "*". Misal : class all real,guest,anonymous * yang berarti ftp server menerima setiap request dari real user, guest, dan anonymous dan dari mesin mana saja. deny Sintaksnya adalah : deny addrglobal message_file Misal : deny *.planet.tzo.com /etc/nggak-boleh-masuk.txt Yang berarti ftp server menolak koneksi yang berasal dari semua host di bawah domain planet.tzo.com. limit Sintaks : limit n times message_file Keterangan : • n : adalah jumlah user yang diperbolehkan akses ke ftp server secara simultan • times : Jarak waktu yang di tetapkan biasanya dalam hitungan hari Misalnya : class lokal real * limit lokal 100 0700-1300 /etc/kebanyakan.txt Yang berarti real user yang di perbolehkan mengakses ftp server adalah sejumlah 100 orang dari jam 7 AM-1 PM. Dan bila pengakses tersebut gagal melakukan login maka ditampilkan pesan pada file /etc/kebanyakan.txt loginfails syntax : loginfails number Fungsinya adalah untuk menentukan berapa kali seorang user boleh salah memasukkan login dan password sebelum disconnect. Misal : loginfails 3 Artinya user diberikan mencoba 3 kali memasukkan password sebelum akhirnya koneksi diputuskan bila password tidak tepat. /etc/ftphosts File ftphosts digunakan untuk akses kontrol dari ftp server. syntax : allow <username> deny <username> /etc/ftpusers File ini berisi daftar user yang tidak boleh akses ke ftp server
Panduan Lengkap Membangun Server Menggunakan Linux SuSE 9.1