GNU/Linux >> Belajar Linux >  >> Ubuntu

Cara Menginstal dan Mengonfigurasi Samba di Ubuntu 18.04

Samba adalah implementasi ulang gratis dan sumber terbuka dari protokol berbagi file jaringan SMB/CIFS yang memungkinkan pengguna akhir mengakses file, printer, dan sumber daya bersama lainnya.

Tutorial ini menjelaskan cara menginstal Samba di Ubuntu 18.04 dan mengonfigurasinya sebagai server mandiri untuk menyediakan berbagi file di berbagai sistem operasi melalui jaringan.

Kami akan membuat share dan pengguna Samba berikut.

Pengguna:

  • sadmin - Pengguna administratif dengan akses baca dan tulis ke semua pembagian.
  • josh - Pengguna biasa dengan berbagi file pribadinya sendiri.

Dibagikan:

  • pengguna - Pembagian ini akan dapat diakses dengan izin baca/tulis oleh semua pengguna.
  • josh - Pembagian ini hanya dapat diakses dengan izin baca/tulis oleh pengguna josh dan sadmin.

Berbagi file akan dapat diakses dari semua perangkat di jaringan Anda. Nanti dalam tutorial ini, kami juga akan memberikan petunjuk terperinci tentang cara menghubungkan ke server Samba dari klien Linux, Windows, dan macOS.

Prasyarat #

Sebelum melanjutkan, pastikan Anda masuk ke sistem Ubuntu 18.04 Anda sebagai pengguna dengan hak istimewa sudo.

Menginstal Samba di Ubuntu #

Samba tersedia dari repositori resmi Ubuntu. Untuk menginstalnya di sistem Ubuntu Anda, ikuti langkah-langkah di bawah ini:

  1. Mulailah dengan memperbarui indeks paket apt:

    sudo apt update
  2. Instal paket Samba dengan perintah berikut:

    sudo apt install samba
  3. Setelah instalasi selesai, layanan Samba akan dimulai secara otomatis. Untuk memeriksa apakah server Samba sedang berjalan, ketik:

    sudo systemctl status smbd

    Outputnya akan terlihat seperti di bawah ini yang menunjukkan bahwa layanan Samba aktif dan berjalan:

    ● smbd.service - Samba SMB Daemon
       Loaded: loaded (/lib/systemd/system/smbd.service; enabled; vendor preset: enabled)
       Active: active (running) since Wed 2019-11-27 09:25:38 UTC; 2min 12s ago
         Docs: man:smbd(8)
               man:samba(7)
               man:smb.conf(5)
     Main PID: 15142 (smbd)
       Status: "smbd: ready to serve connections..."
        Tasks: 4 (limit: 1152)
       CGroup: /system.slice/smbd.service
    ...

Pada titik ini, Samba telah diinstal dan siap untuk dikonfigurasi.

Mengonfigurasi firewall #

Jika Anda memiliki firewall yang berjalan di sistem Ubuntu Anda, Anda harus mengizinkan koneksi UDP yang masuk pada port 137 dan 138 dan koneksi TCP pada port 139 dan 445 .

Dengan asumsi Anda menggunakan UFW untuk mengelola firewall, Anda dapat membuka port dengan mengaktifkan profil 'Samba':

sudo ufw allow 'Samba'

Mengonfigurasi Opsi Samba Global #

Sebelum membuat perubahan pada file konfigurasi Samba, buat cadangan untuk tujuan referensi di masa mendatang:

sudo cp /etc/samba/smb.conf{,.backup}

File konfigurasi default yang dikirimkan dengan paket Samba dikonfigurasi untuk server Samba mandiri. Buka file dan pastikan server role diatur ke standalone server

sudo nano /etc/samba/smb.conf
/etc/samba/smb.conf
...
# Most people will want "standalone sever" or "member server".
# Running as "active directory domain controller" will require first
# running "samba-tool domain provision" to wipe databases and create a
# new domain.
   server role = standalone server
...

