GNU/Linux >> Belajar Linux >  >> Ubuntu

Instal dan Konfigurasi Samba Server di Ubuntu untuk Berbagi File

Dalam tutorial ini, kita akan belajar cara menginstal dan mengkonfigurasi server Samba di Ubuntu untuk berbagi file di jaringan lokal. Samba adalah implementasi protokol SMB/CIFS sumber terbuka dan gratis untuk Unix dan Linux yang memungkinkan berbagi file dan cetak antara mesin Unix/Linux, Windows, dan macOS di jaringan area lokal.

Samba biasanya diinstal dan dijalankan di Linux. Ini terdiri dari beberapa program yang melayani tujuan yang berbeda tetapi terkait, dua yang paling penting di antaranya adalah:

  • smbd :menyediakan layanan SMB/CIFS (berbagi dan mencetak file), juga dapat bertindak sebagai pengontrol domain Windows.
  • nmbd :Daemon ini menyediakan layanan nama NetBIOS, mendengarkan permintaan server nama. Ini juga memungkinkan server Samba ditemukan oleh komputer lain di jaringan.

Cara Menginstal Server Samba di Ubuntu

Samba termasuk dalam sebagian besar distribusi Linux. Untuk menginstal Samba di Ubuntu, cukup jalankan perintah berikut di terminal.

sudo apt install samba samba-common-bin

Versi stabil terbaru yang tersedia adalah 4.12.0, dirilis pada 03 Maret 2019. Untuk memeriksa versi Samba Anda, jalankan

smbd --version

Contoh keluaran:

Version 4.7.6-Ubuntu

Untuk memeriksa apakah layanan Samba berjalan, jalankan perintah berikut.

systemctl status smbd nmbd

Untuk memulai kedua layanan ini, jalankan perintah berikut:

sudo systemctl start smbd nmbd

Setelah dimulai, smbd akan mendengarkan pada port TCP 139 dan 445. nmbd akan mendengarkan pada port UDP 137 dan 138.

  • TCP 139:digunakan untuk berbagi file dan printer serta operasi lainnya.
  • TCP 445:port CIFS tanpa NetBIOS.
  • UDP 137:digunakan untuk penjelajahan jaringan NetBIOS.
  • UDP 138:digunakan untuk layanan nama NetBIOS.

Jika Anda telah mengaktifkan firewall UFW di Ubuntu, maka Anda perlu membuka port di atas di firewall dengan perintah berikut.

sudo ufw allow samba

Buat Berbagi Samba Pribadi

Di bagian ini, kita akan melihat cara membuat share Samba pribadi yang mengharuskan klien memasukkan nama pengguna dan kata sandi untuk mendapatkan akses. File konfigurasi Samba utama terletak di:/etc/samba/smb.conf . Anda dapat mengeditnya di terminal dengan editor teks baris perintah seperti nano .

sudo nano /etc/samba/smb.conf

Dalam [global] bagian, pastikan nilai workgroup sama dengan pengaturan workgroup komputer Windows.

workgroup = WORKGROUP

Anda dapat menemukan pengaturan di komputer Windows Anda dengan masuk ke Control Panel> System and Security> System .

Kemudian gulir ke bawah ke bagian bawah file. (Dalam editor teks nano, Anda dapat mencapainya dengan menekan CTRL+W lalu CTRL+V . ) Tambahkan bagian baru seperti di bawah ini.

[Private]

comment = needs username and password to access
path = /srv/samba/private/
browseable = yes
guest ok = no
writable = yes
valid users = @samba

Penjelasan:

  • Private adalah nama folder yang akan ditampilkan di jaringan Windows.
  • Komentar adalah deskripsi untuk folder bersama.
  • Parameter jalur menentukan jalur ke folder bersama. Saya menggunakan /srv/samba/private/ sebagai contoh. Anda juga dapat menggunakan folder di direktori home Anda.
  • browseable = yes :Mengizinkan komputer lain dalam jaringan untuk melihat server Samba dan berbagi Samba. Jika disetel ke tidak, pengguna harus mengetahui nama server Samba dan kemudian secara manual memasukkan jalur di pengelola file untuk mengakses folder bersama.
  • guest ok = no :Nonaktifkan akses tamu. Dengan kata lain, Anda perlu memasukkan nama pengguna dan kata sandi di komputer klien untuk mengakses folder bersama.
  • writable = yes :Memberikan izin baca dan tulis kepada klien.
  • valid users = @samba :Hanya pengguna di grup samba yang diizinkan mengakses pembagian Samba ini.

