Instalasi Samba File Server di Centos 7/RHEL 7/Debian 8/Ubuntu 14.04 LTS

Dapatkan update terbaru Linuxku.com di kanal Telegram https://telegram.me/linuxkudotcom.

Samba merupakan aplikasi yang sering digunakan untuk dapat membuat layanan file sharing di Linux. Salah satu keunggulan Samba yaitu dapat memberikan layanannya tidak hanya untuk Linux, melainkan juga bisa untuk Sistem Operasi lain seperti Windows dan MacOS. Artikel ini akan membahas mengenai instalasi Samba File Server di distro berbasis RHEL dan Debian.

Lihat juga seri artikel instalasi layanan server lainnya

Instalasi Webserver Apache, PHP, MariaDB/Mysql, Phpmyadmin di Centos 7/RHEL 7/Debian 8/Ubuntu 14.04 LTS

Persiapan

Peringatan! Lakukan semua langkah-langkah di artikel ini dengan user root.

Disini saya akan membuat satu folder sharing yang berada di direktori /data-share. Nantinya, hanya user-user yang merupakan anggota dari grup sharing sajalah yang bisa mengakses folder tersebut.

Pertama buat terlebih dahulu grup sharing :

Debian-based & RHEL-based

 # groupadd sharing  

Buat 2 user yang akan kita gunakan untuk test. 1 orang bernama jono, nanti akan kita masukkan ke grup sharing, dan 1 lagi yang bernama joni, tidak akan kita masukkan.

Debian-based

 # adduser jono  
 # adduser joni  
 # usermod -aG sharing jono  

RHEL-based

 # adduser jono  
 # passwd jono  
 # adduser joni  
 # passwd joni  
 # usermod -aG sharing jono  

Penjelasan :
Perintah adduser akan membuat user baru. Sedangkan perintah passwd adalah perintah untuk memberikan password pada user yang bersangkutan. Dan perintah usermod -aG adalah perintah untuk memasukkan suatu user kedalam suatu grup.

Selanjutnya kita akan buat direktori /data-share sebagai tempat sharing, sekaligus memberikan hak akses dan permission yang tepat untuk direktori tersebut. Saya akan membuat semua file & folder yang dibuat di dalam /data-share akan selalu memiliki hak akses dan kepemilikan yang sama. Silahkan baca salah satu artikel saya yang membahas mengenai Cara memaksa file/folder selalu memiliki hak akses dan kepemilikan yang sama.

Debian-based & RHEL-based

 # mkdir /data-share  
 # chown root.sharing /data-share  
 # chmod 2775 /data-share  

Penjelasan :
Perintah mkdir akan membuat direktori baru. Perintah chown adalah perintah untuk mengganti kepemilikan dari suatu file/direktori. Dan perintah chmod adalah perintah untuk mengganti hak akses/permission dari sebuah file/folder.

Sampai sini persiapan sudah selesai.

Instalasi Samba

Selanjutnya kita langsung install saja samba.

Debian-based

 # apt-get install samba samba-client  

RHEL-based

 # yum install samba samba-client  

Jalankan layanan samba setiap komputer menyala :

 # systemctl enable smb.service  
 # systemctl enable nmb.service  

Aktifkan dan perbolehkan layanan samba dan samba-client secara permanen pada firewalld. Ini agar layanan samba tidak terblokir.

 # firewall-cmd --permanent --add-service=samba  
 # firewall-cmd --permanent --add-service=samba-client  
 # systemctl restart firewalld.service  

Konfigurasi Samba

File konfigurasi Samba berada di /etc/samba/smb.conf. Edit file tersebut dengan perintah ini :

Debian-based & RHEL-based

 # vim /etc/samba/smb.conf  

Pada baris paling bawah file tersebut, tambahkan script berikut :

 [Data Share]  
 path = /data-share  
 browseable = yes  
 writeable = yes  
 create mask = 2775  
 force create mode = 2775  
 directory mask = 2775  
 force create mode = 2775  
 valid users = @sharing  

