SAMBA pada Ubuntu 20.04

File Server

File server merupakan server atau komputer yang bertugas dalam menyimpan dan mengelola suatu file atau data di dalam jaringan. Tujuan dari file server ini sebagai fasilitas untuk berbagi dan menyimpan data atau file secara tersentral di lingkungan jaringan tertentu. Mungkin dari kalian akan ada yang bertanya “Terus, apa bedanya antara File server dan FTP server?”

Nah, sebenarnya file server itu terdiri dari 2 jenis, salah satunya FTP Server yang kita bahas sebelumnya dan juga Samba. Pada kesempatan kali ini saya akan membahas mengenai samba itu.

SAMBA

Samba merupakan perangkat lunak pada sistem operasi linux untuk melakukan pertukaran data antara server dan klien. Protokol ini digunakan untuk berbagi file, percetakan dan bisa juga berbagi layanan jaringan antara windows dan linux. Samba server juga sering diibaratkan sebagai jembatan untuk layanan penyediaan berbagi data antara sistem operasi keluarga unix dan windows.

Topologi

Spesifikasi samba server yang digunakan:

  • IP Address: 10.23.2.119/22
  • OS Ubuntu 20.04

Full Access Shared Folder

Step 1 – Instalasi

Masuk sebagai user sudo pada server ubuntu yang akan dijadikan samba server. Kemudian, lakukan update pada server dan instal package samba.$sudo su #apt update && apt -y install samba

Step 2 – Konfigurasi

  1. Disini kita akan membuat sebuah folder baru dengan nama sharing. Folder Sharing ini nantinya yang akan berperan menjadi tempat untuk berbagi folder dengan klien. Jangan lupa untuk mengubah permission pada folder sharing agar bisa diakses semua klien.
#mkdir /sharing #chmod 777 /sharing

2. Lakukan perubahan pada file konfigurasi smb.conf.

#vim /etc/samba/smb.conf

3. Masukkan perintah dibawah dan sesuaikan dengan intruksi yang ada.

// line 25
unix charset = UTF-8

// line 40: uncomment dan tambahkan network yang dapat izin akses ke samba
interfaces = 127.0.0.0/8 10.23.0.0/22

// line 101: matikan autentikasi untuk usernya, karena kita akan melakukan full access sharing
map to guest = bad user

// tambahkan perintah dibawah pada baris terakhir
[sharing]
path = /sharing
writable = yes
guest ok = yes
guest only = yes
force create mode = 777
force directory mode = 777 

Penjelasan mengenai perintah pada baris terakhir:

  • path: Untuk mendeklarasikan path atau letak dari folder yang akan di share.
  • writable: Untuk mengizinkan write atau penulisan.
  • guest ok = yes: Untuk mengizinkan guest akses ke folder.
  • guest only = yes: Untuk mengizinkan semua guest akses ke folder.
  • force create mode: Untuk mengubah permission file menjadi 777 pada file yang dibuat di folder sharing.
  • force directory mode: Untuk mengubah permission folder menjad 777 pada folder yang dibuat didalam folder sharing.

4. Membuat sebuah file tes untuk pengujian nantinya.

#touch /sharing/tes.txt

5. Setelah melakukan semua konfigurasi, restart layanan samba agar semua konfigurasi dapat berjalan.

#systemctl restart smbd

Step 3 – Pengujian

  1. Pertama kita akan melakukan pengujian pada klien linux CLI. Masuk ke klien linux CLI dan install package samba client dan cifs.
#apt -y install smbclient cifs-utils

2. Lakukan pengujian dengan perintah smbclient. Kemudian cek isi folder sharingnya. Jika berhasil akan menampilkan file tes.txt yang telah dibuat tadi.

#smbclient '\\<ip atau domain samba>\<folder sharing>'

//contoh
#smbclient '\.23.2.119\sharing'
>ls

4. Selanjutnya kita akan mencoba pengujian melakukan mounting.

//disini karena kita menggunakan guest sebagai uji coba jadi untuk username dan passowrd di isi none
#mount -t cifs -o vers=3,username=none,password=none '\\<ip atau domain samba>\<folder sharing>' /mnt

#mount -t cifs -o vers=3,username=none,password=none '\.23.2.119\sharing' /mnt

Setelah mounting berhasil lihat hasil mounting dengan perintah dibawah.

#df -hT

Dapat dilihat pada gambar folder sharing telah termounting ke folder /mnt client.

5. Terakhir kita akan uji coba pada klien windows. Pada klien windows ini cukup mudah, klik windows + r dan ketikkan alamat IP atau Domain samba.

6. Jika berhasil file explorer kalian akan langsung kebuka dan menampilkan isi dari folder sharing.

Limited Shared Folder

Step 1 – Konfigurasi

  1. Membuat group dengan nama limitgroup, nantinya hanya user yang bergabung dengan roup inilah yang dapat mengakses ke folder shared.
#groupadd limitgroup