Simpan dan tutup file. (Untuk menyimpan file dalam editor teks nano, tekan Ctrl+O , lalu tekan Enter untuk mengonfirmasi nama file yang akan ditulis. Untuk menutup file, tekan Ctrl+X .) Sekarang kita perlu membuat pengguna Samba. Pertama, kita perlu membuat akun pengguna Linux standar dengan perintah berikut. Ganti username dengan nama pengguna yang Anda inginkan.

sudo adduser username

Anda akan diminta untuk mengatur kata sandi Unix. Setelah itu, Anda juga perlu mengatur kata sandi Samba terpisah untuk pengguna baru dengan perintah berikut:

sudo smbpasswd -a username

Buat grup samba.

sudo groupadd samba

Dan tambahkan pengguna ini ke grup samba.

sudo gpasswd -a username samba

Buat folder berbagi pribadi.

sudo mkdir -p /srv/samba/private/

Grup samba harus memiliki izin membaca, menulis, dan mengeksekusi di folder bersama. Anda dapat memberikan izin ini dengan menjalankan perintah berikut. (Jika sistem Anda tidak memiliki setfacl perintah, Anda perlu menginstal acl paket dengan sudo apt install acl .)

sudo setfacl -R -m "g:samba:rwx" /srv/samba/private/

Selanjutnya, jalankan perintah berikut untuk memeriksa apakah ada kesalahan sintaksis.

testparm

Sekarang yang harus dilakukan adalah memulai ulang smbd dan nmbd daemon.

sudo systemctl restart smbd nmbd

Cara Membuat Share Publik Samba Tanpa Otentikasi

Untuk membuat share publik tanpa memerlukan nama pengguna dan kata sandi, kondisi berikut harus dipenuhi.

  • Setel security = user di bagian global file konfigurasi Samba. Meskipun Anda dapat membuat share publik dengan security = share mode, tetapi mode keamanan ini tidak digunakan lagi. Sangat disarankan agar Anda menghindari share modus.
  • Setel map to guest = bad user di bagian global file konfigurasi Samba. Ini akan menyebabkan smbd untuk menggunakan akun tamu untuk mengautentikasi klien yang tidak memiliki akun terdaftar di server Samba. Karena ini adalah akun tamu, klien Samba tidak perlu memasukkan kata sandi.
  • Setel guest ok = yes dalam definisi berbagi untuk mengizinkan akses tamu.
  • Berikan izin membaca, menulis, dan mengeksekusi folder publik kepada nobody akun, yang merupakan akun tamu default.

Faktanya, dua kondisi pertama sudah terpenuhi karena Samba secara default menggunakan dua pengaturan ini.

Berikut panduan langkah demi langkah untuk membuat share publik. Pertama, buka dan edit file konfigurasi Samba.

sudo nano /etc/samba/smb.conf

Dalam [global] bagian, pastikan nilai workgroup sama dengan pengaturan workgroup komputer Windows.

workgroup = WORKGROUP

Anda dapat menemukan pengaturan di komputer Windows Anda dengan masuk ke Control Panel> System and Security> System .

Kemudian gulir ke bawah ke bagian bawah file dan rekatkan baris berikut.

[public]

comment = public share, no need to enter username and password
path = /srv/samba/public/
browseable = yes
writable = yes
guest ok = yes

Simpan dan tutup file. Selanjutnya, buat /srv/samba/public/ folder.

sudo mkdir -p /srv/samba/public

Kemudian pastikan nobody akun telah membaca, menulis, dan menjalankan izin pada folder publik dengan menjalankan perintah berikut. (Jika sistem Anda tidak memiliki setfacl perintah, Anda perlu menginstal acl paket dengan sudo apt install acl .)

sudo setfacl -R -m "u:nobody:rwx" /srv/samba/public/

Mulai ulang smbd dan nmbd.

sudo systemctl restart smbd nmbd

Mengakses Folder Bersama Samba Dari Windows

Pada komputer Windows yang berada di jaringan yang sama, buka File Explorer dan klik Network di panel kiri. Jika Anda melihat pesan berikut, maka Anda perlu mengklik pesan tersebut dan mengaktifkan penemuan jaringan dan berbagi file.

