Panduan Lengkap Menghubungkan dan Mengakses Folder Share Windows di Linux

JURNAL IT - Mengakses partisi Windows remote atau NAS share dari sistem operasi Linux merupakan kebutuhan yang sering muncul di lingkungan kerja modern.

Proses ini memungkinkan pengguna Linux untuk mengelola dan menggunakan file yang berada di jaringan Windows dengan lebih efisien.

Untuk mengakses partisi folder share dari sistem operasi Linux, ikuti langkah-langkah berikut ini. Pastikan Anda memiliki informasi dan akses yang diperlukan sebelum memulai.

Fitur file sharing di Windows

Pada sistem operasi Windows, terdapat fitur yang disebut file sharing. Anda bisa mengatur folder yang di-share di satu komputer agar dapat diakses oleh semua komputer di jaringan lokal.

Hal ini dilakukan menggunakan protokol SMB, yang memiliki beberapa versi. Di Linux, Anda bisa membuka dan membuat folder shared menggunakan Samba.

Server Samba mendukung semua versi protokol SMB. Namun, ada beberapa masalah kompatibilitas yang perlu diperhatikan.

Mengapa tidak berfungsi?

Pada versi lama distro Linux dan Windows 7 bekerja dengan lancar karena mereka masih menggunakan protokol SMB1. Namun berubah sejak tahun 2017 ketika virus Wannacry muncul dan mengeksploitasi kelemahan dalam protokol ini.

Sejak itu, versi terbaru Windows mematikan dukungan untuk SMB1 dan sekarang lebih memilih SMB3 sebagai protokol standar.

Begitu juga dengan Samba yang mematikan SMB1 sejak versi 4.11. Namun, ada sedikit masalah karena SMB2 dan SMB3 tidak mendukung device discovery di jaringan lokal.

Tapi jangan khawatir, sekarang ada protokol network discovery yang disebut Zeroconf yang bisa diandalkan.

Di Linux, kita punya versi open-source-nya yang disebut Avahi. Server Linux dan storage NAS bisa menggunakan Avahi untuk mempublikasikan diri di jaringan lokal.

Sayangnya, Microsoft punya ide berbeda dan memilih menggunakan protokol mereka sendiri yang disebut WS-Discovery. Inilah yang memulai masalah baru.

Saat ini, Linux agak kesulitan menemukan folder shared di jaringan lokal. File manager Nautilus di GNOME, misalnya, tidak mendukung WS-Discovery sama sekali. Bahkan, belum ada utilitas terminal siap pakai untuk ini.

Anda bisa memantau perkembangan dukungan WS-Discovery di isu GVFS ini.

Kabar baiknya, pada tahun 2020, tim KDE menambahkan dukungan untuk protokol ini di file manager Dolphin menggunakan kdsoap-ws-discovery-client.

Kemudian, muncul program untuk KDE bernama Smb4k yang bisa menemukan sumber daya jaringan menggunakan Avahi dan WS-Discovery. Tapi, untuk menggunakannya, perlu dikompilasi dengan opsi khusus.

Jadi, jika Anda menggunakan GNOME, Anda hanya bisa membuka folder shared Windows dengan mengetahui alamat IP komputernya. Sedangkan di KDE, semuanya bisa sedikit lebih mudah dilakukan.

Pastikan konfigurasi network sudah benar di Windows

Dulu, cukup dengan membuka File Explorer dan mengaktifkan file sharing di sana. Namun, sekarang caranya tidak semudah itu.

Pertama-tama, Anda perlu mengatur jaringan Anda sebagai jaringan Private di Windows.

Secara default, hanya jaringan private yang dianggap aman, dan perangkat Windows bisa ditemukan di dalamnya.

Untuk melakukan ini, buka Settings -> Network & Internet -> Ethernet, lalu pilih Network Profile Type -> Private Network:

Jika jaringan Anda saat ini menggunakan koneksi nirkabel, lakukan langkah yang sama. Selanjutnya, kembali ke menu sebelumnya dan pilih Advanced Sharing Settings. Di jendela ini, aktifkan Network discovery dan File and printer sharing:

