Android

Bagaimana untuk memasang dan mengkonfigurasi samba pada ubuntu 18.04

Cara mudah konfigurasi samba di Ubuntu 18.04LTS

Cara mudah konfigurasi samba di Ubuntu 18.04LTS

Isi kandungan:

Anonim

Samba adalah pelaksanaan semula percuma dan sumber terbuka protokol perkongsian fail rangkaian SMB / CIFS yang membolehkan pengguna akhir mengakses fail, pencetak, dan sumber yang dikongsi bersama.

Tutorial ini menerangkan cara memasang Samba di Ubuntu 18.04 dan mengkonfigurasinya sebagai pelayan yang berdiri sendiri untuk menyediakan perkongsian fail ke seluruh sistem pengendalian yang berbeza melalui rangkaian.

Kami akan membuat saham dan pengguna Samba berikut.

Pengguna:

  • sadmin - Pengguna pentadbiran dengan membaca dan menulis akses kepada semua saham. josh - Pengguna biasa dengan bahagian fail peribadinya sendiri.

Saham:

  • pengguna - Bahagian ini boleh diakses dengan kebenaran baca / tulis oleh semua pengguna. josh - Bahagian ini boleh diakses dengan kebenaran baca / tulis hanya oleh pengguna josh dan sadmin.

Saham fail boleh diakses dari semua peranti di rangkaian anda. Kemudian dalam tutorial ini, kami juga akan memberikan arahan terperinci tentang bagaimana untuk menyambung ke pelayan Samba dari pelanggan Linux, Windows dan macOS.

Prasyarat

Sebelum meneruskan, pastikan anda log masuk ke sistem Ubuntu 18.04 anda sebagai pengguna dengan keistimewaan sudo.

Memasang Samba di Ubuntu

Samba boleh didapati dari repositori Ubuntu rasmi. Untuk memasangnya di sistem Ubuntu anda ikuti langkah-langkah berikut:

  1. Mulakan dengan mengemas kini indeks pakej apt:

    sudo apt update

    Pasang pakej Samba dengan arahan berikut:

    sudo apt install samba

    Setelah pemasangan selesai, perkhidmatan Samba akan bermula secara automatik. Untuk memeriksa sama ada pelayan Samba sedang berjalan, ketik:

    sudo systemctl status smbd

    Output seharusnya kelihatan seperti di bawah yang menunjukkan bahawa perkhidmatan 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 ketika ini, Samba telah dipasang dan siap dikonfigurasi.

Mengkonfigurasi firewall

Dengan menganggap bahawa anda menggunakan UFW untuk menguruskan firewall anda, anda boleh membuka port dengan membolehkan profil 'Samba':

sudo ufw allow 'Samba'

Mengkonfigurasi Pilihan Samba Global

Sebelum membuat perubahan kepada fail konfigurasi Samba, buat sandaran untuk tujuan rujukan masa hadapan:

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

Fail konfigurasi lalai yang dihantar dengan pakej Samba dikonfigurasi untuk pelayan Samba yang berdiri sendiri. Buka fail dan pastikan server role ditetapkan kepada 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 lalai, Samba mendengar pada semua antara muka. Sekiranya anda ingin menyekat akses kepada pelayan Samba hanya dari rangkaian dalaman anda, jangan baca dua baris berikut dan tetapkan antara muka untuk mengikat:

/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 menjalankan utiliti testparm untuk memeriksa fail konfigurasi Samba untuk kesalahan. Sekiranya tiada ralat sintaks anda akan melihat Loaded services file OK.

Akhir sekali, mulakan semula perkhidmatan Samba dengan:

sudo systemctl restart smbd sudo systemctl restart nmbd

Mewujudkan Samba Pengguna dan Struktur Direktori

Untuk memudahkan pemeliharaan dan fleksibiliti daripada menggunakan direktori rumah standard ( /home/user ) semua direktori dan data Samba akan ditempatkan di direktori /samba .

