ABDURROZAK
HOME ABOUT ME MICROSITE KONTAK PERSEMBAHAN HELP
ABDURROZAK.MY.ID // DEBIAN LINUX SERVER FUNDAMENTAL

FILE SHARINGSERVER

Volume 14 dari seri Debian Linux Server Fundamental. Panduan komprehensif membangun file server di Debian dengan Samba. Setiap command dan script dijelaskan detail dengan penjelasan per baris. Dari konsep file sharing, Samba Server, shared directory, user authentication, permission, akses dari Windows, akses dari Linux, hingga testing & troubleshooting.

VOLUME14 / 17
SUB-BAB8
BACA90 MENIT
SAMBA100%
ABDUR ROZAK, S.Kom. Web Developer & Network Educator - abdurrozak.my.id
VOLUME 14 / 17

MEMBANGUN FILE SERVER DI DEBIAN

Panduan lengkap File Sharing Server di Debian Linux dengan Samba. 8 sub-bab mencakup konsep file sharing, instalasi Samba Server, shared directory, user authentication, permission, akses dari Windows, akses dari Linux, hingga testing & troubleshooting. Setiap command dan script disertai penjelasan detail per baris.
SUB-BAB8 LEVELFile Sharing WAKTU90 MENIT
01
SUB-BAB 01 KONSEP

KONSEP FILE SHARING

Apa Itu File Sharing?

File sharing adalah proses berbagi file atau direktori antara komputer dalam jaringan. File sharing memungkinkan multiple user untuk mengakses, membaca, menulis, dan berbagi file dari lokasi yang berbeda dalam jaringan.

Protokol File Sharing

PROTOKOLOSPORTUSE CASE
SMB/CIFSWindows, Linux, macOS445 (TCP)File sharing Windows/Linux
NFSLinux, Unix2049 (TCP/UDP)File sharing Linux/Unix
FTPAll OS20-21 (TCP)File transfer
AFPmacOS548 (TCP)File sharing macOS
WebDAVAll OS80, 443 (TCP)Web-based file sharing

Arsitektur File Sharing

1
FILE SHARING ARCHITECTURE

Server: Menyimpan file dan menyediakan akses ke client

Client: Mengakses file dari server

Share: Direktori atau file yang dibagikan

Permission: Hak akses ke share (read, write, execute)

Authentication: Autentikasi user untuk akses share

Security Considerations

AUTHENTICATION
Autentikasi user untuk akses share
ENCRYPTION
Enkripsi data saat transfer
PERMISSION
Hak akses ke share
TIPS: Gunakan SMB3 dengan encryption untuk keamanan maksimal. Gunakan permission yang tepat untuk mengontrol akses ke share. Gunakan authentication untuk mengontrol siapa yang bisa akses.
KOMPETENSI SUB-BAB 01
  • Memahami konsep file sharing
  • Memahami protokol file sharing
  • Memahami arsitektur file sharing
  • Memahami security considerations
02
SUB-BAB 02 INSTALASI

INSTALASI SAMBA SERVER

Instalasi Samba

INSTALASI
# Update package list sudo apt update # Install Samba sudo apt install samba samba-common-bin # Cek versi Samba smbd --version # Cek status Samba sudo systemctl status smbd # Start Samba sudo systemctl start smbd # Enable Samba start on boot sudo systemctl enable smbd # Restart Samba sudo systemctl restart smbd # Reload Samba sudo systemctl reload smbd

Konfigurasi File

KONFIGURASI
# File konfigurasi utama sudo nano /etc/samba/smb.conf # Backup konfigurasi sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.backup # Cek konfigurasi testparm # Restart Samba setelah konfigurasi sudo systemctl restart smbd

Firewall Configuration

FIREWALL
# Allow Samba di UFW sudo ufw allow samba # Atau allow port spesifik sudo ufw allow 139/tcp sudo ufw allow 445/tcp sudo ufw allow 137/udp sudo ufw allow 138/udp # Cek status UFW sudo ufw status
KOMPETENSI SUB-BAB 02
  • Mampu install Samba
  • Mampu konfigurasi Samba
  • Mampu konfigurasi firewall untuk Samba
  • Mampu restart dan reload Samba
03
SUB-BAB 03 SHARED

SHARED DIRECTORY

Membuat Shared Directory