Secara default, Samba mendengarkan di semua antarmuka. Jika Anda ingin membatasi akses ke server Samba hanya dari jaringan internal Anda, batalkan komentar pada dua baris berikut dan tentukan antarmuka yang akan diikat:

/etc/samba/smb.conf
...
# The specific set of interfaces / networks to bind to
# This can be either the interface name or an IP address/netmask;
# interface names are normally preferred
interfaces = 127.0.0.0/8 eth0

# Only bind to the named interfaces and/or networks; you must use the
# 'interfaces' option above to use this.
# It is recommended that you enable this feature if your Samba machine is
# not protected by a firewall or is a firewall itself.  However, this
# option cannot handle dynamic or non-broadcast interfaces correctly.
bind interfaces only = yes
...

Setelah selesai jalankan testparm utilitas untuk memeriksa file konfigurasi Samba untuk kesalahan. Jika tidak ada kesalahan sintaks, Anda akan melihat Loaded services file OK.

Terakhir, restart layanan Samba dengan:

sudo systemctl restart smbdsudo systemctl restart nmbd

Membuat Pengguna Samba dan Struktur Direktori #

Untuk kemudahan perawatan dan fleksibilitas daripada menggunakan direktori home standar (/home/user ) semua direktori dan data Samba akan ditempatkan di /samba direktori.

Untuk membuat /samba jenis direktori:

sudo mkdir /samba

Setel kepemilikan grup ke sambashare . Grup ini dibuat saat instalasi Samba, nanti kami akan menambahkan semua pengguna Samba ke grup ini.

sudo chgrp sambashare /samba

Samba menggunakan sistem izin pengguna dan grup Linux tetapi memiliki mekanisme otentikasi sendiri yang terpisah dari otentikasi Linux standar. Kami akan membuat pengguna menggunakan useradd standar Linux alat dan kemudian atur kata sandi pengguna dengan smbpasswd utilitas.

Seperti yang kami sebutkan di pendahuluan, kami akan membuat pengguna biasa yang akan memiliki akses ke file share pribadinya dan satu akun administratif dengan akses baca dan tulis ke semua share di server Samba.

Membuat Pengguna Samba #

Untuk membuat pengguna baru bernama josh gunakan perintah berikut:

sudo useradd -M -d /samba/josh -s /usr/sbin/nologin -G sambashare josh

useradd pilihan memiliki arti sebagai berikut:

  • -M -jangan membuat direktori home pengguna. Kami akan membuat direktori ini secara manual.
  • -d /samba/josh - setel direktori home pengguna ke /samba/josh .
  • -s /usr/sbin/nologin - nonaktifkan akses shell untuk pengguna ini.
  • -G sambashare - tambahkan pengguna ke sambashare grup.

Buat direktori home pengguna dan atur kepemilikan direktori ke josh pengguna dan grup sambashare :

sudo mkdir /samba/joshsudo chown josh:sambashare /samba/josh

Perintah berikut akan menambahkan bit setgid ke /samba/josh direktori sehingga file yang baru dibuat di direktori ini akan mewarisi grup direktori induk. Dengan cara ini, tidak peduli pengguna mana yang membuat file baru, file tersebut akan memiliki pemilik grup sambashare . Misalnya, jika Anda tidak menyetel izin direktori ke 2770 dan sadmin pengguna membuat file baru pengguna josh tidak akan dapat membaca/menulis ke file ini.

sudo chmod 2770 /samba/josh

Tambahkan josh akun pengguna ke database Samba dengan mengatur kata sandi pengguna:

sudo smbpasswd -a josh

Anda akan diminta untuk memasukkan dan mengonfirmasi kata sandi pengguna.

New SMB password:
Retype new SMB password:
Added user josh.

Setelah kata sandi diatur untuk mengaktifkan akun Samba, jalankan:

sudo smbpasswd -e josh
Enabled user josh.

Untuk membuat pengguna lain, ulangi proses yang sama seperti saat membuat pengguna josh .

Selanjutnya, mari kita buat pengguna dan grup sadmin . Semua anggota grup ini akan memiliki izin administratif. Nanti jika Anda ingin memberikan izin administratif ke pengguna lain cukup tambahkan pengguna itu ke sadmin grup.

