Samba adalah perangkat lunak sumber terbuka dan gratis yang dapat digunakan untuk berbagi file, folder, dan printer antara sistem Linux dan Windows. Ini juga digunakan untuk Otentikasi dan Otorisasi, resolusi Nama dan pengumuman Layanan. Itu dapat dijalankan pada sistem operasi yang berbeda termasuk, Linux, Unix, OpenVMS dan banyak lagi.
Dalam tutorial ini, kita akan mempelajari cara menginstal Samba dan mengkonfigurasinya sebagai server berbagi mandiri di CentOS 8.
Prasyarat
- Server yang menjalankan CentOS 8.
- Kata sandi root dikonfigurasi di server Anda.
Instal Server Samba
Secara default, paket Samba tersedia di repositori default CentOS. Anda dapat menginstalnya dengan perintah berikut:
dnf install samba samba-common samba-client -y
Setelah menginstal Samba, mulai layanan SMB dan aktifkan untuk memulai setelah sistem reboot dengan perintah berikut:
systemctl start smb
systemctl enable smb
Anda sekarang dapat memverifikasi layanan Samba dengan perintah berikut:
systemctl status smb
Anda akan mendapatkan output berikut:
? smb.service - Samba SMB Daemon Loaded: loaded (/usr/lib/systemd/system/smb.service; disabled; vendor preset: disabled) Active: active (running) since Mon 2020-03-02 23:03:30 EST; 8s ago Docs: man:smbd(8) man:samba(7) man:smb.conf(5) Main PID: 2072 (smbd) Status: "smbd: ready to serve connections..." Tasks: 4 (limit: 25028) Memory: 33.8M CGroup: /system.slice/smb.service ??2072 /usr/sbin/smbd --foreground --no-process-group ??2074 /usr/sbin/smbd --foreground --no-process-group ??2075 /usr/sbin/smbd --foreground --no-process-group ??2076 /usr/sbin/smbd --foreground --no-process-group
Buat Berbagi Publik dengan Samba
Di bagian ini, kami akan membuat share publik dengan Samba sehingga semua orang dapat mengakses direktori share publik tanpa kata sandi.
Buat Direktori Berbagi Publik
Pertama, buat folder bersama bernama publik dan buat juga dua file di dalam direktori publik:
mkdir -p /samba/share/public
touch /samba/share/public/file1.txt
touch /samba/share/public/file2.txt
Selanjutnya, tetapkan izin dan kepemilikan yang diperlukan dengan perintah berikut:
chmod -R 0755 /samba/share/
chmod -R 0755 /samba/share/public
chown -R nobody:nobody /samba/share
chown -R nobody:nobody /samba/share/public
Konfigurasi Samba
Selanjutnya, Anda perlu mengonfigurasi Samba untuk membagikan direktori publik.
Pertama, buat salinan cadangan file /etc/samba/smb.conf dengan perintah berikut:
mv /etc/samba/smb.conf /etc/samba/smb.bak
Selanjutnya, buat file konfigurasi Samba baru:
nano /etc/samba/smb.conf
Tambahkan baris berikut:
[global] workgroup = WORKGROUP server string = Samba Server %v netbios name = samba-server security = user map to guest = bad user dns proxy = no [Public] path = /samba/share/public browsable =yes writable = yes guest ok = yes read only = no
Simpan dan tutup file. Kemudian, restart layanan Samba untuk menerapkan perubahan:
systemctl restart smb
Selanjutnya, uji konfigurasi Samba dengan perintah berikut:
testparm
Anda akan melihat output berikut:
Load smb config files from /etc/samba/smb.conf Loaded services file OK. Server role: ROLE_STANDALONE Press enter to see a dump of your service definitions # Global parameters [global] dns proxy = No map to guest = Bad User netbios name = SAMBA-SERVER security = USER server string = Samba Server %v idmap config * : backend = tdb [Public] guest ok = Yes path = /samba/share/public read only = No
Konfigurasi SELinux dan Firewall
Selanjutnya, atur nilai boolean dan konteks keamanan SELinux yang tepat pada direktori berbagi dengan perintah berikut:
setsebool -P samba_export_all_ro=1 samba_export_all_rw=1
semanage fcontext -a -t samba_share_t "/samba/share/public(/.*)?"restorecon /samba/share/public
Selanjutnya, semua layanan Samba melalui firewalld dengan perintah berikut:
firewall-cmd --add-service=samba --zone=public --permanent
firewall-cmd --reload
Akses Berbagi Samba dari Ubuntu Gnome
Untuk mengakses berbagi Samba, buka mesin jarak jauh, buka pengelola file Gnome dan klik tombol Hubungkan ke Server seperti yang ditunjukkan di bawah ini:
Berikan alamat IP server Samba Anda dan klik Hubungkan tombol. Setelah koneksi berhasil, Anda akan melihat share Samba di layar berikut:
Sekarang, klik Publik direktori, Anda akan melihat file Anda di layar berikut:
Akses Berbagi Samba dari Baris Perintah Ubuntu
Anda juga dapat mengakses berbagi Samba dari baris perintah.
Pertama, daftar semua share Samba yang tersedia dengan perintah berikut:
smbclient -L //45.58.38.51
Anda akan melihat output berikut:
Domain=[WORKGROUP] OS=[Windows 6.1] Server=[Samba 4.10.4] Sharename Type Comment --------- ---- ------- Public Disk IPC$ IPC IPC Service (Samba Server 4.10.4) Domain=[WORKGROUP] OS=[Windows 6.1] Server=[Samba 4.10.4] Server Comment --------- ------- Workgroup Master --------- -------
Anda juga dapat me-mount share Samba menggunakan protokol cifs. Untuk melakukannya, instal paket cifs-utils dengan perintah berikut:
apt-get install cifs-utils -y
Selanjutnya, mount share Samba ke direktori /mnt dengan perintah berikut:
mount -t cifs //45.58.38.51/public /mnt/
Anda akan diminta untuk memberikan kata sandi seperti yang ditunjukkan di bawah ini:
Password for [email protected]//45.58.38.51/public:
Cukup tekan tombol Enter tanpa memasukkan kata sandi apa pun untuk memasang share Samba:
Sekarang Anda dapat mengakses share Samba di direktori /mnt:
ls /mnt/
Anda akan melihat output berikut:
file1.txt file2.txt
Buat Berbagi Pribadi dengan Samba
Di bagian ini kita akan membuat private share dengan Samba sehingga hanya pengguna yang mengautentikasi yang dapat mengakses direktori private share.
Buat Pengguna dan Grup
Pertama, buat grup bernama private dengan perintah berikut:
groupadd private
Selanjutnya, buat pengguna baru bernama privateuser dan tambahkan ke grup pribadi:
useradd -g private privateuser
Selanjutnya, atur kata sandi untuk pengguna dengan perintah berikut:
smbpasswd -a privateuser
Keluaran:
New SMB password: Retype new SMB password: Added user privateuser.
Buat Direktori Berbagi Pribadi
Selanjutnya, buat folder bersama bernama pribadi dan juga buat dua file di dalam direktori pribadi:
mkdir -p /samba/share/private
touch /samba/share/private/private1.txt
touch /samba/share/private/private2.txt
Selanjutnya, tetapkan izin dan kepemilikan yang tepat dengan perintah berikut:
chmod -R 0770 /samba/share/private
chown -R root:private /samba/share/private
Selanjutnya, konfigurasikan konteks SELinux untuk direktori pribadi dengan perintah berikut:
semanage fcontext –at samba_share_t "/samba/share/private(/.*)?"
restorecon /samba/share/private
Konfigurasi Samba
Selanjutnya, buka file konfigurasi Samba dan tentukan private share:
nano /etc/samba/smb.conf
Tambahkan baris berikut di akhir file:
[Private] path = /samba/share/private valid users = @private guest ok = no writable = yes browsable = yes
Simpan dan tutup file kemudian restart layanan Samba untuk menerapkan perubahan:
systemctl restart smb
Selanjutnya, periksa konfigurasi Samba dengan perintah berikut:
testparm
Anda akan melihat output berikut:
Load smb config files from /etc/samba/smb.conf Loaded services file OK. Server role: ROLE_STANDALONE Press enter to see a dump of your service definitions # Global parameters [global] dns proxy = No map to guest = Bad User netbios name = SAMBA-SERVER security = USER server string = Samba Server %v idmap config * : backend = tdb [Public] guest ok = Yes path = /samba/share/public read only = No [Private] path = /samba/share/private read only = No valid users = @private
Akses Samba Share dari Ubuntu Command-line
Pertama, akses share yang tersedia dengan perintah berikut:
smbclient -L //45.58.38.51
Anda akan melihat output berikut:
Domain=[WORKGROUP] OS=[Windows 6.1] Server=[Samba 4.10.4] Sharename Type Comment --------- ---- ------- Public Disk Private Disk IPC$ IPC IPC Service (Samba Server 4.10.4) Domain=[WORKGROUP] OS=[Windows 6.1] Server=[Samba 4.10.4] Server Comment --------- ------- Workgroup Master --------- -------
Selanjutnya, sambungkan ke server Samba dan daftarkan share yang tersedia dengan perintah berikut:
smbclient //45.58.38.51/private -U privateuser
Anda akan diminta untuk memberikan kata sandi seperti yang ditunjukkan di bawah ini:
Enter privateuser's password:
Ketik kata sandi Anda dan tekan Enter untuk mengakses Samba shell seperti yang ditunjukkan di bawah ini:
Domain=[WORKGROUP] OS=[Windows 6.1] Server=[Samba 4.10.4] smb: \>
Sekarang, buat daftar share yang tersedia dengan perintah berikut:
smb: \> ls
Anda akan melihat output berikut:
. D 0 Tue Mar 3 10:03:22 2020 .. D 0 Tue Mar 3 10:01:56 2020 private1.txt N 0 Tue Mar 3 10:03:17 2020 private2.txt N 0 Tue Mar 3 10:03:22 2020 51194 blocks of size 2097152. 49358 blocks available
Sekarang, keluar dari shell Samba dengan perintah berikut:
smb: \>exit
Anda juga dapat memasang share Samba di direktori /opt:
mount -t cifs -o user=privateuser //45.58.38.51/private /opt
Anda akan diminta untuk memberikan kata sandi seperti yang ditunjukkan di bawah ini:
Password for [email protected]//45.58.38.51/private: *********
Berikan kata sandi Anda dan tekan Enter untuk memasang share Samba.
Anda sekarang dapat memeriksa share Samba Anda di direktori /opt seperti yang ditunjukkan di bawah ini:
ls /opt/
Keluaran:
private1.txt private2.txt
Akses Berbagi Samba dari Ubuntu Gnome
Untuk mengakses berbagi Samba, buka mesin jarak jauh, buka pengelola file Gnome dan klik tombol Hubungkan ke Server seperti yang ditunjukkan di bawah ini:
Berikan alamat IP server Samba Anda dan klik Hubungkan tombol. Setelah koneksi berhasil, Anda akan melihat share Samba di layar berikut:
Sekarang, klik tombol Pribadi direktori, berikan nama pengguna dan kata sandi Anda, lalu klik tombol Connect. Anda akan melihat file Anda di layar berikut:
Selamat! Anda telah berhasil menginstal dan mengkonfigurasi server Samba di CentOS 8.