Untuk membuat jenis direktori /samba :

sudo mkdir /samba

Tetapkan pemilikan kumpulan untuk sambashare . Kumpulan ini dibuat semasa pemasangan Samba, kemudian kami akan menambah semua pengguna Samba ke kumpulan ini.

sudo chgrp sambashare /samba

Samba menggunakan pengguna Linux dan sistem kebenaran kumpulan tetapi mempunyai mekanisme pengesahan sendiri yang terpisah dari pengesahan Linux standard. Kami akan mencipta pengguna menggunakan alat useradd Linux standard dan kemudian menetapkan kata laluan pengguna dengan utiliti smbpasswd .

Seperti yang telah kami sebutkan dalam pengenalan, kami akan membuat pengguna tetap yang akan mempunyai akses ke bahagian fail peribadi dan satu akaun pentadbiran dengan akses membaca dan menulis ke semua saham pada pelayan Samba.

Mencipta Pengguna Samba

Untuk membuat pengguna baru bernama josh gunakan arahan berikut:

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

Pilihan pengguna mempunyai arti berikut:

  • -M -do tidak membuat direktori rumah pengguna. Kami akan membuat direktori ini secara manual. -d /samba/josh - tetapkan direktori rumah pengguna kepada /samba/josh . -s /usr/sbin/nologin - melumpuhkan akses shell untuk pengguna ini. -G sambashare - tambahkan pengguna ke kumpulan sambashare .

Buat direktori rumah pengguna dan tetapkan pemilikan direktori kepada pengguna josh dan sambashare kumpulan:

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

Perintah berikut akan menambah bit setgid ke direktori /samba/josh supaya fail yang baru dibuat dalam direktori ini akan mewarisi kumpulan induk direktori. Dengan cara ini, tidak kira pengguna membuat fail baru, fail tersebut akan mempunyai pemilik kumpulan sambashare . Sebagai contoh, jika anda tidak menetapkan keizinan direktori kepada 2770 dan pengguna sadmin mencipta fail baru pengguna josh tidak akan dapat membaca / menulis ke fail ini.

sudo chmod 2770 /samba/josh

Tambah akaun pengguna josh ke pangkalan data Samba dengan menetapkan kata laluan pengguna:

sudo smbpasswd -a josh

Anda akan diminta memasukkan dan mengesahkan kata laluan pengguna.

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

Sebaik sahaja kata laluan ditetapkan untuk mendayakan akaun Samba:

sudo smbpasswd -e josh

Enabled user josh.

Untuk membuat pengguna lain mengulangi proses yang sama seperti ketika membuat pengguna josh .

Seterusnya, mari buat pengguna dan kumpulan sadmin . Semua ahli kumpulan ini akan mempunyai keizinan pentadbiran. Kemudian jika anda mahu memberikan kebenaran pentadbiran kepada pengguna lain, tambah pengguna itu kepada kumpulan sadmin .

Buat pengguna pentadbiran dengan menaip:

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

Perintah di atas juga akan mewujudkan sadmin kumpulan dan menambah pengguna kepada kedua-dua kumpulan sambashare dan sambashare .

Tetapkan kata laluan dan dayakan pengguna:

sudo smbpasswd -a sadmin sudo smbpasswd -e sadmin

Seterusnya, buat direktori Kongsi Users :

sudo mkdir /samba/users

Tetapkan pemilikan direktori kepada pengguna sadmin dan kumpulan sambashare :

sudo chown sadmin:sambashare /samba/users

Direktori ini boleh diakses oleh semua pengguna yang disahkan. Perintah chmod berikut memberikan akses tulis / baca kepada ahli kumpulan sambashare dalam direktori /samba/users :

sudo chmod 2770 /samba/users

Mengkonfigurasi Saham Samba

Buka fail konfigurasi Samba dan tambah bahagian:

sudo nano /etc/samba/smb.conf /etc/samba/smb.conf

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

