Apa itu Samba ?
Samba adalah sebuah program open source sebagai file sharing dan print service. Samba Server dikembangkan di sistem Operasi Linux oleh Andrew Tridgell untuk melayani pertukaran data antara Microsoft Windows dan Linux.
Instalasi
Pastikan login menggunakan root, dan akses ke server melalui SSH client
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | [root@iaasweb ~]# yum -y update [root@iaasweb ~]# yum -y install samba samba-client samba-common [root@iaasweb ~]# firewall-cmd --permanent --zone=public --add-service=samba success [root@iaasweb ~]# firewall-cmd --reload success [root@iaasweb ~]# systemctl start smb && systemctl enable smb [root@iaasweb ~]# systemctl status smb ● smb.service - Samba SMB Daemon Loaded: loaded (/usr/lib/systemd/system/smb.service; enabled; vendor preset: disabled) Active: active (running) since Wed 2022-11-23 11:09:21 WIB; 30s ago Docs: man:smbd(8) man:samba(7) man:smb.conf(5) Main PID: 4270 (smbd) Status: "smbd: ready to serve connections..." CGroup: /system.slice/smb.service ├─4270 /usr/sbin/smbd --foreground --no-process-group ├─4272 /usr/sbin/smbd --foreground --no-process-group ├─4273 /usr/sbin/smbd --foreground --no-process-group └─4274 /usr/sbin/smbd --foreground --no-process-group Nov 23 11:09:21 iaasweb.iaas.web.id systemd[1]: Starting Samba SMB Daemon... Nov 23 11:09:21 iaasweb.iaas.web.id smbd[4270]: [2022/11/23 11:09:21.626244, 0] ../../lib/util/become_daemon.c:136(...eady) Nov 23 11:09:21 iaasweb.iaas.web.id systemd[1]: Started Samba SMB Daemon. Nov 23 11:09:21 iaasweb.iaas.web.id smbd[4270]: daemon_ready: daemon 'smbd' finished starting up and ready to serv...tions Hint: Some lines were ellipsized, use -l to show in full. |
Konfigurasi Samba
Konfigurasi berikutnya adalah menentukan:
- User
- Group
- Directory
Saya akan membuat dua group yaitu; public dan staff sebagai berikut:
- STAFF: diakses secara eksplisit oleh group staff menggunakan password (full access)
- PUBLIC: diakses secara bebas (read only)
Create user dan group untuk staff
1 2 3 4 5 6 | [root@iaasweb ~]# groupadd staffsmb [root@iaasweb ~]# adduser staff1 [root@iaasweb ~]# usermod -aG staffsmb staff1 [root@iaasweb ~]# mkdir /SHARING_STAFF [root@iaasweb ~]# chown root:staffsmb /SHARING_STAFF [root@iaasweb ~]# smbpasswd -a staff1 |
Create user dan group untuk public
1 2 3 4 5 6 | [root@iaasweb ~]# groupadd publicsmb [root@iaasweb ~]# adduser guest1 [root@iaasweb ~]# usermod -aG publicsmb guest1 [root@iaasweb ~]# mkdir /SHARING_PUBLIC [root@iaasweb ~]# chown root:publicsmb /SHARING_PUBLIC [root@iaasweb ~]# smbpasswd -a guest1 |
Konfigurasi file samba di smb.conf tambahkan script berikut ini di baris terakhir paling bawah
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | [root@iaasweb ~]# nano /etc/samba/smb.conf [SHARING_PUBLIC] path = /SHARING_PUBLIC browseable = yes read list = @publicsmb write list = @staffsmb valid users = @publicsmb, @staffsmb [SHARING_STAFF] path = /SHARING_STAFF browseable = yes writeable = yes valid users = @staffsmb [root@iaasweb ~]# systemctl restart smb |
Ujicoba akses (guest1/public)
Saya akses menggunakan client windows, kemudian ketik \\ip.address pada file explorer
Pada guest1 saya tidak dapat mengakses sharing_staff, jadi user guest1 hanya dapat mengakses sharing_public read only alias tidak bisa menghapus/menambahkan file atau folder tetapi dapat mendownload/copy paste file dari sharing_public
Ujicoba akses (staff1/staff)
Untuk ujicoba ini menggunakan user staff1 dimana role tersebut memiliki full akses read-write untuk sharing_public maupun sharing_staff