File Sharing (Samba dan FTP Server)
1. Dasar Teori
1.1. Samba
Samba merupakan aplikasi Unix yang memanfaatkan protokol SMB (Server Message Block). Sebagian sistem operasi memanfaatkan SMB dalam komunikasi client-server-nya, termasuk Windows dan OS/2. Samba memungkinkan mesin Linux berkomunikasi dengan mesin Windows/Dos mapupun OS/2. Samba dapat digunakan untuk :
Samba merupakan aplikasi Unix yang memanfaatkan protokol SMB (Server Message Block). Sebagian sistem operasi memanfaatkan SMB dalam komunikasi client-server-nya, termasuk Windows dan OS/2. Samba memungkinkan mesin Linux berkomunikasi dengan mesin Windows/Dos mapupun OS/2. Samba dapat digunakan untuk :
· Berbagi (share) file dan printer pada semua komputer yang terhubung ke jaringan.
· Client unix/Linux bisa mengakses file system windows
· Client windows bisa mengakses file system Linux dan sebaliknya
· Mengintegrasikan authentikasi antara linux dan Windows ke dalam suatu domain pada suatu jaringan.
· Menempatkan mesin Unix (Linux) sebagai Primary Domain Controller sebagaimana yang dilakukan Windows NT / 2000 server.
Samba merupakan aplikasi Unix yang memanfaatkan protokol SMB (Server Message Block). Karena memakai protokol yang sama yaitu SMB, maka dengan Samba memungkinkan mesin Linux berkomunikasi dengan mesin Windows/Dos maupun OS/2. Gambar 2.1 berikut adalah contoh sharing service yang memungkinkan kita melihat computer dan printer sharing dalam satu domain.
Gambar 2.1 Network Neighborhood
Dengan aplikasi samba ini memungkinkan juga untuk melakukan mapping printer dan folder dari windows
Gambar 2.2 Mapping Drive
Samba dibuat dan disusun pertama kali oleh ANDREW TRIDGELL. Pada bulan Desember 1991 ia menerima program eXcursion dari Digital. Sayangnya program tersebut hanya bekerja dengan 'pathworks' ke mesin VMS atau ultrix, yang memaksanya untuk mempelajari bagaimana file dikomunikasikan. Setelah sekian lama mencoba, akhirnya Andrew berhasil memasukkan salah satu direktori dari mesin Digital ke dalam 'pathworks' DOS di rumahnya. Setahun kemudian Andrew telah memasuki komunitas Linux, dan pada Desember 1993 ia mengeluarkan "NetBIOS for Unix". Dengan menggunakan mailing list, program ini dikembangkan bersama-sama hingga menjadi Samba Team sebagaimana sekarang.
Saat ini Samba dikembangkan sebagai bagian dari Open Source Software (Software yang memberikan kode sumbernya) dan didistribusikan dibawah lisensi GNU. Proyek pengembangannya masih tetap berjalan hingga sekarang dikoordinasikan oleh ANDREW TRIDGELL dari rumahnya di Canberra dengan tim tersebar di seuruh dunia. Informasi lengkap tentang SAMBA dapat diperoleh di www.samba.org
Aplikasi Samba biasanya dijalankan sebagai daemon. Dua aplikasi utamanya adalah
:
· smbd , daemon yang memberikan layanan berbagi file dan printer dalam sebuah jaringan yang menggunakan protokol SMB. Smbd juga memberikan otentikasi
dan otorisasi bagi kliennya. Server Message Block (SMB) adalah protokol yang
digunakan untuk filesharing, printer sharing.
· nmbd,dDaemon yang memanfaatkan Windows Internet Name Service (WINS), dan membantu klien untuk browsing di network neighborhood.
Selain 2 daemon utama di atas, aplikasi samba juga mempunyai beberapa program
pendukung yaitu :
· smbclient , aplikasi di klien dengan tampilan mirip ftp untuk mengakses SMB resource share (mengakses share files)
· smbtar, Program yang memback up data yang dishare. Mirip tar di Linux.
· Nmblookup, Program yang membantu mencari nama (names lookup) dengan memanfaatkan NetBIOS over TCP/IP. Nmblookup dapat digunakan untuk meresolve dari nama komputer ke nomor IP dan sebaliknya.
· smbpasswd , Program yang memungkinkan administrator mengatur password yang terenkripsi yang dipergunakan oleh Samba Server.
· Smbstatus, Program yang memonitor status terakhir dari share resources yang diberikan oleh Server Samba.
· Testparm, Program kecil untuk melakukan proses debug (memeriksa parameter) terhadap file konfigurasi Samba (smb.conf)
Swat, Samba Web Administration Tool, program bantu yang memberikan interface model web untuk mengadministrasi Samba. SWAT mempermudah edit smb.conf (file konfigurasi Samba) mengatur resource share, melihat status Samba terakhir, dengan dukungan file help yang sangat bermanfaat.
1.2. FTP Server
FTP menggunakan protokol transport TCP untuk mengirimkan data/file. TCP dipakai sebagai protokol transport karena protokol ini memberikan garansi pengiriman dengan FTP yang dapat memungkinkan user mengakses file dan direktori secara interaktif, diantaranya :
· Melihat daftar file pada direktori remote dan lokal.
· Menganti nama dan menghapus file.
· Transfer file dari komputer remote ke lokal (download).
Transfer file dari komputer lokal ke remote (upload).
Gambar 2.3 di bawah ini menunjukkan mekanisme transfer file dari host lokal ke remote, proses transfer file seperti ditunjukkan dengan tanda panah pada gambar tersebut. Tahapan FTP dimulai dari client memasuki jaringan TCP/IP, komputer remote yang akan dituju disebut host FTP, dan host FTP ini harus memiliki software FTP server yang telah diinstall agar dapat berinteraksi dengan sistem file
pada host.
Untuk memulai melakukan FTP, maka berikan perintah seperti berikut :
%ftp [hostname]
tanda % adalah prompt default pada OS Unix, hostname merupakan nama secara simbolik atau nomor IP dari komputer yang akan dituju. Bila sudah dapat tersambung maka akan ditanyakan nama user dan password, isian nama user dan password sesuai dengan account yang diberikan seperti yang digunakan bila user akan menggunakan server tersebut, tetapi pada FTP server yang umum, untuk nama user dapat digunakan ftp atau anonymous dengan menggunakan password yaitu alamat e-mail, akan tetapi memiliki hak akses yang terbatas sesuai yang ditetapkan administrator FTP server.
Gambar 2.3. Mekanisme FTP
Ketika kita menggunakan FTP (sebagai user) terdapat dua jenis atau cara yang dapat dilakukan:
· Anonymous, Sistem FTP anonymous sudah sejak lama diciptakan dengan tujuan agar setiap orang yang terkoneksikan ke dalam dunia internet dapat saling berbagi file dengan orang lain yang belum memiliki account dalam server. Dengan sistem ini setiap orang dapat menggunakan sebuah account yang umum (public account) berupa anonymous. Mempunyai hal keterbatasa hak akses. Keterbatasan yang dimiliki ketika pengguna menggunakan jenis FTP anonymous biasanya meliputi keterbatasan dalam proses akses directrory dan file yang tersedia dalam server yang dituju. Selain itu, pengguna yang menggunakan sistem ini tidak dapat melakukan uploading data terhadap server yang dituju. Namun sebaliknya ia hanya memiliki kemampuan dalam downloading, baca file tertentu dan pindah directory yang diizinkan oleh pemilik server.
· User legal (authenticated user), adalah sebuah cara lain yang digunakan oleh
pengguna internet dalam mengakses sebuah server dengan menggunakan FTP. Untuk dapat mengkases remote host, cara user legal (authenticated user) menuntut kita untuk memiliki sebuah account khusus yang dimiliki secara pribadi. Untuk dapat memiliki account khusus ini, seorang pengguna harus mendaftarkan diri terlebih dahulu kepada pemilik remote host tersebut. Terdapat banyak server yang memberikan fasilitas account FTP secara gratis, selain server lain yang mengharuskan pengguna untuk membeli sebuah account yang tentunya dengan fasilitas yang lebih banyak dibandingkan dengan sebuah account yang dimiliki secara free. Dengan menggunakan account ini, seorang pengguna memiliki hak akses yang jauh berbeda dengan seorang pengguna jenis anonymous. Selain kemampuan yang dimiliki oleh pengguna anonymous, seperti download dan berpindah dari satu directory ke directory lain serta kemampuan baca file tertentu, uploading, membuat sebuah directory, menghapus file dan directory. Hak yang dimiliki adalah hak seorang pemilik bukan seorang pengunjung biasa.
Contoh aplikasi FTP server :
- Proftpd
- Vsftpd
- Wuftpd
- IIS (didalamnya terdapat FTP Server)
Contoh aplikasi FTP client
- CuteFTP, Wget
- WsFTP
- GetRight
- AbsoluteFTP
- SmartFTP
- Filezilla( Mendukung SFTP)
2. Tugas Pendahuluan
2.1. Kegunaan utama FTP
Kegunaan utama FTP adalah untuk menggunakan protocol transport TCP untuk mengirimkan data/file, protocol ini memberikan garansi pengiriman dengan FTPyang dapat memungkinkan user mengakses file direktori secara interaktif, diantaranya:
● Melihat daftar file pada direktori remote dan local.
● Mengganti nama dan menghapus file.
● Transfer file dari computer remote ke local(download).
● Transfer file dari computer local ke remote(upload)
2.2. Klasifikasi jenis FTP Server berdasarkan tipe user
Ketika kita menggunakan FTP (sebagai user) terdapat dua jenis atau cara yang dapat dilakukan:
● Anonymous, Sistem FTP anonymous sudah sejak lama diciptakan dengan tujuan agar setiap orang yang terkoneksikan ke dalam dunia internet dapat saling berbagi file dengan orang lain yang belum memiliki account dalam server. Dengan system ini setiap orang dapat menggunakan sebuah account yang umum (public account) berupa anonymous. Mempunyai hal keterbatasa hak akses. Keterbatasan yang dimiliki ketika pengguna menggunakan jenis FTP anonymous biasanya meliputi keterbatasan dalam proses akses directrory dan file yang tersedia dalam server yang dituju. Selain itu, pengguna yang menggunakan sistem ini tidak dapat melakukan uploading data terhadap server yang dituju. Namun sebaliknya ia hanya memiliki kemampuan dalam downloading, baca file tertentu dan pindah directory yang diizinkan oleh pemilik server.
● User legal (authenticated user), adalah sebuah cara lain yang digunakan oleh pengguna internet dalam mengakses sebuah server dengan menggunakan FTP. Untuk dapat mengkases remote host, cara user legal (authenticated user) menuntut kita untuk memiliki sebuah account khusus yang dimiliki secara pribadi. Untuk dapat memiliki account khusus ini, seorang pengguna harus mendaftarkan diri terlebih dahulu kepada pemilik remote host tersebut. Terdapat banyak server yang memberikan fasilitas account FTP secara gratis, selain server lain yang mengharuskan pengguna untuk membeli sebuah account yang tentunya dengan fasilitas yang lebih banyak dibandingkan dengan sebuah account yang dimiliki secara free. Dengan menggunakan account ini, seorang pengguna memiliki hak akses yang jauh berbeda dengan seorang pengguna jenis anonymous. Selain kemampuan yang dimiliki oleh pengguna anonymous, seperti download dan berpindah dari satu directory ke directory lain serta kemampuan baca file tertentu, uploading, membuat sebuah directory, menghapus file dan directory. Hak yang dimiliki adalah hak seorang pemilik bukan seorang pengunjung biasa.
2.3. Fungsi Samba
Samba dapat digunakan untuk :
● Berbagi (share) file dan printer pada semua komputer yang terhubung ke jaringan.
● Client unix/Linux bisa mengakses file system windows
● Client windows bisa mengakses file system Linux dan sebaliknya
● Mengintegrasikan authentikasi antara linux dan Windows ke dalam suatu domain pada suatu jaringan.
● Menempatkan mesin Unix (Linux) sebagai Primary Domain Controller sebagaimana yang dilakukan Windows NT / 2000 server.
2.4. File-file pendukung Samba
● smbclient , aplikasi di klien dengan tampilan mirip ftp untuk mengakses SMB resource share (mengakses share files)
● smbtar, Program yang memback up data yang dishare. Mirip tar di Linux.
● Nmblookup, Program yang membantu mencari nama (names lookup) dengan memanfaatkan NetBIOS over TCP/IP. Nmblookup dapat digunakan untuk meresolve dari nama komputer ke nomor IP dan sebaliknya.
● smbpasswd , Program yang memungkinkan administrator mengatur password yang terenkripsi yang dipergunakan oleh Samba Server.
● Smbstatus, Program yang memonitor status terakhir dari share resources yang diberikan oleh Server Samba.
● Testparm, Program kecil untuk melakukan proses debug (memeriksa parameter) terhadap file konfigurasi Samba (smb.conf)
● Swat, Samba Web Administration Tool, program bantu yang memberikan interface model web untuk mengadministrasi Samba. SWAT mempermudah edit smb.conf (file konfigurasi Samba) mengatur resource share, melihat status Samba terakhir, dengan dukungan file help yang sangat bermanfaat.
2.5. Langkah-langkah konfigurasi Samba
1. Melakukan instalasi paket yang berkaitan dengan dengan Samba, yaitu :
Pada komputer yang berfungsi server samba
#apt-get install samba samba-common
Pada client yang akan melakukan akses samba server
#apt-get install smbclient smbfs
Pada komputer yang berfungsi server samba
#apt-get install samba samba-common
Pada client yang akan melakukan akses samba server
#apt-get install smbclient smbfs
2. Untuk melihat folder beserta isinya samba di instal menggunakan command
#dpkg -L samba
#dpkg -L samba
3. Melakukan konfigurasi dan edit pada file /etc/samba/smb.conf
Untuk authentifikasi user dan password aktifkan konfigurasi berikut
####### Authentication #######
security = user
encrypt passwords = true
Selanjutnya lakukan pembuatan password untuk samba sbb :
#useradd student -m -G users
Kemudian set password nya dengan command passwd student
Kemudian menambahkan user student kedalam user samba dengan command
#smbpasswd -a student
Tambahkan pula folder yang akan dishare dengan cara sbb : (misal yang dishare adalah /home/public)
Untuk sharing folder sebelumnya pastikan anda membuat direktori tersebut dan hak akses yang sesuai.
#mkdir -p /home/public
#chmod 777 /home/public
Setiap selesai melakukan perubahan pastikan anda melakukan restart terhadap service samba.
Untuk authentifikasi user dan password aktifkan konfigurasi berikut
####### Authentication #######
security = user
encrypt passwords = true
Selanjutnya lakukan pembuatan password untuk samba sbb :
#useradd student -m -G users
Kemudian set password nya dengan command passwd student
Kemudian menambahkan user student kedalam user samba dengan command
#smbpasswd -a student
Tambahkan pula folder yang akan dishare dengan cara sbb : (misal yang dishare adalah /home/public)
Untuk sharing folder sebelumnya pastikan anda membuat direktori tersebut dan hak akses yang sesuai.
#mkdir -p /home/public
#chmod 777 /home/public
Setiap selesai melakukan perubahan pastikan anda melakukan restart terhadap service samba.
4. Untuk melihat file atau direktori yang telah anda dan komputer lain share, anda dapat menggunakan browser konqueror yang mendukung protokol samba. Pada Url ketikkan : smbclient –U% -L <ip_address>. Atau bisa juga dari command dengan menggunakan command sbb :
smbclient -U% -L \\nomor_ip_server_samba
smbclient -U% -L \\nomor_ip_server_samba
5. Bila user Linux ingin me-mount directory yang dishare dapat menggunakan command:
smbmount// nomor_ip_samba_server /direktori_share /home/public
smbmount// nomor_ip_samba_server /direktori_share /home/public
6. Untuk masuk ke direktori sharing bisa menggunakan command cbb :
smbclient //nomor_ip_samba_server/public -U student
Untuk melihat isi dari direktori yang di share dengan command ls kemudian apabila ingin mengambil file yang berada di dalamnya dengan command get
Adapun command-command yang lain yang dapat digunakan sbb :
Bila dari windows tinggal searching no_ip dan double click pada no_ip tersebut, akan ada authentikas user dan password, selanjutnya kita bisa browse file yang dishare
Dan berikut contoh hasil share di windows :
smbclient //nomor_ip_samba_server/public -U student
Untuk melihat isi dari direktori yang di share dengan command ls kemudian apabila ingin mengambil file yang berada di dalamnya dengan command get
Adapun command-command yang lain yang dapat digunakan sbb :
Bila dari windows tinggal searching no_ip dan double click pada no_ip tersebut, akan ada authentikas user dan password, selanjutnya kita bisa browse file yang dishare
Dan berikut contoh hasil share di windows :
3. Hasil Percobaan dan Analisa Hasil Percobaan
3.1. Percobaan 1 : FTP
1. Lakukan installasi paket FTP, pada percobaan ini kita gunakan proftp
2. Pastikan daemon ftp sudah berjalan pada sistem menggunakan perintah
#netstat –a | grepftp
#netstat –a | grepftp
3. Lakukan restart pada aplikasi ftp dan lakukan pengecekan service dengan command netstat.
4. Dengan menggunakan ftp client lakukan koneksi ke ftp server, siapkan user dan password untuk masuk ke ftp server.
a. Jalankan command: ftp no_IP_atau_nama_komp_server_FTP
b. Jalankan beberapa command ftp, misal get untuk mendownload, put untuk mengupload file
c. Bisa digunakan pula ftp client yang mode gui untuk koneksi ke server ftp, misal filezilla.
a. Jalankan command: ftp no_IP_atau_nama_komp_server_FTP
b. Jalankan beberapa command ftp, misal get untuk mendownload, put untuk mengupload file
c. Bisa digunakan pula ftp client yang mode gui untuk koneksi ke server ftp, misal filezilla.
Anonimous ftp adalah koneksi ftp tanpa membutuhkan user dan password. Untuk mengaktifkan anomous ftp lakukan edit pada konfigurasi ftp di
/etc/proftp/proftpd.conf. Hapus tanda # pada baris anonimous ftp berikut :
/etc/proftp/proftpd.conf. Hapus tanda # pada baris anonimous ftp berikut :
Selanjutnya restart ftp server. Untuk membuka anonimous ftp bisa melakukan dari filezilla, hanya membutuhkan masukan no_ip_server_ftp dan langsung enter.
3.2. Percobaan 2 : Samba
1. Melakukan instalasi paket yang berkaitan dengan dengan Samba, yaitu :
Pada komputer yang berfungsi server samba
#apt-get install samba samba-common
Pada client yang akan melakukan akses samba server
#apt-get install smbclient smbfs
Pada komputer yang berfungsi server samba
#apt-get install samba samba-common
Pada client yang akan melakukan akses samba server
#apt-get install smbclient smbfs
2. Untuk melihat folder beserta isinya samba di instal menggunakan command
#dpkg -L samba
#dpkg -L samba
3. Melakukan konfigurasi dan edit pada file /etc/samba/smb.conf
Untuk authentifikasi user dan password aktifkan konfigurasi berikut
####### Authentication #######
security = user
encrypt passwords = true
Selanjutnya lakukan pembuatan password untuk samba sbb :
#useradd student -m -G users
Kemudian set password nya dengan command passwd student
Kemudian menambahkan user student kedalam user samba dengan command
#smbpasswd -a student
Tambahkan pula folder yang akan dishare dengan cara sbb : (misal yang dishare adalah /home/public)
Untuk sharing folder sebelumnya pastikan anda membuat direktori tersebut dan hak akses yang sesuai.
#mkdir -p /home/student/foldershare26
#chmod 777 /home/student/foldershare26
Setiap selesai melakukan perubahan pastikan anda melakukan restart terhadap service samba.
Untuk authentifikasi user dan password aktifkan konfigurasi berikut
####### Authentication #######
security = user
encrypt passwords = true
Selanjutnya lakukan pembuatan password untuk samba sbb :
#useradd student -m -G users
Kemudian set password nya dengan command passwd student
Kemudian menambahkan user student kedalam user samba dengan command
#smbpasswd -a student
Tambahkan pula folder yang akan dishare dengan cara sbb : (misal yang dishare adalah /home/public)
Untuk sharing folder sebelumnya pastikan anda membuat direktori tersebut dan hak akses yang sesuai.
#mkdir -p /home/student/foldershare26
#chmod 777 /home/student/foldershare26
Setiap selesai melakukan perubahan pastikan anda melakukan restart terhadap service samba.
4. Untuk melihat file atau direktori yang telah anda dan komputer lain share, anda dapat menggunakan browser konqueror yang mendukung protokol samba. Pada Url ketikkan : smbclient –U% -L <ip_address>. Atau bisa juga dari command dengan menggunakan command sbb :
smbclient -U% -L \\nomor_ip_server_samba
smbclient -U% -L \\nomor_ip_server_samba
5. Bila user Linux ingin me-mount directory yang dishare dapat menggunakan command:
smbmount// nomor_ip_samba_server /direktori_share /home/public
smbmount// nomor_ip_samba_server /direktori_share /home/public
6. Untuk masuk ke direktori sharing bisa menggunakan command cbb :
smbclient //nomor_ip_samba_server/public -U student
Untuk melihat isi dari direktori yang di share dengan command ls kemudian apabila ingin mengambil file yang berada di dalamnya dengan command get
Adapun command-command yang lain yang dapat digunakan sbb :
Bila dari windows tinggal searching no_ip dan double click pada no_ip tersebut, akan ada authentikas user dan password, selanjutnya kita bisa browse file yang dishare
Dan berikut contoh hasil share di windows :
smbclient //nomor_ip_samba_server/public -U student
Untuk melihat isi dari direktori yang di share dengan command ls kemudian apabila ingin mengambil file yang berada di dalamnya dengan command get
Adapun command-command yang lain yang dapat digunakan sbb :
Bila dari windows tinggal searching no_ip dan double click pada no_ip tersebut, akan ada authentikas user dan password, selanjutnya kita bisa browse file yang dishare
Dan berikut contoh hasil share di windows :
4. Daftar Pertanyaan
4.1. Instalasi dan konfigurasi NFS Server
4.1.1. Installasi NFS
Menggunakan command “apt-get install nfs-common nfs-kernel-server portmap”
- Nfs-common digunakan untuk menginstall nfs client
- Nfs-kernel-server digunakan untuk menginstall server version
4.1.2. Buat folder yang nantinya untuk di share dan isi dengan apapun (contoh isi dengan copian dari etc)
4.1.3. Konfigurasi pada export
Menggunakan nano untuk mengedit file pada /etc/export
Dan ubah seperti berikut :
4.1.4. Restart NFS
4.2. Perbedaan kegunaan Samba, FTP, dan NFS
· FTP : merupakan file sharing bisa di gunakan pada computer yang berbeda OS, client bisa mengakses server sebagai anonymous, client bisa melihat direktori pada server, dan kecepatan download dan upload lebih sepat dari samba karena tidak ada autentikasi tertentu untuk mengakses server, dan ftp tidak di lengkapi fungsi sharing printer seperti samba.
· Samba : merupakan aplikasi yang digunakan untuk sharing directory dan file pada linux dengan windows, dengan samba kita bisa download upload dan view file yang ada, sedangkan pada ftp kita tidak bisa view file yang ingin kita akses. Samba juga menyediakan fitur sharing printer.
· NFS : hanya digunakan untuk file sharing pada computer yang memiliki operating system UNIX, memerlukan aplikasi tambahan untuk bisa sharing dengan windows.
2. Kesimpulan
Samba merupakan sebuah aplikasi yang digunakan untuk sharong direktori dan file pada linux dengan windows, client(windows) bisa mengakses directory yang di share oleh server(linux) dengan mengakses ip server dan memasukkan autentikasi yang sudah di setting dalam server. Samba juga memiliki fungsi sharing printer.
FTP merupakan protocol yang digunakan untuk sharing file dari PC yang menggunakan berbagai macam OS, client bisa mengakses server tanpa masuk menggunakan authentication sebagai anonymous.
Secara teknik Kecepatan download dan upload FTP lebih cepat dari Samba.
penulis & kontributor
Ilham Akbar & Bapak Ferry Astika
(POLITEKNIK ELEKTRONIKA NEGERI SURABAYA)