DIRECTORY
# Buat shared directory sudo mkdir -p /srv/samba/share # Set permission sudo chmod 2770 /srv/samba/share sudo chown root:sambashare /srv/samba/share # Edit konfigurasi Samba sudo nano /etc/samba/smb.conf # Tambahkan di akhir file: [share] comment = Shared Directory path = /srv/samba/share browseable = yes read only = no guest ok = no create mask = 0660 directory mask = 2770 valid users = @sambashare # Restart Samba sudo systemctl restart smbd

Multiple Shared Directories

MULTIPLE SHARES
# Multiple shared directories [public] comment = Public Share path = /srv/samba/public browseable = yes read only = yes guest ok = yes [documents] comment = Documents Share path = /srv/samba/documents browseable = yes read only = no guest ok = no valid users = @sambashare [private] comment = Private Share path = /srv/samba/private browseable = no read only = no guest ok = no valid users = admin
KOMPETENSI SUB-BAB 03
  • Mampu membuat shared directory
  • Mampu set permission untuk shared directory
  • Mampu konfigurasi multiple shared directories
  • Mampu konfigurasi share options
04
SUB-BAB 04 USER

USER AUTHENTICATION

Membuat Samba User

USER
# Buat user Linux sudo useradd -M -s /sbin/nologin sambauser # Set password Samba user sudo smbpasswd -a sambauser # Enable Samba user sudo smbpasswd -e sambauser # Disable Samba user sudo smbpasswd -d sambauser # Delete Samba user sudo smbpasswd -x sambauser # Lihat Samba users sudo pdbedit -L # Lihat detail Samba user sudo pdbedit -Lv

Group Management

GROUP
# Buat group sudo groupadd sambashare # Tambah user ke group sudo usermod -aG sambashare sambauser # Lihat anggota group getent group sambashare # Hapus user dari group sudo gpasswd -d sambauser sambashare
KOMPETENSI SUB-BAB 04
  • Mampu membuat Samba user
  • Mampu set password Samba user
  • Mampu manage Samba user
  • Mampu manage group untuk Samba
05
SUB-BAB 05 PERMISSION

PERMISSION SHARING

Share Permissions

PERMISSIONS
# Share dengan permission [share] comment = Shared Directory path = /srv/samba/share browseable = yes read only = no guest ok = no create mask = 0660 directory mask = 2770 valid users = @sambashare write list = @sambashare read list = @sambashare admin users = admin # Permission options: # read only = yes/no # write list = user1, user2, @group # read list = user1, user2, @group # valid users = user1, user2, @group # invalid users = user1, user2, @group # admin users = user1, user2, @group # create mask = 0660 # directory mask = 2770 # force user = user # force group = group

File Permissions

FILE PERMISSIONS
# Set file permissions sudo chmod 0660 /srv/samba/share/file.txt sudo chmod 2770 /srv/samba/share/directory # Set owner sudo chown user:group /srv/samba/share/file.txt sudo chown -R user:group /srv/samba/share/directory # Permission bits: # 0 = no permission # 1 = execute # 2 = write # 4 = read # 6 = read + write # 7 = read + write + execute # Special bits: # 2 = setgid (inherit group) # 4 = setuid (inherit user) # 1 = sticky bit (only owner can delete)
KOMPETENSI SUB-BAB 05
  • Mampu konfigurasi share permissions
  • Mampu konfigurasi file permissions
  • Memahami permission bits
  • Memahami special bits
06
SUB-BAB 06 WINDOWS

AKSES DARI WINDOWS

Akses dari Windows

WINDOWS
# Akses share dari Windows Explorer \\server-ip\share \\192.168.1.10\share \\server-name\share # Map network drive net use Z: \\server-ip\share /user:username password net use Z: \\192.168.1.10\share /user:sambauser password # Map network drive dengan persistent net use Z: \\server-ip\share /user:username password /persistent:yes # Unmap network drive net use Z: /delete # Lihat mapped drives net use

Command Line Access

COMMAND LINE
# List shares net view \\server-ip net view \\192.168.1.10 # Copy file copy file.txt \\server-ip\share\ copy \\server-ip\share\file.txt C:\ # Copy directory xcopy directory \\server-ip\share\ /E /I xcopy \\server-ip\share\directory C:\ /E /I # Robocopy (advanced) robocopy directory \\server-ip\share\ /MIR robocopy \\server-ip\share\directory C:\ /MIR
KOMPETENSI SUB-BAB 06
  • Mampu akses share dari Windows Explorer
  • Mampu map network drive
  • Mampu copy file dan directory
  • Mampu gunakan robocopy untuk advanced copy