Terakhir, pastikan firewall dikonfigurasi dengan benar dan memungkinkan koneksi SMB. Untuk melakukan ini, kembali ke menu utama Settings, kemudian buka Privacy & Security -> Firewall & network protection. Klik Allow an app through the firewall:

Pastikan File and printer sharing dan Network discovery diaktifkan untuk jaringan Private:

Selesai. Sekarang, Anda bisa beralih ke mesin Linux Anda.

Temukan Share di Terminal Linux

Meskipun belum ada alat terminal untuk WS-Discovery, tapi Anda bisa mencoba menemukan perangkat dengan sumber daya yang dibagikan menggunakan Nmap.

Tool ini tidak bisa mencari sumber daya seperti Avahi, tetapi bisa membantu Anda menemukan alamat IP dengan port 445 yang terbuka. Port ini digunakan oleh SMB.

Untuk melakukannya, Anda perlu menginstal paket-paket berikut di terminal:

# menginstall NMap dan smbclient
sudo apt install nmap smbclient

# atau di Fedora
sudo dnf install nmap samba-client

Anda juga perlu mengetahui rentang alamat IP jaringan lokal Anda. Anda bisa mengambil alamat IP dan mask Anda, lalu ganti digit keempat dengan nol. Sebagai contoh:

ip -br a

Perintah untuk pencarian akan terlihat seperti ini. Ganti 192.168.124.0/24 dengan rentang alamat jaringan lokal Anda dan jalankan di jendela terminal dengan perintah sudo:

nmap -p 445 --open -n -Pn 192.168.124.0/24

Opsi -p menentukan port 445, opsi -Pn menonaktifkan discovery ICMP dan memperlakukan semua alamat IP sebagai aktif, -n menonaktifkan resolusi hostname DNS.

Perintah ini mungkin memerlukan waktu cukup lama, tetapi pada akhirnya akan menemukan host dengan port 445 yang terbuka jika ada host tersebut di jaringan lokal Anda.

Ini mungkin tidak bisa dianggap sebagai penemuan jaringan yang normal, tetapi berhasil. 

Sekarang, Anda bisa menggunakan smbclient untuk melihat folder yang dibagikan di server yang Anda temukan. Sebagai contoh:

smbclient -L \192.168.124.63

Perintah ini akan meminta Anda untuk memasukkan password share. Biasanya, ini adalah password untuk pengguna Windows Anda, dan kemudian akan menampilkan semua folder yang dibagikan yang tersedia:

Nah, sekarang mari kita lihat cara mount folder tersebut.

Membuka folder share di KDE Dolphin

Untuk membuka folder share di KDE, Anda bisa menggunakan manajer file Dolphin. 

Seperti yang sudah disebutkan sebelumnya, di sini Anda bisa melihat semua client yang memiliki drive share di jaringan lokal.

Untuk melakukannya, jalankan Dolphin, lalu buka Network, dan kemudian Shared Folders (SMB).

Klik pada salah satu sumber daya dan masukkan username dan password untuk melihat folder yang tersedia.

Beginilah tampilan folder berbagi dari Windows 11. Di sini Anda bisa menemukan file-file Windows:

Jika network discovery tidak berfungsi dalam kasus Anda, Anda masih bisa memasukkan alamat IP client di bidang teks di bagian atas jendela dan menghubungkannya. Misalnya, ketikkan smb://192.168.124.63/:

Sekarang, Anda bisa mengakses file yang dibagikan di jaringan lokal Anda melalui Dolphin.

Membuka folder share di GNOME Nautilus

Jika Anda ingin terhubung ke folder share Windows di antarmuka GNOME, Anda bisa menggunakan manajer file Nautilus.

Buka Other Locations dan temukan di bagian bawah jendela tulisan Connect to Server beserta bidang untuk memasukkan alamat.

Tidak ada gunanya membuka item Windows Network, karena GVFS yang digunakan di GNOME untuk mounting disk, tidak mendukung protokol WS-Discovery.

Untuk terhubung ke share Windows yang terletak di server dengan IP 192.168.124.63, masukkan alamat ini dan tekan tombol "Connect":

smb://192.168.124.63

Di jendela berikutnya, Anda perlu memasukkan kata sandi, dan setelah itu, Anda bisa melihat file dari folder yang dibagikan:

