[CentOS 7] [7.2] Konfigurasi Samba

Konfigurasi Samba Menggunakan CentOS 7


Sebelum memulai Konfigurasi, ada baiknya kita mengetahui dulu Apa itu Samba. Samba adalah suatu program yang bersifat Open Source yang menyediakan layanan berbagi file (File Sharing) di dalam suatu jaringan/network, ya semacem kaya Ftp, Nfs gitu deh modelnya :D



Topology :


Server : CentOS 7
Client 1 : Windows 7
Client 2 : Ubuntu 16.04 LTS 

Oke, Sekarang mari kita mulai Konfigurasi...

Anonymous Mode


Konfigurasi Server

1) Pertama, Install seluruh Packet Samba ke dalam Server kalian
yum install samba* -y 

2) Pastikan terinstall dengan baik


3) Buat folder yang akan di gunakan untuk share ke client
mkdir -p /"namafolder"
Contoh :
mkdir -p /share 

4) Beri Permission/Perizinan agar folder tersebut dapat ditulis
chmod -R 0755 /share
chown -R nobody:nobody /share
Note : Sesuaikan nama Foldernya


5) Kemudian, pindahkan settingan default smb.conf menjadi smb.conf.backup.
cd /etc/samba/
mv smb.conf smb.conf.backup 

6) Setelah itu lakukan konfigurasi pada file smb.conf di folder /etc/samba/
nano /etc/samba/smb.conf
Atau jika kalian sudah berada di folder /etc/samba/, bisa juga dengan langsung mengetikan nama filenya.
nano smb.conf 


7) Kemudian, masukan script seperti gambar dibawah ini


Penjelasan :

  • [global] menandakan bahwa pada parameter ini berlaku secara keseluruhan (global), bisa di bilang ini merupakan konfigurasi umum untuk keseluruhan, baik server maupun client pada suatu Samba tertentu, dan hanya terdapat satu konfigurasi saja dalam samba tersebut.
  • workgroup ini merupakan penjelasan dari apa yang akan di tampilkan oleh server ketika client menanyakan workgroup ataupun domain.
  • server string ini hanya berupa penjelasan tentang server samba kita
  • netbios name, selain menggunakan IP server, kita juga bisa mengatur nama netbios yang berfungsi untuk mengakses file samba tersebut nantinya.
  • security merupakan jenis keamanan yang akan kita gunakan pada samba tersebut
  • map to guest berfungsi untuk menindak lanjuti apabila seseorang salah memasukkan password user, dan bad user berguna agar apabila seseorang salah memasukkan password suatu user maka akan ditolak untuk login, dan apabila nama usernya tidak ada dalam samba server, maka ia akan masuk sebagai anonymous
  • [Anonymous] ini merupakan nama dari Drive yang akan di share nantinya, untuk namanya sih kalian bisa ubah sesuka hati kalian saja :)
  • path berfungsi untuk mendefinisikan directory mana yang akan di share
  • browsable berfungsi untuk mendefinisikan apakah folder yang akan di share tersebut boleh di jelajahi/ditelusuri atau tidak
  • writable berfungsi untuk mendefinisikan apakah folder tersebut boleh di write (tulis) atau tidak
  • guest ok adalah Option yang berguna untuk memberi akses kepada guest user apakah boleh atau tidak dalam mengakses share directory
  • read only, untuk kalian yang bbm nya sering di read doang sama gebetean, harusnya ngerti lah ya fungsi syntak ini :v, jadi syntak ini tuh berfungsi untuk mendefinisikan, mengatur apakah share directory tersebut bisanya di baca saja, atau bisa di tulis juga.

8) Selanjutnya, Jalankan smb dan nmb dan juga jangan lupa untuk enable keduanya agar dapat berjalan otomatis ketika di restart
systemctl start smb
systemctl start nmb
systemctl enable smb
systemctl enable nmb 

9) Lakukan pengecekan hasil konfigurasi dengan perintah
testparm | more

10) Setelah itu, aktifkan firewall  agar client bisa mengakses samba


11) Firewall di CentOS mempunyai keamanan yang berlapis, jadi kita juga harus allow samba pada SELinux dengan cara
chcon -t samba_share_t /share/

Verifikasi Client 1

1) Disini Client 1 saya menggunakan Sistem Operasi Windows 7. Pertama, Coba buka cmd, terus pang ping pung aja dulu :v, dan pastiin di bales (reply) yaa..
ping "ip server samba"

2) Kemudian, buka Run dengan cara menekan tombol WIN+R secara bersamaan. jika sudah ketikan nama netbios  yang sudah di konfigurasi tadi, ketiknya di kolom open ya..


3)  Dan berhasil masuk ke dalam Server Samba.


Sharing File Antar Server dengan Client


Konfigurasi Client 1