07
SUB-BAB 07 LINUX

AKSES DARI LINUX

Akses dari Linux

LINUX
# Install Samba client sudo apt install smbclient cifs-utils # List shares smbclient -L //server-ip -U username smbclient -L //192.168.1.10 -U sambauser # Akses share smbclient //server-ip/share -U username smbclient //192.168.1.10/share -U sambauser # Mount share sudo mkdir -p /mnt/share sudo mount -t cifs //server-ip/share /mnt/share -o username=username,password=password sudo mount -t cifs //192.168.1.10/share /mnt/share -o username=sambauser,password=password # Mount dengan credentials file sudo nano /root/.smbcredentials username=username password=password sudo chmod 600 /root/.smbcredentials sudo mount -t cifs //server-ip/share /mnt/share -o credentials=/root/.smbcredentials # Mount permanent di /etc/fstab sudo nano /etc/fstab //server-ip/share /mnt/share cifs credentials=/root/.smbcredentials,iocharset=utf8,file_mode=0777,dir_mode=0777 0 0 # Unmount share sudo umount /mnt/share # Mount all dari fstab sudo mount -a

File Operations

FILE OPERATIONS
# Copy file cp file.txt /mnt/share/ cp /mnt/share/file.txt /home/user/ # Copy directory cp -r directory /mnt/share/ cp -r /mnt/share/directory /home/user/ # Sync dengan rsync rsync -av directory/ /mnt/share/ rsync -av /mnt/share/directory/ /home/user/ # Sync dengan delete rsync -av --delete directory/ /mnt/share/ # Sync dengan progress rsync -av --progress directory/ /mnt/share/
KOMPETENSI SUB-BAB 07
  • Mampu akses share dari Linux
  • Mampu mount share
  • Mampu mount permanent di fstab
  • Mampu gunakan rsync untuk sync
08
SUB-BAB 08 TESTING

TESTING & TROUBLESHOOTING

Testing Samba

TESTING
# Cek konfigurasi testparm # Cek status Samba sudo systemctl status smbd sudo systemctl status nmbd # List shares smbclient -L localhost -U% # Test akses share smbclient //localhost/share -U username # Test dari client Windows net view \\server-ip net use Z: \\server-ip\share /user:username password # Test dari client Linux smbclient -L //server-ip -U username smbclient //server-ip/share -U username

Troubleshooting

TROUBLESHOOTING
# Cek log Samba sudo tail -f /var/log/samba/log.smbd sudo tail -f /var/log/samba/log.nmbd # Cek log level sudo nano /etc/samba/smb.conf log level = 3 # Restart Samba sudo systemctl restart smbd sudo systemctl restart nmbd # Cek firewall sudo ufw status # Cek port sudo netstat -tulpn | grep samba sudo netstat -tulpn | grep 445 sudo netstat -tulpn | grep 139 # Test koneksi telnet server-ip 445 telnet server-ip 139 # Cek Samba users sudo pdbedit -L # Cek Samba shares testparm -s # Cek permission ls -la /srv/samba/share # Cek Samba processes ps aux | grep smbd ps aux | grep nmbd

Common Issues

ISSUESOLUTION
Cannot access shareCek permission, cek user, cek firewall
Permission deniedCek permission directory, cek valid users
Connection refusedCek Samba service, cek firewall
Cannot see sharesCek browseable, cek Samba service
Slow transferCek network, cek Samba config
Authentication failedCek Samba user, cek password
KOMPETENSI SUB-BAB 08
  • Mampu testing Samba
  • Mampu troubleshooting common issues
  • Mampu cek log Samba
  • Mampu cek permission dan user
VOLUME 14 SELESAI

SELAMAT!

Kamu telah menyelesaikan Volume 14 - File Sharing Server. Dari konsep file sharing, instalasi Samba Server, shared directory, user authentication, permission, akses dari Windows, akses dari Linux, hingga testing & troubleshooting. Kamu sekarang menguasai File Sharing Server di Debian Linux dengan Samba. Di Volume 15, kita akan dalami Security & Hardening. Sampai jumpa!
SUB-BAB8 LEVELFile Sharing NEXTSecurity
ABDURROZAK.MY.ID // TERHUBUNG

JARINGAN SOSIAL

Temukan saya di berbagai platform digital