2. Membuat folder untuk dijadikan limited shared folder. Mengubah akses group pada folder limited ke limitgroup agar user yang bergabung ke group yang dapat mengakses folder. Kemudian ubah permission menjadi 770, supaya hanya owner dan group yang dapat full akses, sedangkan user lain tidak dapat akses.

#mkdir /limited 
// Membuat akses group ke folder limited
#chgrp limitgroup /limited 
// Mengubah permission pada folder menjadi 770 (owner full access, group full access, other no access) 
#chmod 770 /limited

3. Lakukan perubahan pada file konfigurasi smb.conf.

#vim /etc/samba/smb.conf

4. Ikuti intruksi dibawah untuk melakukan perubahan pada file smb.conf.

// line 25
unix charset = UTF-8

// line 40: uncomment and tambahkan network yang dapat akses samba
interfaces = 127.0.0.0/8 10.23.0.0/22

// line 101: comment dan tambahkan perintah dibawah
#map to guest = bad user
security = user

// tambahkan perintah dibawah pada baris terakhir
[Limited]
path = /limited
writable = yes
guest ok = no
valid users = @limitgroup
force group = limitgroup
force create mode = 770
force directory mode = 770
inherit permissions = yes 

Berikut ini penjelasan beberapa perintah pada baris terakhir:

  • path: Untuk mendeklarasikan path atau letak dari folder yang akan di share.
  • writeable: Mengizinkan untuk menulis atau write.
  • guest ok = no: Untuk melarang guest tidak dapat mengakses ke folder.
  • valid users: Menentukan user yang valid untuk akses ke folder, karena disini menggunakan perintah tambahan @ maka yang dapat akses adalah group yang ditentukan.
  • force group: Mengubah group menjadi limitgroup pada file atau folder yang dibuat pada folder limited.
  • force create mode: Untuk mengubah permission file menjadi 777 pada file yang dibuat di folder limited.
  • force directory mode: Untuk mengubah permission folder menjad 777 pada folder yang dibuat didalam folder limited.
  • inherit permissions: Untuk meneruskan permission dari folder utama.

5. Membuat user baru untuk uji coba samba. Disini user baru yang dibuat menggunakan nama tester. Kemudian mengubah password untuk samba dari user tester.

#adduser tester
#smbpasswd -a tester
New SMB password: //masukkan password samba untuk user tester
Retype new SMB password: //masukkan lagi passwordnya
Added user tester.

6. Mengubah group dari user tester yang telah dibuat ke group yang mendapatkan akses ke samba (disini berarti diubah ke group limitgroup).

#usermod -aG limitgroup tester

7. Membuat sebuah file tes dengan nama testing.txt.

#touch /limited/testing.txt

8. Setelah semua konfigurasi dibuat, restart layanan samba agar konfigurasi berjalan.

#systemctl restart smbd

Step 2 – Pengujian

  1. Seperti pada pengujian sebelumnya kita akan melakukan ujji coba terlebih dahulu pada klien linux CLI menggunakan perintah smbclient dan mount. Pertama kita akan mencoba terhubung ke samba server melalui perintah smbclient. Lihat juga isi dari folder sharingnya, jika berhasil akan menampilkan file testing yang telah dibuat.
#smbclient '\\<ip atau domain samba>\<folder sharing>' -U <user>

//contoh
#smbclient '\.23.2.119\limited' -U tester
Password for [WORKGROUP\tester]: //masukkan password user tester
Try "help" to get a list of possible commands.
>ls

2. Selanjutnya kita akan uji coba dengan menggunakan perintah mount.

//disini karena kita menggunakan guest sebagai uji coba jadi untuk username dan passowrd di isi none
#mount -t cifs -o vers=3,username=<nama user> '\\<ip atau domain samba>\<folder sharing>' /mnt

#mount -t cifs -o vers=3,username=tester '\.23.2.119\limited' /mnt 
Password for tester@\.23.2.119\limited: //masukkan password user tester

Setelah mounting berhasil lihat hasil mounting dengan perintah dibawah.

#df -hT

Dapat dilihat pada gambar mounting dari server samba telah berhasil.

3. Terakhir kita akn uji coba dari klien windows, diwindows cukup klik win + r dan isi dengan alamat IP atau Domain dari server samba.

4. Setelah itu akan diminta untuk mengisi credentials berupa user dan password untuk login ke samba servernya.

5. Setelah berhasil kalian dapat melihat file testing yang tadinya telah dibuat.

Kesimpulan

File Server merupakan server yang bertugas untuk melakukan pengelolaan file sharing. Samba merupakan perangkat lunak yang digunakan sebagai file server di sistem operasi linux. Samba bertugas melayani permintaan pertukaran data antara server dan klien. Sekian dari artikel saya semoga dapat membantu kalian~.

Tertarik mengikuti training di ID-Networkers? Kami menyediakan berbagai pilihan training yang bisa kamu ikuti, klik disini untuk info lengkapnya.

Penulis : M. Syawal Saputra