phone: +62852 5254 2414
e-mail: simonmurdani@gmail.com

ASJ - File Server (BAB 7) (Kelas X)



(BAB 7) (Kelas X)
File Server

Kompetensi Dasar

3.7 Memahami konsep file server, serta mampu mengkonfigurasi layanan berbagi file menggunakan protokol seperti Samba dan NFS.

4.7 Mampu mengatur izin akses file dan folder untuk pengguna atau grup tertentu, serta menguji proses berbagi file.
Pendahuluan

Setelah Anda menjelajahi berbagai layanan server esensial seperti DHCP, DNS, dan FTP, kini saatnya untuk mendalami layanan yang menjadi tulang punggung kolaborasi dan manajemen data dalam banyak organisasi: File Server. Dalam lingkungan kerja modern, kebutuhan untuk menyimpan dan berbagi file secara terpusat dan aman adalah krusial. File server menyediakan solusi yang efisien untuk masalah ini, memungkinkan banyak pengguna mengakses file yang sama, mengelola versi, dan menerapkan kontrol akses.

Modul ini akan membimbing Anda untuk memahami bagaimana file server menyediakan penyimpanan terpusat dan berbagi file. Anda akan dibekali dengan kemampuan praktis untuk menginstalasi dan mengkonfigurasi layanan berbagi file menggunakan protokol yang umum digunakan: Samba (untuk lingkungan Linux ke Windows) dan NFS (Network File System) (untuk lingkungan Linux ke Linux/Unix). Lebih lanjut, Anda akan belajar cara mengatur izin akses file dan folder untuk pengguna atau grup tertentu, dan yang terpenting, bagaimana menguji proses berbagi file untuk memastikan server berfungsi dengan benar. Dengan menguasai bab ini, Anda akan dapat menyediakan layanan berbagi file yang andal dan aman dalam jaringan Anda.
A. Definisi dan Konsep Dasar File Server

File server adalah server khusus yang didedikasikan untuk menyimpan dan mengelola file dan folder, serta menyediakannya kepada klien melalui jaringan.

Definisi File Server:
File Server adalah sebuah server komputer yang tujuan utamanya adalah menyediakan lokasi terpusat untuk penyimpanan file dan akses file untuk klien jaringan yang terhubung. Ini berfungsi sebagai repositori file untuk berbagi data di antara banyak pengguna atau workstation.


Tujuan dan Kegunaan File Server:

Penyimpanan Terpusat: Semua file penting disimpan di satu lokasi, memudahkan backup, manajemen, dan pemulihan data.


Berbagi File: Memungkinkan banyak pengguna untuk mengakses, mengedit, dan menyimpan file yang sama atau file yang berbeda dalam satu lokasi yang terpusat.


Kontrol Akses: Memungkinkan administrator untuk mengatur izin (permissions) pada file dan folder, mengontrol siapa yang dapat membaca, menulis, atau menghapus data.


Kolaborasi: Memfasilitasi kolaborasi antar tim atau departemen yang bekerja pada proyek yang sama.


Manajemen Versi: Beberapa file server atau sistem yang terintegrasi dengannya dapat mendukung manajemen versi file.


Pengurangan Duplikasi: Mengurangi file duplikat yang disimpan di banyak workstation lokal.

Protokol Berbagi File Umum:

SMB/CIFS (Server Message Block / Common Internet File System):

Protokol berbagi file utama yang digunakan oleh sistem operasi Microsoft Windows.


Samba adalah implementasi open-source dari protokol SMB/CIFS untuk sistem Linux dan Unix, memungkinkan mereka untuk berinteraksi dengan klien Windows dan berfungsi sebagai file server untuk Windows.

NFS (Network File System):

Protokol berbagi file yang dikembangkan oleh Sun Microsystems, dirancang untuk berbagi file antar sistem Unix dan Linux.


Memungkinkan klien untuk melihat dan berinteraksi dengan file dan direktori di server jarak jauh seolah-olah mereka berada di local file system.

FTP (File Transfer Protocol):

Meskipun juga untuk transfer file, FTP lebih cocok untuk unggah/unduh file secara individual dan kurang ideal untuk akses file interaktif seperti SMB/NFS.
B. Instalasi dan Konfigurasi Layanan Berbagi File