Buat pengguna administratif dengan mengetik:

sudo useradd -M -d /samba/users -s /usr/sbin/nologin -G sambashare sadmin

Perintah di atas juga akan membuat grup sadmin dan tambahkan pengguna ke keduanya sadmin dan sambashare grup.

Tetapkan kata sandi dan aktifkan pengguna:

sudo smbpasswd -a sadminsudo smbpasswd -e sadmin

Selanjutnya, buat Users berbagi direktori:

sudo mkdir /samba/users

Setel kepemilikan direktori ke pengguna sadmin dan grup sambashare :

sudo chown sadmin:sambashare /samba/users

Direktori ini akan dapat diakses oleh semua pengguna yang diautentikasi. Berikut chmod perintah memberikan akses tulis/baca ke anggota sambashare grup di /samba/users direktori:

sudo chmod 2770 /samba/users

Mengonfigurasi Berbagi Samba #

Buka file konfigurasi Samba dan tambahkan bagian:

sudo nano /etc/samba/smb.conf
/etc/samba/smb.conf
[users]
    path = /samba/users
    browseable = yes
    read only = no
    force create mode = 0660
    force directory mode = 2770
    valid users = @sambashare @sadmin

[josh]
    path = /samba/josh
    browseable = no
    read only = no
    force create mode = 0660
    force directory mode = 2770
    valid users = josh @sadmin

Opsi memiliki arti sebagai berikut:

  • [users] dan [josh] - Nama-nama share yang akan Anda gunakan saat login.
  • path - Jalur untuk berbagi.
  • browseable - Apakah saham tersebut harus dicatatkan dalam daftar saham yang tersedia. Dengan menyetel ke no pengguna lain tidak akan dapat melihat pembagian.
  • read only - Apakah pengguna yang ditentukan dalam valid users list dapat menulis ke share ini.
  • force create mode - Menyetel izin untuk file yang baru dibuat dalam pembagian ini.
  • force directory mode - Menyetel izin untuk direktori yang baru dibuat di share ini.
  • valid users - Daftar pengguna dan grup yang diizinkan untuk mengakses share. Grup diawali dengan @ simbol.

Untuk informasi lebih lanjut tentang opsi yang tersedia, lihat halaman dokumentasi file konfigurasi Samba.

Setelah selesai, restart layanan Samba dengan:

sudo systemctl restart smbdsudo systemctl restart nmbd

Di bagian berikut, kami akan menunjukkan cara menyambungkan ke share Samba dari klien Linux, macOS, dan Windows.

Menghubungkan ke Berbagi Samba dari Linux #

Pengguna Linux dapat mengakses samba share dari baris perintah, menggunakan file manager atau memasang samba share.

Menggunakan klien smbclient #

smbclient adalah alat yang memungkinkan Anda mengakses Samba dari baris perintah. smbclient package tidak diinstal sebelumnya pada sebagian besar distro Linux sehingga Anda perlu menginstalnya dengan manajer paket distribusi Anda.

Untuk menginstal smbclient di Ubuntu dan Debian jalankan:

sudo apt install smbclient

Untuk menginstal smbclient di CentOS dan Fedora jalankan:

sudo yum install samba-client

Sintaks untuk mengakses share Samba adalah sebagai berikut:

mbclient //samba_hostname_or_server_ip/share_name -U username

Misalnya untuk terhubung ke share bernama josh pada server Samba dengan alamat IP 192.168.121.118 sebagai pengguna josh Anda akan menjalankan:

smbclient //192.168.121.118/josh -U josh

Anda akan diminta untuk memasukkan kata sandi pengguna.

Enter WORKGROUP\josh's password: 

Setelah memasukkan kata sandi, Anda akan masuk ke antarmuka baris perintah Samba.

Try "help" to get a list of possible commands.
smb: \>

Memasang bagian Samba #

Untuk me-mount Samba share di Linux terlebih dahulu Anda perlu menginstal cifs-utils paket.