1) Untuk pengetesan, Sekarang Coba buat folder atau text dengan nama apa saja terserah kalian


Verifikasi Server

1) Coba cek, apakah folder yang sudah di buat oleh client terdapat pada server atau tidak
ls /share/

Konfigurasi Server

1) Gantian, Sekarang coba buat file di server
touch "nama file"

Verifikasi Client 1

1) Lakukan pengecekan, apakah file yang di buat oleh Server, akan terdapat pada Client atau tidak


Konfigurasi Client Menjadi Read Only (Tidak Bisa Menulis)


Konfigurasi Server

1) Pertama, Edit file smb.conf yang berada di folder /etc/samba/
nano /etc/samba/samba.conf

2) Cari Script read only = no yang sudah kita konfigurasi tadi, jika sudah ketemu, ubah no menjadi yes, sebagai contoh lihat gambar dibawah ini


3) Restart smb agar konfigurasi berjalan dengan baik
systemctl restart smb

Verifikasi Client 1

1) Buka Server samba dengan cara yang sudah saya jelaskan tadi, kemudian coba buat file jenis apapun ke Samba tersebut, maka Outputnya akan seperti gambar dibawah ini, dikarenakan Client hanya di bolehkan untuk membaca file-file yang ada, dan tidak bisa menambah, mengurangi, ataupun meodifikasi.


Verifikasi Client 2

1) Buka file explorer pada Client Ubuntu kalian, jika sudah klik pada drive Connect to Server, dan isikan kolom Server Address dengan cara mengetikan
smb://"netbios name"
Contoh :
smb://trihandika  

2) Dan berhasil masuk ke Server Samba


3) Browse Menggunakan User Anonymous, kemudian klik Connect


4) Kemudian Coba buat file jenis apapun ke samba tersebut, maka Outputnya akan seperti gambar dibawah ini, dikarenakan Client hanya di bolehkan untuk membaca file-file yang ada (Read Only), dan tidak bisa menambah, mengurangi, ataupun meodifikasi.




Sebenarnya Postingan ini belum selesai, masih akan berlanjut dengan Menggunakan User Mode pada saat Login ke Server Samba. Namun, karena keterbatasan waktu, saya tutup sampai disini dulu, Jika ada waktu luang,, akan saya lanjut lagi.

User Mode


Oke, Sebelumnya kita sudah coba konfigurasi untuk login Samba menggunakan Mode Anonymous, nah sekarang kita coba untuk konfigurasi menggunakan User Mode yang dimana nantinya hanya User tertentu yang bisa login ke Samba server tersebut

Pada Konfigurasi kali ini, saya membuat 4 user dengan spesifikasi sebagai berikut :

USER                         GROUP                         DIRECTORY
dims                            boyband                          /dims
tri                                boyband                          /tri
handika                       girlband                          /home/handika
mantep                        girlband                          /home/mantep

Konfigurasi Server

1) Pertama, Buat dahulu User yang nantinya akan digunakan untuk Login ke Samba,
Pada Konfigurasi kali ini saya membuat 4 User, yaitu dims, tri, handika, dan mantep.


2) Kemudian, buat Group untuk User tersebut, disini saya membuat 2 group yang nantinya dalam 1 group terdapat 2 user
groupadd "nama group"

3) Masukan user kedalam group yang sudah di buat tersebut, kemudian masukan password terserah kalian saja, diingat ya passwordnya..
usermod -a -G "nama group" "nama user"
passwd -a "nama user" 
Dala contoh ini User dims dan tri saya tempatkan di Group boyband sedangkan User handika dan mantep saya tempatkan di Group girlband




 4) buat directory untuk user yang sudah di buat sebelumnya, kemudian beri hak akses/permission pada directory tersebut untuk user dan group yang telah dibuat
mkdir /dims
chown -R dims:boyband /dims/
chmod -R 755 /dims/ 

5) Karena directory /home/handika/ dan /home/mantep/ sudah terbuat otomatis saat kita membuat user, maka dari itu tidak perlu membuat directory lagi untuk user tersebut, langsung saja atur hak kepemilikan/permission dengan cara yang sudah saya jelaskan pada point no.4


6) Jika sudah, sekarang edit file smb.conf yang terletak di folder /etc/samba/
nano /etc/samba/smb.conf

7) Kemudian isikan dengan script seperti gambar berikut. disini kalian akan menemukan syntak baru yang akan saya jelaskan berikut ini

Penjelasan :
  • path, ini merupakan directory user yang sudah di konfigurasi tadi
  • valid users berguna untuk memberikan akses sebuah user untuk mengakses sebuah directory yang di share. pada option ini, bisa berupa user atau group, jika ingin mengizinkan semua user yang terdaftar dalam suatu group, maka diawali dengan @"nama group"