Proses instalasi dan konfigurasi layanan berbagi file melibatkan software dan pengaturan share.
1. Samba Server (untuk berbagi dengan klien Windows)

Samba adalah suite program yang memungkinkan komputer Linux/Unix untuk berinteraksi dengan komputer Windows untuk berbagi file dan printer.
Instalasi Samba:

sudo apt update
sudo apt install samba -y



(Untuk distribusi berbasis Debian/Ubuntu)
Konfigurasi Dasar Samba (File /etc/samba/smb.conf):

Edit file konfigurasi utama Samba untuk membuat share dan mengatur izin.

# Contoh konfigurasi smb.conf untuk share publik (tanpa autentikasi)
[global]
workgroup = WORKGROUP
security = user

[PublicShare]
path = /srv/samba/public
read only = no
browsable = yes
guest ok = yes



Penjelasan Konfigurasi:

[global]: Pengaturan global untuk Samba server.

workgroup: Nama workgroup yang akan ditampilkan di jaringan Windows.


security = user: Mode keamanan, membutuhkan username dan password untuk login. Jika Anda ingin anonim, gunakan security = share (versi lama) atau guest ok = yes pada share tertentu.

[PublicShare]: Nama share yang akan terlihat oleh klien.

path = /srv/samba/public: Direktori fisik di server Linux yang akan di-share. Pastikan direktori ini ada dan memiliki izin file system yang benar.


read only = no: Mengizinkan write access. Jika yes, hanya bisa dibaca.


browsable = yes: Share akan terlihat saat menjelajahi jaringan.


guest ok = yes: Mengizinkan akses tanpa password (pengguna anonim).
Membuat Direktori dan Mengatur Izin File System untuk Samba:

Direktori yang akan di-share harus ada dan memiliki izin yang sesuai.

sudo mkdir -p /srv/samba/public
sudo chmod -R 0777 /srv/samba/public # Memberi izin penuh (untuk contoh publik)
sudo chown nobody:nogroup /srv/samba/public # Ubah pemilik (jika guest ok = yes)


Membuat Pengguna Samba:

Jika security = user, Anda perlu membuat pengguna Samba. Pengguna ini harus sudah ada sebagai pengguna sistem Linux.

sudo adduser <nama_pengguna_samba> # Jika belum ada user Linux
sudo smbpasswd -a <nama_pengguna_samba> # Menambahkan user ke database Samba



Setelah perubahan, restart layanan Samba:

sudo systemctl restart smbd nmbd


2. NFS Server (Network File System)

NFS adalah protokol distributed file system yang memungkinkan pengguna untuk mengakses file dan direktori yang berlokasi di komputer jarak jauh seolah-olah mereka berada di drive lokal.
Instalasi NFS Server:

sudo apt update
sudo apt install nfs-kernel-server -y



(Untuk distribusi berbasis Debian/Ubuntu)
Konfigurasi NFS Exports (File /etc/exports):

Edit file /etc/exports untuk menentukan direktori mana yang akan di-share dan untuk host mana.

# Contoh konfigurasi /etc/exports
/srv/nfs/data 192.168.1.0/24(rw,sync,no_subtree_check)
/srv/nfs/public *(ro,sync,no_subtree_check)



Penjelasan Konfigurasi:

/srv/nfs/data: Direktori di server yang akan di-share.


192.168.1.0/24: Alamat IP jaringan yang diizinkan mengakses share ini. Anda bisa juga menggunakan IP tunggal atau nama host.


*: Mengizinkan akses dari semua host (hati-hati untuk keamanan).


rw: (Read-Write) Mengizinkan akses baca dan tulis.


ro: (Read-Only) Hanya mengizinkan akses baca.


sync: Memastikan perubahan tertulis ke disk sebelum respons dikirim (keamanan data, tapi sedikit lebih lambat).


async: Tidak menunggu disk write (lebih cepat, tapi ada risiko kehilangan data jika server crash).


no_subtree_check: Menonaktifkan pemeriksaan subtree (disarankan untuk kinerja, terutama jika sub-direktori di-export).
Membuat Direktori dan Mengatur Izin File System untuk NFS:

