Membuat File Sharing Server dengan Samba
Membuat File Sharing Server dengan Samba pada artikel ini menjelaskan cara instalasi dan konfigurasi Samba serta penjelasan tentang Samba.
Intro
Dalam era digital yang terus berkembang pesat, akses dan berbagi file antar perangkat dan pengguna merupakan hal yang lumrah atau menjadi makanan sehari-hari. Salah satu teknologi yang dapat mengakomodir kegiatan berbagi file adalah Samba. Samba sebuah perangkat lunak open-source yang memungkinkan integrasi sistem operasi berbasis Unix/Linux dengan lingkungan jaringan Windows.
File server Samba adalah sebuah komponen dalam infrastruktur TI modern, memfasilitasi pertukaran file dan sumber daya di dalam suatu jaringan. Dengan menggunakan protokol berbasis SMB/CIFS (Server Message Block/Common Internet File System), Samba mampu menyediakan layanan file sharing yang kaya fitur, termasuk akses berbasis peran, otentikasi pengguna, dan enkripsi data. Ini memungkinkan pengguna dari berbagai platform, termasuk Windows, Linux, macOS, dan bahkan perangkat mobile, untuk berbagi dan mengakses file dengan mudah dan aman.
Kegiatan pertukaran file sering terjadi di lingkungan perusahaan. Tidak sedikit file yang dibagikan berisi informasi sensitif sehingga dibutuhkan penyimpanan dan jalur komunikasi di internal perusahaan. Dengan memasang service Samba pada jaringan perusahaan, pekerja dapat berbagi dan bertukar data dengan aman dijaringan internal perusahaan. Selain itu, Samba juga dapat menyesuaikan akses suatu akun atau group terhadap file sharing. Berikut adalah contoh skenario dan kita akan memasang service Samba sesuai dengan skenario tersebut.
Skenario
Sediakan 2 buah File Sharing dengan kondisi sebagai berikut:
A. File Sharing pertama dapat diakses oleh level Officer dan level BOD
B. File Sharing kedua hanya dapat diakses oleh level BOD dan File Sharing tersebut tidak muncul saat diakses dengan root path (browseable = no)
Selanjutnya kita akan Membuat File Sharing Server dengan Samba dengan melakukan instalasi dan setup File Sharing Server menggunakan Samba sesuai skenario diatas.
Install Samba
Install file Samba dengan perintah berikut:
sudo apt update && sudo apt install samba
Konfigurasi File Samba
Sebelum melakukan konfigurasi file Samba, rename file original konfigurasi Samba sebagai arsip karena terdapat dokumentasi penjelasan konfigurasi. Berikut perintahnya:
sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.bak
Kemudian buat file konfigurasi baru dan isikan konfigurasi sesuai dengan skenario.
- Perintah membuat file konfigurasi
sudo nano /etc/samba/smb.conf
- Isi konfigurasi
[global]
workgroup = WORKGROUP
server string = File Server
map to guest = Bad User
log file = /var/log/samba/log.%m
max log size = 1000
logging = file
[BOD File] #nama folder file sharing yang tampil di user
path = /share/bod #lokasi path folder yang digunakan untuk menyimpan file sharing
force group = bod #setiap ada folder atau file yang terbuat maka kepemilikan atas nama group bod
create mask = 0664 #setiap ada file yang terbuat maka hak akses folder tersebut 0664
force create mode = 0664 #setiap ada file yang terbuat maka secara paksa hak akses folder tersebut 0664
directory mask = 0775 #setiap ada folder yang terbuat maka hak akses folder tersebut 0775
force directory mode = 0775 #setiap ada folder yang terbuat maka secara paksa hak akses folder tersebut 0775
writeable = yes #izin yang diberikan untuk melakukan write pada file sharing
browseable = no #visibilitas folder file sharing jika diakses melalui root path
guest ok = no #memungkinkan user akses file sharing tanpa password
valid users = @bod #user atau group mana yang diizinkan untuk mengakses file sharing ini
[OFFICER File]
path = /share/officer
force group = officer
create mask = 0664
force create mode = 0664
directory mask = 0775
force directory mode = 0775
writeable = yes
browseable = yes
guest ok = no
valid users = @officer, @bod
Jika sudah simpan file konfigurasi dengan menekan tombol CTRL+O pada keyboard lalu Enter.
Create Folder
Siapkan folder yang akan digunakan untuk file sharing sesuai dengan konfigurasi yang telah dibuat.
sudo mkdir -p /share/bod
sudo mkdir -p /share/officer
Create Group & User
Siapkan group dan user sesuai dengan konfigurasi yang telah dibuat. Pada file konfigurasi Samba kita menginisiasi 2 buah group yaitu bod dan officer. Buat group tersebut dengan perintah:
sudo groupadd --system bod
sudo groupadd –system officer
Kemudian buat akun di masing-masing group. Sebagai contoh kita buat 1 akun disetiap group. Akun boduser di group BOD dan offuser di group OFFICER.
sudo useradd --system --no-create-home --group bod -s /bin/false boduser
sudo useradd --system --no-create-home --group officer -s /bin/false offuser
Setelah akun terbuat, pasang password untuk akun tersebut sesuai keinginan.
sudo smbpasswd -a boduser
New SMB password:
Retype new SMB password:
sudo smbpasswd -a offuser
New SMB password:
Retype new SMB password:
Change Folder Owner & Hak Akses
Setelah group dan akun sudah dibuat. Ubah kepemilikan (Change Owner) dan hak akses folder yang telah dibuat sebelumnya.
- Berikut perintah ubah Kepemilikan Folder:
sudo chown -R boduser:bod /share/bod/
sudo chown -R offuser:officer /share/officer/
- Berikut perintah ubah Hak Akses Folder:
sudo chmod -R g+w /share/bod/
sudo chmod -R g+w /share/officer/
Restart Service
Restart service Samba dengan perintah berikut:
sudo systemctl restart smbd
Lalu cek status service Samba tersebut.
sudo systemctl status smbd
● smbd.service - Samba SMB Daemon
Loaded: loaded (/lib/systemd/system/smbd.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2024-04-12 17:13:57 UTC; 2min 19s ago
Docs: man:smbd(8)
man:samba(7)
man:smb.conf(5)
Process: 737 ExecStartPre=/usr/share/samba/update-apparmor-samba-profile (code=exited, status=0/SUCCESS)
Main PID: 761 (smbd)
Status: "smbd: ready to serve connections..."
Tasks: 4 (limit: 1013)
Memory: 6.8M
CPU: 192ms
CGroup: /system.slice/smbd.service
├─761 /usr/sbin/smbd --foreground --no-process-group
├─798 /usr/sbin/smbd --foreground --no-process-group
├─799 /usr/sbin/smbd --foreground --no-process-group
└─806 /usr/lib/x86_64-linux-gnu/samba/samba-bgqd --ready-signal-fd=45 --parent-watch-fd=11 --debuglevel=0 -F
Apr 12 17:13:56 user systemd[1]: Starting Samba SMB Daemon...
Apr 12 17:13:57 user systemd[1]: Started Samba SMB Daemon.
Jika terpantau active maka service telah berjalan.
Note:
Pastikan rule firewall Server Anda telah memberikan akses (Allow) port Samba 445 dan 139.
Uji Akses
Dari instalasi samba sampai dengan penyesuaian hak akses folder telah kita lakukan, selanjutnya kita masuk ke pengujian akses service file sharing sesuai dengan skenario.
Ketentuan A
Buka file manager lalu pada bagian (1)URL path isikan dengan URL File Server Anda. Pada contoh ini URL File Server adalah smb://192.168.0.33/. Kemudian akan tampil folder File Sharing (2)OFFICER File dan untuk BOD File tidak tampil.
Selanjutnya kita coba login dengan akun Officer yang telah dibuat sebelumnya.
Jika login berhasil maka isi dari folder File Sharing OFFICER File akan tampil. Setelah login isi folder tersebut kosong, lalu kita coba create folder dan file untuk mengecek fungsionalitas hak akses.
Anda juga dapat mencoba login ke OFFICER File dengan akun BOD. Karena pada ketentuan A ini akun BOD dapat mengakses ke OFFICER File juga.
Ketentuan B
Diketentuan B dimana File Sharing BOD tidak tampil jika hanya mengakases root path File Server, sehingga kita perlu menambahkan spesifik path pada URL.
Isikan URL File Server serta spesifik path File Sharing BOD. Pada contoh ini URL File Server adalah smb://192.168.0.33/ dan spesifik path sesuai dengan konfigurasi Samba yaitu BOD File, sehingga URL-nya menjadi (1)smb://192.168.0.33/bod file. Selanjutnya kita coba login dengan (2)akun BOD yang telah dibuat sebelumnya.
Jika login berhasil maka isi dari folder File Sharing BOD File akan tampil. Setelah login isi folder tersebut kosong, lalu kita coba create folder dan file untuk mengecek fungsionalitas hak akses.
Anda juga dapat melakukan pengujian login ke BOD File dengan akun Officer. Hasilnya adalah akun Officer tersebut tidak dapat mengakses BOD File, karena pada ketentuan B ini hanya akun BOD yang dapat login ke BOD File.
Konklusi
Dengan demikian, pembahasan tentang cara instalasi dan konfigurasi Samba sebagai server file sharing memberikan pemahaman yang mendalam tentang bagaimana mengoptimalkan pertukaran data dalam lingkungan jaringan perusahaan. Dengan mengintegrasikan Samba, perusahaan dapat memastikan keamanan dan aksesibilitas file yang diperlukan oleh berbagai level pengguna. Melalui langkah-langkah yang telah dijelaskan, Samba menjadi salah satu solusi dalam mengelola dan menyediakan sumber daya file yang dibutuhkan oleh perusahaan.