GNU/Linux >> Belajar Linux >  >> Cent OS

Siapkan Server Samba di CentOS 8/RHEL 8 untuk Berbagi File

Dalam tutorial ini, kita akan belajar cara menginstal dan mengkonfigurasi server samba di CentOS 8/RHEL8 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 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 CentOS 8/RHEL8

Samba termasuk dalam sebagian besar distribusi Linux. Untuk menginstal Samba di CentOS 8/RHEL8, jalankan perintah berikut di terminal.

sudo dnf install samba

Untuk memeriksa versi Samba Anda, jalankan

smbd --version

Contoh keluaran:

Version 4.10.4

Kemudian jalankan perintah berikut untuk memulai smbd dan nmbd layanan.

sudo systemctl start smb nmb

Aktifkan mulai otomatis saat boot.

sudo systemctl enable smb nmb

Untuk memeriksa apakah layanan Samba berjalan, jalankan perintah berikut.

systemctl status smb nmb

Setelah dimulai, smb daemon 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.

Jalankan perintah berikut untuk membuka port di atas di firewall.

sudo firewall-cmd --permanent --add-service=samba

Muat ulang daemon firwall untuk mengubah efeknya.

sudo systemctl reload firewalld

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

Secara default, ada 4 bagian:

  • global
  • rumah
  • printer
  • cetak$

Dalam [global] bagian, workgroup diatur ke SAMBA secara default.

workgroup = SAMBA

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

Pada artikel ini, saya akan menggunakan nama workgroup default Windows.

workgroup = WORKGROUP

Disarankan untuk menggunakan hosts allow parameter untuk membuat daftar putih alamat IP untuk mencegah akses yang tidak sah. Tambahkan baris berikut di [global] bagian, yang akan memungkinkan localhost dan klien di 192.168.0.0/24 jaringan untuk mengakses layanan Samba. Jika Anda menggunakan jangkauan jaringan yang berbeda, ganti 192.168.0 dengan milik Anda.

hosts allow = 127. 192.168.0

Petunjuk:Anda juga dapat menggunakan notasi CIDR untuk rentang jaringan seperti hosts allow = 127.0.0.1 192.168.0.0/24

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

Dimana:

  • Private adalah nama folder yang akan ditampilkan di komputer Windows. Anda dapat menggunakan nama apa pun yang Anda suka.
  • Komentar adalah deskripsi untuk folder bersama.
  • Parameter jalur menentukan jalur ke folder bersama. Saya menggunakan /srv/samba/private/ sebagai contoh.
  • 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 samba grup.

sudo groupadd samba

Dan tambahkan pengguna ini ke samba grup.

sudo gpasswd -a username samba

Buat folder berbagi pribadi.

sudo mkdir -p /srv/samba/private/

samba grup harus memiliki izin membaca, menulis, dan mengeksekusi pada folder bersama. Anda dapat memberikan izin ini dengan menjalankan perintah berikut.

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

Kita juga perlu melabeli direktori ini dengan samba_share_t sehingga SELinux mengizinkan Samba untuk membaca dan menulis padanya.

sudo chcon -t samba_share_t /srv/samba/private/ -R

Selanjutnya jalankan perintah berikut untuk memeriksa apakah ada kesalahan sintaksis.

testparm

File konfigurasi Samba secara otomatis dimuat ulang setiap menit, jika berubah. Anda dapat memulai ulang smbd secara manual dan nmbd daemon agar perubahan segera diterapkan.

sudo systemctl restart smb nmb

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.
  • 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.

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 .

Tambahkan baris berikut di [global] bagian.

map to guest = bad user

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/public/ folder.

sudo mkdir -p /srv/samba/public

Anda harus mengubah izin folder ini ke 777, jika Anda ingin mengizinkan operasi tulis di share publik.

sudo chmod 777 /srv/samba/public/ -R

Kita juga perlu melabeli direktori ini dengan samba_share_t sehingga SELinux mengizinkan Samba untuk membaca dan menulis padanya.

sudo chcon -t samba_share_t /srv/samba/public/ -R

Mulai ulang smbd dan nmbd.

sudo systemctl restart smb nmb

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 samaba 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

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.

Secara Otomatis Mount Samba Share Dari Command Line di Linux

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 memberi kami kemampuan untuk memasang sistem file jarak jauh 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.

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 bagian [global] dari file /etc/samba/smb.conf untuk meningkatkan level log, jika Anda ingin mencatat informasi lebih lanjut.

log level = 2

Cent OS
  1. Cara Membuat File Kickstart Untuk CentOS/Fedora/RedHat (RHEL)

  2. Cara menginstal Wayang di RHEL 8/CentOS 8

  3. Cara mengatur children-max untuk Layanan udev di CentOS/RHEL 7

  1. CentOS / RHEL 7 :Cara membuka port Firewall untuk server Samba menggunakan FirewallD

  2. Cara Setup Server VNC untuk Pengguna Baru di CentOS/RHEL 5

  3. Cara Mengatur Variabel Lingkungan untuk Layanan systemd di CentOS/RHEL 7

  1. Cara Menginstal OpenLiteSpeed ​​Web Server di CentOS 8/RHEL 8

  2. Konfigurasi Server Samba di CentOS 6.5

  3. Cara Mengatur Alat Berbagi File ProjectSend di CentOS 7