Direktori yang akan di-share harus ada dan memiliki izin yang sesuai di server Linux.

sudo mkdir -p /srv/nfs/data
sudo mkdir -p /srv/nfs/public
sudo chmod -R 777 /srv/nfs/public # Untuk share publik
sudo chown nobody:nogroup /srv/nfs/public # Untuk share publik
# Untuk share data yang spesifik, gunakan izin yang lebih ketat dan chown ke user/grup yang relevan.



Setelah perubahan, export share dan restart layanan NFS:

sudo exportfs -ra # Mengekspor ulang semua share
sudo systemctl restart nfs-kernel-server


C. Mengatur Izin Akses File dan Folder

Manajemen izin sangat krusial untuk keamanan file server. Ada dua lapisan izin yang perlu diperhatikan: izin file system (Linux: rwx, Windows: NTFS) dan izin share (Samba, NFS).

Izin File System (Linux Permissions):

Pengaturan izin baca (r), tulis (w), dan eksekusi (x) untuk pemilik (user), grup (group), dan lainnya (others).


Contoh: chmod 775 file.txt (pemilik dan grup punya rwx, lainnya r-x).


Pastikan direktori yang di-share memiliki izin yang memungkinkan daemon Samba/NFS untuk membaca/menulis, dan kemudian pengguna FTP dapat memiliki izin yang lebih spesifik.

Izin File System (Windows NTFS Permissions):

Windows menggunakan sistem izin NTFS yang lebih granular, memungkinkan pengaturan izin untuk setiap user atau grup pada file dan folder.


Prosedur: Klik kanan folder -> Properties -> Security.

Izin Share (Samba):

Samba memiliki izin di tingkat share yang dikonfigurasi di smb.conf.


read only = yes/no: Kontrol akses tulis secara umum.


valid users = <user1>, @<group1>: Hanya pengguna/grup ini yang bisa mengakses.


write list = <user2>, @<group2>: Hanya pengguna/grup ini yang punya izin tulis (jika read only = yes).


force user = <user_sistem>: Semua koneksi ke share ini akan bertindak sebagai user_sistem ini di sisi Linux.

Izin Share (NFS):

NFS menggunakan opsi di file /etc/exports untuk mengontrol izin utama.


rw / ro: Izin baca/tulis.


anonuid=<UID> / anongid=<GID>: Mengatur UID/GID untuk pengguna anonim (squashing root).


Pengguna di sisi klien akan mengakses file dengan UID/GID mereka sendiri yang harus cocok dengan UID/GID di server untuk izin yang tepat.
D. Pengujian Proses Unggah (Upload) dan Unduh (Download) File Server

Pengujian memastikan bahwa file server berfungsi dan izin akses diatur dengan benar.

Konfigurasi Firewall:

Pastikan firewall pada server file dan firewall jaringan mengizinkan lalu lintas untuk protokol yang digunakan.


Samba: TCP Port 139, 445 (dan UDP 137, 138 untuk NetBIOS).


NFS: TCP/UDP Port 2049 (NFS), TCP/UDP Port 111 (Portmapper/RPCBind), dan port dinamis lainnya untuk mountd, statd, lockd. (Periksa rpcinfo -p localhost di server untuk port yang tepat).


Linux (UFW):
sudo ufw allow samba # Otomatis membuka port Samba
sudo ufw allow nfs # Otomatis membuka port NFS
sudo ufw reload




Windows Server (Windows Defender Firewall): Buat aturan inbound untuk port yang relevan.

Mengakses Share dari Klien:

Klien Windows (untuk Samba Share):

Buka File Explorer.


Ketik \\<alamat_ip_samba_server>\<nama_share> di address bar (misalnya, \\192.168.1.10\PublicShare).


Anda mungkin diminta username dan password Samba.


Anda juga bisa memetakan network drive (Map Network Drive).

Klien Linux (untuk NFS Share):

Instal NFS client utilities: sudo apt install nfs-common -y.


Buat mount point: sudo mkdir /mnt/nfs_share.


Mount share: sudo mount <ip_nfs_server>:/<path_share_server> /mnt/nfs_share (misalnya, sudo mount 192.168.1.20:/srv/nfs/data /mnt/nfs_share).