Setelah ini, Anda bisa menjelajahi folder-folder Windows Anda.

Selain itu, Anda bisa menggunakan pintasan di panel kiri untuk mengakses share remote yang sudah di-mount.

Mounting folder share di Terminal

Cara pertama, jika Anda ingin melakukan mount folder share Windows di terminal, Anda bisa menggunakan cifs-utils dan perintah mount. Pertama, instal paket cifs-utils. Perintah untuk Ubuntu:

sudo apt install cifs-utils

# atau di Fedora
sudo dnf install cifs-utils

Sekarang, Anda bisa menjalankan perintah mount dengan menentukan tipe sistem file cifs dan opsi username.

Perlu dicatat bahwa Anda tidak bisa me-mount root dari share cifs, Anda perlu menambahkan folder dalam jalurnya. Misalnya, folder "Users" pada 192.168.124.63:

sudo mount -t cifs -o username=losst //192.168.124.63/Users /mnt/

Jika Anda ingin memiliki akses tulis ke folder share Windows, Anda perlu menambahkan opsi uid dengan identifier pengguna Anda. Untuk pengguna pertama, biasanya 1000:

sudo mount -t cifs -o username=losst,uid=1000 //192.168.124.63/Users /mnt/

Anda bisa menemukan identifier pengguna saat ini di variabel lingkungan UID:

echo $UID

Cara kedua, bisa Anda lakukan dengan membuat direktori yang akan digunakan sebagai mount point dengan perintah berikut:

sudo mkdir -p /mnt/ntserver

Gunakan perintah mount untuk mengakses partisi Windows:

sudo mount -t cifs //ntserver/download -o username=myUsername,password=myPassword /mnt/ntserver

Untuk versi lama seperti RHEL <= 4 atau Debian <= 3, gunakan perintah ini:

sudo mount -t smbfs -o username=myUsername,password=myPassword //ntserver/download /mnt/ntserver

Setelah proses mounting selesai, Anda bisa mengakses share Windows dengan perintah cd dan ls:

cd /mnt/ntserver; ls -l

Mounting otomatis

Jika Anda ingin me-mount share secara otomatis saat sistem startup, Anda perlu menyimpan nama pengguna dan kata sandi share di file kredensial, misalnya, /etc/share/windows-credentials. Contohnya:

#buat direktori
sudo mkdir -p /etc/share/

#buat file windows-credentials
sudo nano /etc/share/windows-credentials

#isi file windows-credentials
username=myUsername
password=myPassword
domain=workgroup

Kemudian buka file /etc/fstab menggunakan editor teks favorit Anda. Misalnya, dengan nano:

sudo nano /etc/fstab

Kemudian tambahkan baris berikut ke file /etc/fstab:

//192.168.124.63/Users /mnt/share cifs credentials=/etc/share/windows-credentials,uid=1000,nofail 0 0

Selain menggunakan file kredensial, Anda juga bisa mounting langsung pada file fstab, tapi cara berikut tidak disarankan dengan alasan keamanan. Caranya, tanpa perlu membuat file kredensial dan ganti kode di atas pada fstab dengan kode berikut:

//192.168.124.63/Users /mnt/share cifs username=myUsername,password=myPassword,nofail 0 0

Opsi nofail diperlukan agar komputer Anda tetap bisa boot meskipun folder jarak jauh tidak bisa di-mount. Setelah ini, muat ulang pengaturan systemd:

sudo systemctl daemon-reload

Buat direktori mount point:

sudo mkdir -p /mnt/share

Anda bisa memeriksa bahwa semuanya berfungsi dengan menggunakan perintah berikut:

#mengecek mount share
sudo mount /mnt/share

#atau mengecek semua mount
sudo mount -a

Verifikasi bahwa partisi Windows telah di-mount dengan perintah:

ls /mnt/share

Jika semuanya baik-baik saja, Anda akan bisa melihat isi dari share yang di-mount di folder /mnt/share.

Dengan mengikuti langkah-langkah di atas, Anda dapat dengan mudah mengakses folder share Windows dari sistem Linux Anda.(*)

Posting Komentar

0 Komentar