File sharing is turned off. Some network computers and devices might not be visible.

Selanjutnya, masukkan \\ diikuti dengan alamat IP server Samba di bilah alamat File Explorer, seperti ini:\\192.168.0.102 . Anda akan melihat daftar sumber daya bersama di server Samba.

Kemudian klik dua kali folder bersama. Untuk mengakses private share, Anda harus memasukkan username dan password samba. Anda tidak perlu melakukannya untuk mengakses berbagi publik.

Setelah terhubung, Anda dapat membaca, menulis, dan menghapus file di folder bersama Samba.

Kesalahan Menghubungkan

Jika Anda mendapatkan kesalahan berikut:

You do not have permission to access \\hostname\share-name. Contact your network administrator to request access.

Anda dapat mencoba menyambungkan ke Samba share dari command prompt. Buka prompt perintah, lalu jalankan perintah berikut untuk menutup sesi Samba saat ini.

net use \\samba-server-ip\share-name /delete

Selanjutnya, sambungkan ke Samba share dengan perintah berikut:

net use \\samba-server-ip\share-name /user:samba-username password

Setelah perintah di atas berhasil diselesaikan, buka tab Jaringan di File Explorer dan sekarang Anda seharusnya dapat mengakses berbagi Samba.

Pemetaan Drive di Windows

Salah satu fitur dari sistem operasi Windows adalah kemampuan untuk memetakan huruf drive (seperti S :) ke direktori jarak jauh. Untuk memetakan huruf drive S: untuk berbagi Samba, klik kanan folder bersama Samba dan pilih Peta drive jaringan . Kemudian pilih huruf drive dan klik Selesai.

Setelah pemetaan drive dibuat, aplikasi dapat mengakses file di share Samba melalui huruf drive S: . Dan share Samba ini akan dipasang secara otomatis saat Anda masuk ke komputer Windows Anda.

Mengakses Folder Berbagi Samba di Nautilus File Manager di Linux

Jika Anda menggunakan pengelola file Nautilus, klik Other Locations di panel kiri. Di bagian bawah, Anda akan melihat opsi untuk menghubungkan ke server . Untuk mengakses share Samba Anda, ketik smb:// diikuti dengan alamat IP server Samba dan tekan Enter. Misalnya:

  • smb://192.168.0.102

Anda akan melihat daftar sumber daya bersama di server Samba.

Jika Anda mengklik folder bersama pribadi, maka Anda harus memasukkan nama pengguna dan kata sandi Samba. Jika Anda mengeklik folder bersama publik, lalu pilih untuk menyambungkan sebagai Anonim.

Jika Anda melihat pesan kesalahan berikut,

failed to retrieve share list from server

Anda dapat mencoba memperbaiki kesalahan ini dengan memasang share Samba dari baris perintah, yang dibahas di bawah.

Secara Otomatis Mount Samba Share Dari Command Line di Linux

Catatan :Secara otomatis memasang Samba share dilakukan pada klien. Perintah ini harus dijalankan pada klien Samba, jika klien Samba menjalankan Linux. Anda tidak boleh melakukannya di server Samba itu sendiri.

Jika Anda perlu me-mount share Samba secara otomatis saat boot, Anda dapat menggunakan baris perintah untuk me-mount dan kemudian menambahkan entri di /etc/fstab mengajukan. Untuk melakukannya, Anda perlu menginstal cifs-utils paket.

CentOS/RHEL

sudo dnf install cifs-utils

Debian/Ubuntu

sudo apt install cifs-utils

Kemudian buat titik mount untuk share Samba.

sudo mkdir /mnt/samba-private

Sekarang Anda dapat menggunakan perintah berikut untuk memasang folder bersama pribadi.

sudo mount -t cifs -o username=your_samba_username //192.168.0.102/private /mnt/samba-private/

Ini akan meminta Anda untuk memasukkan kata sandi Samba. Setelah itu akan di-mount di /mnt/samba-private/ direktori.

Untuk memasang share Samba secara otomatis, edit /etc/fstab berkas.

sudo nano /etc/fstab

Tambahkan baris berikut ke dalam file.

//192.168.0.102/private  /mnt/samba-private   cifs    x-systemd.automount,_netdev,credentials=/etc/samba-credential.conf,uid=1000,gid=1000,x-gvfs-show   0   0