Setelah di-mount, Anda bisa mengakses file di /mnt/nfs_share seolah-olah itu adalah local drive.

Langkah-langkah Verifikasi:

Akses Share: Coba akses share dari klien.


Unggah File: Unggah file baru ke share dari klien.


Unduh File: Unduh file yang sudah ada di share ke klien.


Hapus File: Coba hapus file (jika diizinkan).


Verifikasi Izin: Coba lakukan operasi yang seharusnya tidak diizinkan (misalnya, unggah ke read-only share, atau akses oleh pengguna yang tidak valid) untuk memastikan izin bekerja dengan benar.
E. Pemecahan Masalah (Troubleshooting) File Server Umum

Beberapa masalah umum dapat terjadi pada file server.

Tidak Bisa Mengakses Share (Connection Refused/Timeout):

Gejala: Klien tidak dapat melihat share atau mendapatkan pesan timeout.


Penyebab:

Layanan file server (Samba/NFS) tidak berjalan.


Firewall memblokir port yang diperlukan pada server.


Konektivitas jaringan dasar terputus.


Alamat IP server salah.

Solusi:

Verifikasi status layanan (sudo systemctl status smbd atau sudo systemctl status nfs-kernel-server).


Periksa aturan firewall (sudo ufw status).


Ping alamat IP server.

Authentication/Permission Denied (Samba):

Gejala: Klien bisa melihat share tapi gagal login atau mendapatkan pesan "Access Denied" saat mencoba unggah/unduh.


Penyebab:

Username atau password Samba salah.


Pengguna belum ditambahkan ke database Samba (smbpasswd -a).


Izin share di smb.conf terlalu ketat (valid users, read only).


Izin file system di server Linux pada direktori yang di-share tidak mengizinkan Samba untuk mengakses atau menulis.

Solusi:

Periksa kredensial.


Pastikan pengguna terdaftar di Samba.


Sesuaikan smb.conf (misalnya, read only = no, tambahkan valid users).


Perbaiki izin file system (chmod, chown).

NFS "Access Denied" atau "Permission Denied":

Gejala: Klien Linux gagal me-mount NFS share atau mendapatkan "Permission denied" setelah di-mount.


Penyebab:

Alamat IP klien tidak diizinkan di /etc/exports server.


Opsi izin di /etc/exports tidak benar (ro padahal butuh rw).


UID/GID pengguna di klien tidak cocok dengan izin file system di server.


Layanan rpcbind (portmapper) tidak berjalan.

Solusi:

Periksa /etc/exports di server dan jalankan sudo exportfs -ra.


Verifikasi izin file system di server.


Pastikan UID/GID cocok atau gunakan opsi all_squash jika perlu.


Verifikasi layanan rpcbind berjalan.

Perubahan Konfigurasi Tidak Berlaku:

Gejala: Setelah mengubah konfigurasi, perilaku file server tidak berubah.


Penyebab: Layanan Samba/NFS belum di-restart setelah perubahan.


Solusi: Selalu restart layanan setelah melakukan perubahan konfigurasi (sudo systemctl restart smbd nmbd untuk Samba, sudo systemctl restart nfs-kernel-server untuk NFS). Untuk NFS, jalankan juga sudo exportfs -ra.
Zona Aktivitas
A. Uji Pengetahuan (Nilai Pengetahuan I)

Jelaskan fungsi utama dari sebuah file server dalam sebuah jaringan.


Apa perbedaan mendasar antara protokol Samba dan NFS dalam konteks file sharing?


Jika Anda ingin mengkonfigurasi Samba share agar klien Windows dapat mengunggah file, opsi konfigurasi apa yang harus Anda atur di smb.conf?


Bagaimana Anda akan memberikan izin baca dan tulis ke sebuah direktori di server Linux agar dapat diakses oleh share NFS dari subnet 192.168.10.0/24?


Mengapa izin file system pada direktori yang di-share di server sangat penting selain konfigurasi izin di Samba atau NFS itu sendiri?
B. Praktikum (Nilai Praktik 1)

Buat kelompok dengan anggota maksimal tiga siswa. Lakukan hal berikut:

Skenario Pemilihan Protokol File Sharing:

Skenario A: Sebuah kantor memiliki campuran komputer Windows dan Linux, dan mereka ingin berbagi folder proyek.