Simpan dan tutup file tersebut.

Selanjutnya kita perlu membuat password samba untuk mengakses file share kita. Password ini boleh disamakan maupun dibedakan dengan password login ke server.

Debian-based & RHEL-based

 # smbpasswd -a jono  
 # smbpasswd -a joni  

Setelah itu untuk ditro berbasis Debian, tinggal langsung selesaikan konfigurasi dengan merestart layanan smbd dan nmbd.

Debian-based

 # service smbd restart  
 # service nmbd restart  

Khusus untuk ditro berbasis RHEL, masih ada sedikit konfigurasi yang harus dilakukan terkait dengan SELinux. SELinux adalah semacam layanan keamanan yang dapat membatasi akses-akses tertentu dari sebuah proses (bisa aplikasi, file, folder, protokol jaringan, dll). Kalian bisa membaca lagi lebih lengkap mengenai SELinux ini di artikel lain. Intinya, disini secara default SELinux masih memblokir akses layanan Samba menuju folder /data-share yang sudah kita buat. Sehingga kita harus memberitahu kepada SELinux agar folder /data-share tersebut aman untuk diakses oleh layanan Samba.

Khusus untuk direktori selain /home, maka kita perlu mengatur tipe label samba_share_t pada folder yang bersangkutan. Caranya dengan mengetikkan perintah berikut :

 # chcon -t samba_share_t /data-share  

Bisa dicek dengan perintah berikut :

 # ls -Z / | grep data-share  
 drwxrwsr-x. root sharing unconfined_u:object_r:samba_share_t:s0 data-share  

Pastikan yang saya warnai merah sudah menjadi samba_share_t.

Sedangkan jika kita membuat folder sharingnya di dalam folder /home, maka cukup mengaktifkan boolean samba_enable_home_dirs dan samba_export_all_rw dengan perintah berikut :

 # setsebool -P samba_enable_home_dirs on
 # setsebool -P samba_export_all_rw on  

Sekali lagi, jika kalian ingin mengetahui tentang SELinux lebih dalam, kalian bisa membaca artikel lain yang khusus membahas SELinux.

Atau jika kalian tidak mau dipusingkan dengan masalah SELinux ini, kalian bisa langsung saja mematikan layanan SELinux. Untuk caranya bisa kalian lihat di artikel saya : Cara mendisable SELinux di Fedora 17

Terkahir, restart layanan samba dengan perintah berikut :

RHEL-based

 # systemctl restart smb.service  
 # systemctl restart nmb.service  

Pengetesan

Untuk mengetes, langsung saja akses IP Server dengan cara berikut :

Windows

Buka aplikasi Run (Windows + R), lalu ketikkan : ipserver Contoh : 192.168.88.100

Linux

Buka File Manager masing-masing, tekan CTRL + L, lalu pada Address Bar yang tersedia ketikkan : smb://ipserver Contoh : smb://192.168.88.100

Cobalah untuk mengetes masuk menggunakan user joni yang bukan merupakan anggota grup sharing. Seharusnya tidak akan bisa login. Tapi jika kalian login menggunakan user jono, maka akan bisa login.

Cobalah untuk membuat folder atau file baru, seharusnya pasti bisa.

Lihat juga bahwa folder dan file baru yang terbuat pasti masih menggunakan hak akses dan kepemilikan yang sama.

Debian-based & RHEL-based

 # ls -l /data-share/  
 drwxrwsr-x. 2 jono sharing 4096 Jun 29 22:37 New Folder  
 -rwxrwsr-x. 1 jono sharing  2 Jun 29 22:37 Text File  

Semoga bermanfaat 🙂

SUMBER

Yakin Ngga Mau Diskusi ?

Yuk diskusi cerdas. Gunakan nama asli agar komentar Anda disetujui.