Dimana:

  • //192.168.0.102/private :alamat IP server Samba dan nama berbagi.
  • /mnt/samba-private :titik pemasangan untuk bagian Samba.
  • cif :jenis sistem file
  • x-systemd.automount :Opsi ini memberitahu systemd untuk membuat unit automount untuk sistem file. Kami menggunakan ini karena memastikan sistem file jarak jauh dipasang hanya setelah ada akses jaringan.
  • _netdev :Ini menentukan bahwa pemasangan memerlukan jaringan.
  • kredensial= :Linux harus mencari kredensial di /etc/samba-credential.conf berkas.
  • uid=1000,gid=1000 :Secara default, sistem file yang dipasang akan dimiliki oleh pengguna root. Kami menggunakan uid dan gid untuk mengubah kepemilikan sistem file. Biasanya Anda menggunakan uid Anda sendiri dan gid , yang keduanya 1000 secara default.
  • x-gvfs-show :Jika Anda menggunakan lingkungan desktop GNOME atau turunannya, Anda dapat menggunakan opsi ini untuk menampilkan sistem file yang terpasang di pengelola file.

Simpan dan tutup file. Kemudian buat file kredensial.

sudo nano /etc/samba-credential.conf

Tambahkan baris berikut dalam file.

username=your_samba_username
password=samba_password
domain=WORKGROUP

Simpan dan tutup file. Pastikan hanya pengguna root yang dapat membaca file ini.

sudo chmod 600 /etc/samba-credential.conf

Jika Anda me-restart komputer Linux Anda sekarang, share Samba akan dipasang secara otomatis. Anda juga dapat menjalankan perintah berikut untuk memasang share Samba tanpa memulai ulang.

sudo mount -a

Jika Anda melihat kesalahan izin ditolak dan Anda dapat menemukan baris berikut dengan menjalankan sudo dmesg perintah,

VFS: cifs_mount failed w/return code = -13

mungkin karena Anda salah ketik di /etc/samba-credential berkas.

Tidak Bisa Menulis ke Samba Share?

Mount CIFS yang dijelaskan di atas memungkinkan Anda untuk menulis ke share Samba. Jika Anda melihat kesalahan berikut saat membuat file:

Read-only file system

Periksa apakah Anda menyetel writable = yes dalam file konfigurasi Samba. Terkadang, folder bersama Samba ada di hard drive eksternal, lalu pastikan Anda memasang hard drive eksternal dalam mode baca-tulis di server Samba. Misalnya, saya memasang btrfs . saya hard drive dengan baris berikut di /etc/fstab.

LABEL=5TB   /mnt/5TB   btrfs   defaults   0   0

Ternyata defaults opsi tidak mengizinkan operasi tulis. Untuk membuatnya dapat ditulis, tambahkan rw pilihan.

LABEL=5TB   /mnt/5TB   btrfs   defaults,rw   0   0

Kemudian lepaskan hard drive. Anda perlu menggunakan titik pemasangan Anda sendiri.

sudo umount /mnt/5TB

Dan pasang lagi.

sudo mount -a

Kiat Pemecahan Masalah

Jika server Samba Anda tidak berfungsi seperti yang diharapkan, Anda dapat memeriksa file log di bawah /var/log/samba/ direktori. Anda dapat menambahkan baris berikut di [global] bagian /etc/samba/smb.conf file untuk meningkatkan level log jika Anda ingin mencatat lebih banyak informasi.

log level = 2

Ubuntu
  1. Cara Menginstal dan Mengkonfigurasi Server DHCP di Ubuntu 20.04

  2. Cara Menginstal Dan Mengkonfigurasi Server Redis Di Ubuntu

  3. Bagaimana cara menginstal dan mengkonfigurasi samba di linux Ubuntu?

  1. Cara Menginstal dan Mengonfigurasi Server NFS di Ubuntu 20.04

  2. Cara Menginstal dan Mengkonfigurasi VNC di Ubuntu 20.04

  3. Cara Menginstal dan Mengkonfigurasi VNC di Ubuntu 18.04

  1. Cara Menginstal dan Mengonfigurasi Samba di Ubuntu 18.04

  2. Cara Menginstal dan Mengkonfigurasi Squid Proxy di Ubuntu 18.04

  3. Cara Menginstal dan Mengonfigurasi Server NFS di Ubuntu 18.04