Di Ubuntu dan Debian jalankan:

sudo apt install cifs-utils

Di CentOS dan Fedora jalankan:

sudo yum install cifs-utils

Selanjutnya, buat titik pemasangan:

sudo mkdir /mnt/smbmount

Pasang share menggunakan perintah berikut:

sudo mount -t cifs -o username=username //samba_hostname_or_server_ip/sharename /mnt/smbmount

Misalnya untuk me-mount share bernama josh pada server Samba dengan alamat IP 192.168.121.118 sebagai pengguna josh ke /mnt/smbmount mount point yang akan Anda jalankan:

sudo mount -t cifs -o username=josh //192.168.121.118/josh /mnt/smbmount

Anda akan diminta untuk memasukkan kata sandi pengguna.

Password for josh@//192.168.121.118/josh:  ********

Menggunakan GUI #

Files, pengelola file default di Gnome memiliki opsi bawaan untuk mengakses share Samba.

  1. Buka File dan klik “Lokasi Lain” di bilah sisi.
  2. Pada “Connect to Server”, masukkan alamat share Samba dengan format berikut smb://samba_hostname_or_server_ip/sharename .
  3. Klik “Connect” dan layar berikut akan muncul:
  4. Pilih “Pengguna Terdaftar”, masukkan nama pengguna dan kata sandi Samba, lalu klik “Hubungkan”.
  5. Berkas di server Samba akan ditampilkan.

Menghubungkan ke Berbagi Samba dari macOS #

Di macOS Anda dapat mengakses Samba Shares baik dari baris perintah atau menggunakan Finder pengelola file macOS default. Langkah-langkah berikut menunjukkan cara mengakses berbagi menggunakan Finder.

  1. Buka “Finder”, pilih “Go” dan klik “Connect To”.
  2. Pada “Connect To”, masukkan alamat share Samba dengan format berikut smb://samba_hostname_or_server_ip/sharename .
  3. Klik “Connect” dan layar berikut akan muncul:
  4. Pilih “Pengguna Terdaftar”, masukkan nama pengguna dan kata sandi Samba, lalu klik “Hubungkan”.
  5. Berkas di server Samba akan ditampilkan.

Menghubungkan ke Berbagi Samba dari Windows #

Pengguna Windows juga memiliki opsi untuk terhubung ke Samba share dari baris perintah dan GUI. Langkah-langkah di bawah ini menunjukkan cara mengakses berbagi menggunakan Windows File Explorer.

  1. Buka File Explorer dan di panel kiri klik kanan pada “This PC”.
  2. Pilih “Pilih lokasi jaringan khusus” lalu klik “Berikutnya”.
  3. Dalam “Internet or network address”, masukkan alamat share Samba dengan format berikut \\samba_hostname_or_server_ip\sharename .
  4. Klik “Berikutnya” dan Anda akan diminta untuk memasukkan kredensial login seperti yang ditunjukkan di bawah ini:
  5. Di jendela berikutnya Anda dapat mengetikkan nama khusus untuk lokasi jaringan. Yang default akan diambil oleh server Samba.
  6. Klik “Berikutnya” untuk pindah ke layar terakhir wizard penyiapan koneksi.
  7. Klik “Selesai” dan file di server Samba akan ditampilkan.

Ubuntu
  1. Cara Menginstal dan Mengonfigurasi Redis di Ubuntu 18.04

  2. Cara Menginstal dan Mengkonfigurasi Redmine di Ubuntu 18.04

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

  1. Cara Menginstal dan Mengonfigurasi Redis di Ubuntu 20.04

  2. Cara Menginstal dan Mengonfigurasi Jenkins di Ubuntu 20.04

  3. Cara Menginstal dan Mengonfigurasi Askbot di Ubuntu 16.04

  1. Cara Menginstal dan Mengonfigurasi MongoDB di Ubuntu 14.04

  2. Cara menginstal dan mengkonfigurasi Solr 6 di Ubuntu 16.04

  3. Cara Menginstal dan Mengonfigurasi GitLab di Ubuntu 16.04