8) Berikan hak izin/permission untuk client dengan memberikan izin pada SELinux
chcon -t samba_share_t /"nama directory share"

9) Start/Jalankan smb dan nmb dan juga di Enable agar berjalan otomatis ketika di restart
systemctl start smb
systemctl start nmb
systemctl enable smb
systemctl enable nmb

10) Cek apakah Konfigurasi yang kita buat berjalan atau tidak
 testparm | more


Verifikasi Client 1

1) Kemudian, buka Run dengan cara menekan tombol WIN+R secara bersamaan. jika sudah ketikan nama netbios yang sudah di konfigurasi sebelumnya


2) Dan berikut akan terdapat directory-directory share yang sudah kita konfigurasi tadi


3) Coba test login ke directory user 1 kalian, maka kalian akan diminta memasukan user beserta password directory tersebut yang sudah di buat pada server samba tadi.


4) Jika berhasil login, coba lakukan pengetesan membuat file/folder.


Mapping Drive Client Windows


Konfigurasi Client 1

1) Sekarang coba lakukan Mapping Drive pada directory share user 1. apa fungsi mapping drive? jadi Mapping drive berfungsi ketika komputer di restart, maka directory tersebut akan otomatis ter-mount. Untuk caranya, yaitu klik kanan pada Directory tersebut, kemudian klik Map network drive..


2) Akan muncul Jendela seperti gambar dibawah ini, untuk Drive nya bisa kalian pilih sesuka hati kalian saja, jikaa sudah klik Finish


3) kalian tidak akan diminta memasukan password lagi, dikarenakan data login user yang sudah berhasil login tadi masih tersimpan. Nah, berikut penampakan directory yang berhasil kita Mapping drive


4) Coba masuk ke directory tersebut, berhasil atau tidak.


5) Sekarang coba lakukan Mapping drive pada directory share user 3


6) Kemudian, Drivenya bedakan dengan yang tadi ya..


7) Karena berbeda Group, Maka kalian akan diminta untuk Masukan nama user beserta password dari directory share tersebut.


8) Dan berikut Penampakannya


Verifikasi Client 2

1) Pertama, Masuk Ke Server samba dengan cara yang sudah saya jelaskan pada tahap sebelumnya. jika sudah berhasil masuk, seekarang coba login pada directory share user 2 dengan cara mengklik pada directory tersebut, kemudian pilih Registered User, isikan Nama User directory tersebut di kolom Username dan jangan lupa masukan Password. Jika sudah klik Connect


2) Lakukan hal yang sama pada directory share user 4


 3) Berikut penampakannya jika berhasil


Konfigurasi Client 2

1) Coba Buat folder pada directory share user 2 dan user 4 tersebut



Konfigurasi Client 1

1) Buat folder pada directory share user 1 dan 3



 Verifikasi Server

1) Lihat Hasilnya pada server kalian, apakah sama atau tidak seperti yang di client


Mapping Drive Pada Client Linux Ubuntu


Konfigurasi Client 2

1) Mapping Drive di linux terkenal dengan nama Mount Drive. Pertama install seluruh paket samba terlebih dahulu
sudo apt-get install samba -y

2) Kemudian Install paket cifs-utils 
sudo apt-get install cifs-utils

3) Pastikan paket tersebut terinstall dengan baik


 4) Sekarang buat directory yang akan di atur menjadi tempat mounting pada directory share user 3, dalam contoh ini saya membuatnya di dalam folder /home/dimas/ dan saya beri nama /tempatmounting/
mkdir /home/dimas/tempatmounting

5) Kemudian edit file fstab yand terdapat pada directory /etc/
nano /etc/fstab 

6) Tambahkan script berikut pada bagian paling bawah
//"ip server samba"/"directory share" /"mount point"  cifs username="username directory tersebut",password="password dari user tersebut", iocharset=utf8,sec=ntlm 0 0
Contoh :
//192.168.1.111/Tri /home/dimas/tempatmounting cifs username=tri,password=manchunian,iocharset=utf8,sec=ntlm 0 0 

7) Jika sudah, sekarang lakukan mount dengan perintah
sudo mount -a

8) Berikut penampakannya bisa kalian lihat dengan menggunakan file manager yang tersedia.


9) Sekarang buat directory sebagai mount point pada directory share user 4


10) Edit kembali file fstab
nano /etc/fstab

11) Masukan Script yang sama, yang sudah saya jelaskan pada point nomor 6, hanya saja Directory Share, Mount Point, Username beserta passwordnya yang di bedakan/disesuaikan


12) Lakukan Mount kembali
sudo mount -a

13) Dan berikut penampakannya jika berhasil, bisa dilihat menggunakan file manager kalian


Sekian, Semoga Bermanfaat

Comments

Post a Comment