Opsyen mempunyai makna berikut:

  • dan - Nama-nama saham yang akan anda gunakan semasa log masuk. - Laluan ke bahagian. browseable - Sama ada bahagian itu harus disenaraikan dalam senarai saham yang tersedia. Dengan menetapkan kepada pengguna lain tidak akan dapat melihat bahagian tersebut. read only - Sama ada pengguna yang ditentukan dalam senarai valid users boleh menulis ke bahagian ini. force create mode - Menetapkan kebenaran untuk fail yang baru dibuat dalam bahagian ini. force directory mode - Menetapkan kebenaran untuk direktori yang baru dibuat dalam bahagian ini. valid users - Senarai pengguna dan kumpulan yang dibenarkan mengakses bahagian ini. Kumpulan diawali dengan simbol @ .

Untuk maklumat lanjut mengenai pilihan yang ada, lihat halaman dokumentasi fail konfigurasi Samba.

Setelah selesai, mulakan semula perkhidmatan Samba dengan:

sudo systemctl restart smbd sudo systemctl restart nmbd

Dalam bahagian berikut, kami akan menunjukkan kepada anda bagaimana untuk menyambung ke bahagian Samba dari pelanggan Linux, macOS dan Windows.

Menyambung ke Samba Share dari Linux

Pengguna Linux boleh mengakses bahagian samba dari baris perintah, menggunakan pengurus fail atau melancarkan bahagian Samba.

Menggunakan pelanggan smbclient

smbclient adalah alat yang membolehkan anda mengakses Samba dari baris arahan. Pakej smbclient tidak dipasang pada kebanyakan distro Linux supaya anda perlu memasangnya dengan pengurus pakej pengedaran anda.

Untuk memasang smbclient pada Ubuntu dan Debian run:

sudo apt install smbclient

Untuk memasang smbclient pada CentOS dan Fedora lari:

sudo yum install samba-client

Sintaks untuk mengakses bahagian Samba adalah seperti berikut:

mbclient //samba_hostname_or_server_ip/share_name -U username

Contohnya untuk menyambung ke bahagian bernama josh pada pelayan Samba dengan alamat IP 192.168.121.118 sebagai josh pengguna yang akan anda jalankan:

smbclient //192.168.121.118/josh -U josh

Anda akan diminta memasukkan kata laluan pengguna.

Enter WORKGROUP\josh's password:

Sebaik sahaja anda memasukkan kata laluan anda akan masuk ke dalam antara muka baris perintah Samba.

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

Memasang bahagian Samba

Untuk memasang bahagian Samba pada Linux terlebih dahulu, anda perlu memasang cifs-utils .

Pada Ubuntu dan Debian dijalankan:

sudo apt install cifs-utils

Pada CentOS dan Fedora lari:

sudo yum install cifs-utils

Seterusnya, buat titik gunung:

sudo mkdir /mnt/smbmount

Pasang bahagian menggunakan arahan berikut:

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

Contohnya untuk melancarkan bahagian bernama josh pada pelayan Samba dengan alamat IP 192.168.121.118 sebagai josh pengguna ke titik mount /mnt/smbmount anda jalankan:

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

Anda akan diminta memasukkan kata laluan pengguna.

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

Menggunakan GUI

Fail, pengurus fail lalai di Gnome mempunyai pilihan terbina dalam untuk mengakses saham Samba.

  1. Buka Fail dan klik pada "Lokasi Lain" di bar sisi.Dalam "Connect to Server", masukkan alamat bahagian Samba dalam format berikut smb://samba_hostname_or_server_ip/sharename "Connect" dan skrin berikut akan muncul:

Kesimpulannya

Dalam tutorial ini, anda telah belajar cara memasang pelayan Samba di Ubuntu 18.04 dan membuat pelbagai jenis pengguna dan pengguna. Kami juga telah menunjukkan kepada anda bagaimana untuk menyambung ke pelayan Samba dari Linux, macOS dan peranti Windows.

samba ubuntu