Skenario B: Sebuah server render Linux perlu mengakses asset file dari server storage Linux lainnya dengan kinerja tinggi.


Untuk setiap skenario, protokol berbagi file (Samba atau NFS) mana yang paling cocok? Jelaskan alasannya.

Identifikasi Izin File System dan Share:

Anda memiliki direktori /data/shared di server Linux. Anda ingin pengguna bernama "marketing" dapat membaca dan menulis di direktori ini melalui Samba, sementara pengguna lain hanya dapat membaca.


Tuliskan perintah Linux (chmod/chown) yang diperlukan pada /data/shared dan parameter konfigurasi Samba di smb.conf yang relevan untuk mencapai tujuan ini.

Presentasikan hasil kerja dan diskusi kelompok Anda di depan kelas.
E. Eksperimen (Nilai Proyek I)

Pilih salah satu dari tugas berikut:

Simulasi Instalasi dan Konfigurasi Samba File Server (Menggunakan Virtual Machine/Simulator):

Instal Ubuntu Server di virtual machine (VirtualBox/VMware).


Instal dan konfigurasikan Samba Server.


Buat satu direktori share baru (misalnya, /srv/samba/project_files).


Buat satu pengguna Samba dan berikan izin tulis pada share tersebut.


Konfigurasi share Samba agar hanya pengguna yang Anda buat yang bisa mengakses dengan username dan password.


Dari virtual machine klien Windows atau host Anda, coba akses Samba share tersebut, unggah file, dan unduh file.


Sertakan screenshot konfigurasi Samba dan hasil pengujian akses share dalam laporan Anda (maksimal 2 halaman).

Simulasi Instalasi dan Konfigurasi NFS File Server (Menggunakan Virtual Machine/Simulator):

Instal Ubuntu Server di virtual machine sebagai NFS server.


Instal dan konfigurasikan NFS Server.


Buat satu direktori share baru (misalnya, /srv/nfs/shared_docs).


Konfigurasi NFS export untuk mengizinkan akses baca/tulis dari subnet klien Anda.


Instal NFS client di virtual machine klien Linux atau host Anda.


Coba mount NFS share dan lakukan percobaan unggah dan unduh file.


Sertakan screenshot konfigurasi NFS dan hasil pengujian akses share dalam laporan Anda (maksimal 2 halaman).
Rangkuman

File Server menyediakan penyimpanan terpusat dan berbagi file dalam jaringan, memungkinkan kontrol akses dan kolaborasi.


Protokol berbagi file umum meliputi SMB/CIFS (digunakan oleh Windows, diimplementasikan di Linux melalui Samba) dan NFS (umum di Linux/Unix).


Instalasi melibatkan paket software seperti samba atau nfs-kernel-server.


Konfigurasi Samba dilakukan di /etc/samba/smb.conf untuk mendefinisikan share, izin baca/tulis, dan user authentication. Pengguna Samba harus dibuat terpisah (smbpasswd -a).


Konfigurasi NFS dilakukan di /etc/exports untuk menentukan direktori yang di-share, izin akses (ro/rw), dan host yang diizinkan.


Izin akses pada file server melibatkan izin file system (rwx di Linux, NTFS di Windows) dan izin share (diatur dalam konfigurasi Samba/NFS). Keduanya harus benar agar akses berfungsi.


Pengujian file server meliputi verifikasi konektivitas, unggah, dan unduh file dari klien (menggunakan Windows File Explorer, mount di Linux, atau klien GUI seperti FileZilla).


Pemecahan masalah umum meliputi server tidak berjalan, firewall memblokir port (Samba: TCP 139, 445; NFS: TCP/UDP 2049, 111), kesalahan kredensial, masalah izin file system, atau konfigurasi share yang salah.
Ulangan Akhir Bab 1
A. Pilihlah salah satu jawaban yang tepat.

Layanan server yang menyediakan penyimpanan terpusat dan berbagi file untuk klien dalam jaringan adalah ....
a. DNS Server
b. DHCP Server
c. FTP Server
d. File Server
e. Web Server


Protokol berbagi file yang paling umum digunakan untuk memungkinkan komputer Linux berbagi file dengan klien Windows adalah ....
a. NFS
b. FTP
c. SMB/CIFS (melalui Samba)
d. SSH
e. HTTP


Jika Anda mengkonfigurasi Samba share dan menambahkan baris read only = yes di smb.conf, ini berarti ....
a. Pengguna tidak dapat melihat daftar file.
b. Pengguna hanya dapat membaca file, tidak dapat mengunggah atau menghapus.
c. Pengguna hanya dapat mengunggah file.
d. Samba share hanya bisa diakses oleh root.
e. Share tidak akan terlihat di jaringan.


File konfigurasi utama untuk Samba Server di Linux adalah ....
a. /etc/nfs.conf
b. /etc/exports
c. /etc/samba/smb.conf
d. /etc/dhcp/dhcpd.conf
e. /etc/bind/named.conf


Opsi rw dalam konfigurasi NFS /etc/exports berarti ....
a. Read Only (hanya baca)
b. Read Write (baca dan tulis)
c. Root Only (hanya root)
d. Remote Write (tulis jarak jauh)
e. Restricted Write (tulis terbatas)


Jika Anda tidak bisa me-mount NFS share di klien Linux dan mendapatkan pesan "Access denied", masalah yang paling mungkin terjadi di server adalah ....
a. Firewall memblokir port 80.
b. Direktori share tidak ada di server.
c. Alamat IP klien tidak diizinkan di file /etc/exports server.
d. Layanan DHCP tidak berjalan.
e. Server kehabisan ruang disk.


Untuk membuat pengguna Samba di Linux setelah pengguna sistemnya ada, perintah yang digunakan adalah ....
a. sudo adduser <nama_pengguna>
b. sudo passwd <nama_pengguna>
c. sudo smbpasswd -a <nama_pengguna>
d. sudo useradd <nama_pengguna>
e. sudo samba-create-user <nama_pengguna>


Jika sebuah share Samba memiliki guest ok = yes, ini berarti ....
a. Hanya pengguna dengan username "guest" yang bisa login.
b. Share tersebut dapat diakses tanpa memerlukan username dan password spesifik.
c. Hanya root yang bisa mengakses share.
d. Share tersebut hanya untuk tujuan backup.
e. Klien Linux tidak bisa mengaksesnya.


Perintah Linux yang digunakan untuk me-mount NFS share dari server 192.168.1.5 pada direktori /srv/nfs/project ke mount point lokal /mnt/project adalah ....
a. sudo mount 192.168.1.5:/srv/nfs/project /mnt/project
b. sudo nfs mount /srv/nfs/project 192.168.1.5:/mnt/project
c. sudo mount -t nfs /mnt/project 192.168.1.5:/srv/nfs/project
d. sudo connect nfs 192.168.1.5 /srv/nfs/project
e. sudo smbclient //192.168.1.5/project -U guest


Jika Anda ingin memastikan perubahan pada konfigurasi Samba berlaku, Anda harus ....
a. Me-reboot server.
b. Menjalankan sudo ufw reload.
c. Me-restart layanan smbd dan nmbd.
d. Menjalankan sudo exportfs -ra.
e. Menginstal ulang Samba.
B. Jawablah pertanyaan-pertanyaan berikut dengan benar.

Jelaskan mengapa file server dengan penyimpanan terpusat lebih efisien dibandingkan setiap pengguna menyimpan file di komputer lokal masing-masing.


Anda diminta untuk menyiapkan file server Linux yang dapat diakses oleh klien Windows dan Linux secara bersamaan. Protokol apa yang akan Anda gunakan untuk masing-masing klien, dan jelaskan mengapa.


Jelaskan bagaimana Anda akan mengatur izin akses pada direktori share Samba (/srv/samba/shared) agar hanya pengguna "admin_samba" yang dapat membaca dan menulis, sementara pengguna lain tidak dapat mengaksesnya sama sekali.


Apa saja yang perlu Anda periksa di server NFS jika klien Linux tidak dapat me-mount share NFS dan pesan kesalahan menunjukkan masalah konektivitas atau izin?


Jelaskan perbedaan antara izin file system dan izin share dalam konteks file server. Mengapa penting untuk mengkonfigurasi keduanya dengan benar?

0 komentar: